#compdef envstore ## vim:ft=zsh ## completion for envstore release-3 ## Daniel Friesel ## https://derf.homelinux.org/~derf/dotfiles/completion/_envstore ## see also: http://git.cloudconnected.org/?p=envstore.git;a=summary local -a options options_nofile 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' ) options_nofile=( 'save:save parameter' ) function _saved_param () { _wanted parameter expl 'saved parameter' \ compadd $(envstore eval -e | cut -d ' ' -f 2 | cut -d '=' -f 1) } if (( CURRENT >= 3 )) { case ${words[2]} in 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 ]] { _describe command options } else { _describe command options_nofile }