#compdef rualdi autoload -U is-at-least _rualdi() { typeset -A opt_args typeset -a _arguments_options local ret=1 if is-at-least 5.2; then _arguments_options=(-s -S -C) else _arguments_options=(-s -C) fi local context curcontext="$curcontext" state line _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ":: :_rualdi_commands" \ "*::: :->rualdi" \ && ret=0 case $state in (rualdi) words=($line[1] "${words[@]}") (( CURRENT += 1 )) curcontext="${curcontext%:*:*}:rualdi-command-$line[1]:" case $line[1] in (add|a) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':alias -- Alias to path:_files' \ '::path -- Path to aliasing, if not provided current directory is used:_files' \ && ret=0 ;; (add-env|ax) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':alias -- Alias to link:_files' \ '::var -- Environment variable to link on alias, if not provided alias is used:_files' \ && ret=0 ;; (init|i) _arguments "${_arguments_options[@]}" \ '--cmd=[Renames the '\''rad'\'' command and corresponding aliases]' \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':shell:(bash zsh)' \ && ret=0 ;; (list|l|list-alias|la|list-env|lx) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ && ret=0 ;; (remove|r) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ '::alias -- Alias to remove:_files' \ && ret=0 ;; (remove-env|rx) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':alias -- Alias for which to remove the environment variable:_files' \ && ret=0 ;; (resolve|res) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':path -- Path to resolve alias:_files' \ && ret=0 ;; (resolve-env|resx) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':alias -- Alias for which to find environment variable:_files' \ && ret=0 ;; (completions|comp) _arguments "${_arguments_options[@]}" \ '-h[Prints help information]' \ '--help[Prints help information]' \ '-V[Prints version information]' \ '--version[Prints version information]' \ ':comp-type -- Variable type to list for help with completions:(alias env shell)' \ '::shell -- Shell to be used for completions (can only be used with shell):(zsh bash)' \ && ret=0 ;; esac ;; esac } (( $+functions[_rualdi_commands] )) || _rualdi_commands() { local commands; commands=( "add:Add new path alias" \ "add-env:Add new environment variable for an alias" \ "init:Generates shell configuration" \ "list:Print aliases with their path and environment variable associated" \ "list-alias:Print alias and its associated path (not colored)" \ "list-env:Print environment variables in format " \ "remove:Remove alias" \ "remove-env:Remove environment variable for a provided alias" \ "resolve:Resolve alias" \ "resolve-env:Resolve enironment variable from alias" \ "completions:Print aliases to be used for completions" \ ) _describe -t commands 'rualdi commands' commands "$@" } _rualdi "$@"