summaryrefslogtreecommitdiff
path: root/etc/completions
diff options
context:
space:
mode:
Diffstat (limited to 'etc/completions')
-rw-r--r--etc/completions/_envstore26
1 files changed, 21 insertions, 5 deletions
diff --git a/etc/completions/_envstore b/etc/completions/_envstore
index 0be548e..2f9c18d 100644
--- a/etc/completions/_envstore
+++ b/etc/completions/_envstore
@@ -1,11 +1,27 @@
#compdef envstore
## vim:ft=zsh
-local arguments
+local arguments_action arguments_save arguments_rm arguments_eval
-arguments=(
- ':action:(clear eval rm save show)'
- ':variable:_parameters -g \*-export'
+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)'
)
-_arguments -s $arguments
+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
+}