Add magnum.bash_completion
This can support the function of autocomplete for magnum's commands Closes-Bug: #1614853 Change-Id: Icdc50fbefa5ec46e608567895b1f74c26c0f5992
This commit is contained in:
		
							
								
								
									
										27
									
								
								tools/magnum.bash_completion
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								tools/magnum.bash_completion
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
_magnum_opts="" # lazy init
 | 
			
		||||
_magnum_flags="" # lazy init
 | 
			
		||||
_magnum_opts_exp="" # lazy init
 | 
			
		||||
_magnum()
 | 
			
		||||
{
 | 
			
		||||
        local cur prev nbc cflags
 | 
			
		||||
        COMPREPLY=()
 | 
			
		||||
        cur="${COMP_WORDS[COMP_CWORD]}"
 | 
			
		||||
        prev="${COMP_WORDS[COMP_CWORD-1]}"
 | 
			
		||||
 | 
			
		||||
        if [ "x$_magnum_opts" == "x" ] ; then
 | 
			
		||||
                nbc="`magnum bash-completion | sed -e "s/  *-h  */ /" -e "s/  *-i  */ /"`"
 | 
			
		||||
                _magnum_opts="`echo "$nbc" | sed -e "s/--[a-z0-9_-]*//g" -e "s/  */ /g"`"
 | 
			
		||||
                _magnum_flags="`echo " $nbc" | sed -e "s/ [^-][^-][a-z0-9_-]*//g" -e "s/  */ /g"`"
 | 
			
		||||
                _magnum_opts_exp="`echo "$_magnum_opts" | tr ' ' '|'`"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        if [[ " ${COMP_WORDS[@]} " =~ " "($_magnum_opts_exp)" " && "$prev" != "help" ]] ; then
 | 
			
		||||
                COMPLETION_CACHE=~/.magnumclient/*/*-cache
 | 
			
		||||
                cflags="$_magnum_flags "$(cat $COMPLETION_CACHE 2> /dev/null | tr '\n' ' ')
 | 
			
		||||
                COMPREPLY=($(compgen -W "${cflags}" -- ${cur}))
 | 
			
		||||
        else
 | 
			
		||||
                COMPREPLY=($(compgen -W "${_magnum_opts}" -- ${cur}))
 | 
			
		||||
        fi
 | 
			
		||||
        return 0
 | 
			
		||||
}
 | 
			
		||||
complete -F _magnum magnum
 | 
			
		||||
		Reference in New Issue
	
	Block a user