write simple git completion for bash
This commit is contained in:
		
							parent
							
								
									c703a6f0df
								
							
						
					
					
						commit
						45f04eaa57
					
				
					 2 changed files with 20 additions and 0 deletions
				
			
		
							
								
								
									
										19
									
								
								bashrc
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								bashrc
									
										
									
									
									
								
							|  | @ -28,10 +28,29 @@ unset GREEN | |||
| unset RESET | ||||
| 
 | ||||
| # Completion | ||||
| _comp_git() { | ||||
|     local IFS=$'\n' | ||||
|     # $1 is the name of the command whose arguments are being completed | ||||
|     # $2 is the word being completed | ||||
|     # $3 is the word preceding the word being completed | ||||
| 
 | ||||
|     # branch names | ||||
|     COMPREPLY=( $(git branch -a --format "%(refname:short)" | grep "^$2") ) | ||||
| 
 | ||||
|     # remotes | ||||
|     COMPREPLY+=( $(git remote | grep "^$2") ) | ||||
| 
 | ||||
|     # subcommands | ||||
|     if [ "$3" = "git" ]; then | ||||
|         COMPREPLY+=( $({ compgen -c "git-"; command ls /usr/libexec/git-core; } | sed -n 's/^git-//p' | grep "^$2") ) | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| complete -c man | ||||
| complete -cf sudo | ||||
| complete -cf exec | ||||
| complete -cf run | ||||
| complete -fF _comp_git git | ||||
| 
 | ||||
| # history | ||||
| export HISTCONTROL=ignorespace:erasedups | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Felix Van der Jeugt
						Felix Van der Jeugt