diff options
| -rw-r--r-- | provides/zsh/completions/_envstore | 37 | 
1 files changed, 14 insertions, 23 deletions
| diff --git a/provides/zsh/completions/_envstore b/provides/zsh/completions/_envstore index de39efb..19c4e7d 100644 --- a/provides/zsh/completions/_envstore +++ b/provides/zsh/completions/_envstore @@ -5,27 +5,18 @@  ## https://derf.homelinux.org/~derf/dotfiles/completion/_envstore  ## see also: http://git.cloudconnected.org/?p=envstore.git;a=summary -local -a arguments_action arguments_action_nofile -local -a arguments_save arguments_rm arguments_eval +local -a options options_nofile -arguments_action=( -	'1:action:(clear eval rm save show)' -) -arguments_action_nofile=( -	'1:action:(save)' +options=( +	'clear:forget stored parameters' +	'eval:generate shell code to set parameters' +	'list:list saved parameters in human-readable format' +	'rm:delete saved parameter' +	'save:save parameter'  ) -# envstore can't handle arrays, so only complete scalars and integers. -# Also, don't complete parameters marked 'special', since they're usually -# specific to the current shell -arguments_save=( -	'2:parameter:_parameters -g "(scalar|integer)*export"' -) -arguments_rm=( -	'2:saved parameter:_saved_param' -) -arguments_eval=( -	'2::option:(-e)' +options_nofile=( +	'save:save parameter'  )  function _saved_param () { @@ -35,12 +26,12 @@ function _saved_param () {  if (( CURRENT >= 3 )) {  	case ${words[2]} in  -		eval)  _arguments -s $arguments_eval ;; -		rm)    _arguments -s $arguments_rm ;; -		save)  _arguments -s $arguments_save ;; +		eval)  _arguments -s '2::option:(-e)' ;; +		rm)    _arguments -s '2:saved parameter:_saved_param' ;; +		save)  _arguments -s '2:parameter:_parameters -g "(scalar|integer)*export"' ;;  	esac  } elif [[ -r /tmp/envstore-$UID ]] { -	_arguments -s $arguments_action +	_describe command options  } else { -	_arguments -s $arguments_action_nofile +	_describe command options_nofile  } | 
