40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #compdef gas
 | |
| 
 | |
| local curcontext="$curcontext" state line cmds ret=1
 | |
| 
 | |
| _arguments -C \
 | |
| 	'(- 1 *)'{-v,--version}'[display version information]' \
 | |
| 	'(-h|--help)'{-h,--help}'[show help information]' \
 | |
| 	'1: :->cmds' \
 | |
| 	'*: :->args' && ret=0
 | |
| 
 | |
| case $state in
 | |
| 	cmds)
 | |
| 		cmds=(
 | |
|             "version:Prints Gas's version"
 | |
|             "use:Uses author"
 | |
|             "ssh:Creates a new ssh key for an existing gas author"
 | |
|             "show:Shows your current user"
 | |
|             "list:Lists your authors"
 | |
|             "import:Imports current user to gasconfig"
 | |
|             "help:Describe available tasks or one specific task"
 | |
|             "delete:Deletes author"
 | |
|             "add:Adds author to gasconfig"
 | |
|         )
 | |
| 		_describe -t commands 'gas command' cmds && ret=0
 | |
| 		;;
 | |
| 	args)
 | |
| 		case $line[1] in
 | |
| 			(use|delete)
 | |
|         VERSION=$(gas -v)
 | |
|         if [[ $VERSION == <1->.*.* ]] || [[ $VERSION == 0.<2->.* ]] || [[ $VERSION == 0.1.<6-> ]] then
 | |
|           _values -S , 'authors' $(cat ~/.gas/gas.authors | sed -n -e 's/^.*\[\(.*\)\]/\1/p') && ret=0
 | |
|         else
 | |
| 				  _values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0
 | |
|         fi
 | |
| 		esac
 | |
| 		;;
 | |
| esac
 | |
| 
 | |
| return ret
 |