28 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| _gyan_opts="" # lazy init
 | |
| _gyan_flags="" # lazy init
 | |
| _gyan_opts_exp="" # lazy init
 | |
| _gyan()
 | |
| {
 | |
|         local cur prev nbc cflags
 | |
|         COMPREPLY=()
 | |
|         cur="${COMP_WORDS[COMP_CWORD]}"
 | |
|         prev="${COMP_WORDS[COMP_CWORD-1]}"
 | |
| 
 | |
|         if [ "x$_gyan_opts" == "x" ] ; then
 | |
|                 nbc="`gyan bash-completion | sed -e "s/  *-h  */ /" -e "s/  *-i  */ /"`"
 | |
|                 _gyan_opts="`echo "$nbc" | sed -e "s/--[a-z0-9_-]*//g" -e "s/  */ /g"`"
 | |
|                 _gyan_flags="`echo " $nbc" | sed -e "s/ [^-][^-][a-z0-9_-]*//g" -e "s/  */ /g"`"
 | |
|                 _gyan_opts_exp="`echo "$_gyan_opts" | tr ' ' '|'`"
 | |
|         fi
 | |
| 
 | |
|         if [[ " ${COMP_WORDS[@]} " =~ " "($_gyan_opts_exp)" " && "$prev" != "help" ]] ; then
 | |
|                 COMPLETION_CACHE=~/.gyanclient/*/*-cache
 | |
|                 cflags="$_gyan_flags "$(cat $COMPLETION_CACHE 2> /dev/null | tr '\n' ' ')
 | |
|                 COMPREPLY=($(compgen -W "${cflags}" -- ${cur}))
 | |
|         else
 | |
|                 COMPREPLY=($(compgen -W "${_gyan_opts}" -- ${cur}))
 | |
|         fi
 | |
|         return 0
 | |
| }
 | |
| complete -F _gyan gyan
 | 
