summaryrefslogtreecommitdiffstats
path: root/zsh/oh-my-zsh/plugins/gas/_gas
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/oh-my-zsh/plugins/gas/_gas')
-rw-r--r--zsh/oh-my-zsh/plugins/gas/_gas39
1 files changed, 39 insertions, 0 deletions
diff --git a/zsh/oh-my-zsh/plugins/gas/_gas b/zsh/oh-my-zsh/plugins/gas/_gas
new file mode 100644
index 0000000..23e6d99
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/gas/_gas
@@ -0,0 +1,39 @@
+#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