summaryrefslogtreecommitdiff
path: root/provides/zsh
diff options
context:
space:
mode:
Diffstat (limited to 'provides/zsh')
-rw-r--r--provides/zsh/completions/_envstore31
1 files changed, 31 insertions, 0 deletions
diff --git a/provides/zsh/completions/_envstore b/provides/zsh/completions/_envstore
new file mode 100644
index 0000000..7df2b3c
--- /dev/null
+++ b/provides/zsh/completions/_envstore
@@ -0,0 +1,31 @@
+#compdef envstore
+## vim:ft=zsh
+## completion for envstore release-3
+## Daniel Friesel <derf@derf.homelinux.org>
+## https://derf.homelinux.org/~derf/dotfiles/zsh/completions/_envstore
+## see also: http://git.cloudconnected.org/?p=envstore.git;a=summary
+
+local arguments_action arguments_save arguments_rm arguments_eval
+
+arguments_action=(
+ '1:action:(clear eval rm save show)'
+)
+arguments_save=(
+ '2:variable:_parameters -g \*-export'
+)
+arguments_rm=(
+ '2:variable:($(envstore eval -e | cut -d " " -f 2 | cut -d "=" -f 1))'
+)
+arguments_eval=(
+ '2::option:(-e)'
+)
+
+if [[ $CURRENT -ge 3 ]] {
+ case ${words[2]} in
+ eval) _arguments -s $arguments_eval ;;
+ rm) _arguments -s $arguments_rm ;;
+ save) _arguments -s $arguments_save ;;
+ esac
+} else {
+ _arguments -s $arguments_action
+}