#compdef zoxide autoload -U is-at-least _zoxide() { 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[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ":: :_zoxide_commands" \ "*::: :->zoxide" \ && ret=0 case $state in (zoxide) words=($line[1] "${words[@]}") (( CURRENT += 1 )) curcontext="${curcontext%:*:*}:zoxide-command-$line[1]:" case $line[1] in (add) _arguments "${_arguments_options[@]}" : \ '-s+[The rank to increment the entry if it exists or initialize it with if it doesn'\''t]:SCORE:_default' \ '--score=[The rank to increment the entry if it exists or initialize it with if it doesn'\''t]:SCORE:_default' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ '*::paths:_files -/' \ && ret=0 ;; (edit) _arguments "${_arguments_options[@]}" : \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ":: :_zoxide__subcmd__edit_commands" \ "*::: :->edit" \ && ret=0 case $state in (edit) words=($line[1] "${words[@]}") (( CURRENT += 1 )) curcontext="${curcontext%:*:*}:zoxide-edit-command-$line[1]:" case $line[1] in (decrement) _arguments "${_arguments_options[@]}" : \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ':path:_default' \ && ret=0 ;; (delete) _arguments "${_arguments_options[@]}" : \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ':path:_default' \ && ret=0 ;; (increment) _arguments "${_arguments_options[@]}" : \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ':path:_default' \ && ret=0 ;; (reload) _arguments "${_arguments_options[@]}" : \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; esac ;; esac ;; (import) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ":: :_zoxide__subcmd__import_commands" \ "*::: :->import" \ && ret=0 case $state in (import) words=($line[1] "${words[@]}") (( CURRENT += 1 )) curcontext="${curcontext%:*:*}:zoxide-import-command-$line[1]:" case $line[1] in (atuin) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; (autojump) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; (fasd) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; (z) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; (z.lua) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; (zsh-z) _arguments "${_arguments_options[@]}" : \ '--merge[Merge into existing database]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ && ret=0 ;; esac ;; esac ;; (init) _arguments "${_arguments_options[@]}" : \ '--cmd=[Changes the prefix of the \`z\` and \`zi\` commands]:CMD:_default' \ '--hook=[Changes how often zoxide increments a directory'\''s score]:HOOK:(none prompt pwd)' \ '--no-cmd[Prevents zoxide from defining the \`z\` and \`zi\` commands]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ ':shell:(bash elvish fish nushell posix powershell tcsh xonsh zsh)' \ && ret=0 ;; (query) _arguments "${_arguments_options[@]}" : \ '--exclude=[Exclude the current directory]:path:_files -/' \ '--base-dir=[Only search within this directory]:path:_files -/' \ '-a[Show unavailable directories]' \ '--all[Show unavailable directories]' \ '(-l --list)-i[Use interactive selection]' \ '(-l --list)--interactive[Use interactive selection]' \ '(-i --interactive)-l[List all matching directories]' \ '(-i --interactive)--list[List all matching directories]' \ '-s[Print score with results]' \ '--score[Print score with results]' \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ '*::keywords:_default' \ && ret=0 ;; (remove) _arguments "${_arguments_options[@]}" : \ '-h[Print help]' \ '--help[Print help]' \ '-V[Print version]' \ '--version[Print version]' \ '*::paths:_files -/' \ && ret=0 ;; esac ;; esac } (( $+functions[_zoxide_commands] )) || _zoxide_commands() { local commands; commands=( 'add:Add a new directory or increment its rank' \ 'edit:Edit the database' \ 'import:Import entries from another application' \ 'init:Generate shell configuration' \ 'query:Search for a directory in the database' \ 'remove:Remove a directory from the database' \ ) _describe -t commands 'zoxide commands' commands "$@" } (( $+functions[_zoxide__subcmd__add_commands] )) || _zoxide__subcmd__add_commands() { local commands; commands=() _describe -t commands 'zoxide add commands' commands "$@" } (( $+functions[_zoxide__subcmd__edit_commands] )) || _zoxide__subcmd__edit_commands() { local commands; commands=( 'decrement:' \ 'delete:' \ 'increment:' \ 'reload:' \ ) _describe -t commands 'zoxide edit commands' commands "$@" } (( $+functions[_zoxide__subcmd__edit__subcmd__decrement_commands] )) || _zoxide__subcmd__edit__subcmd__decrement_commands() { local commands; commands=() _describe -t commands 'zoxide edit decrement commands' commands "$@" } (( $+functions[_zoxide__subcmd__edit__subcmd__delete_commands] )) || _zoxide__subcmd__edit__subcmd__delete_commands() { local commands; commands=() _describe -t commands 'zoxide edit delete commands' commands "$@" } (( $+functions[_zoxide__subcmd__edit__subcmd__increment_commands] )) || _zoxide__subcmd__edit__subcmd__increment_commands() { local commands; commands=() _describe -t commands 'zoxide edit increment commands' commands "$@" } (( $+functions[_zoxide__subcmd__edit__subcmd__reload_commands] )) || _zoxide__subcmd__edit__subcmd__reload_commands() { local commands; commands=() _describe -t commands 'zoxide edit reload commands' commands "$@" } (( $+functions[_zoxide__subcmd__import_commands] )) || _zoxide__subcmd__import_commands() { local commands; commands=( 'atuin:Import from atuin' \ 'autojump:Import from autojump' \ 'fasd:Import from fasd' \ 'z:Import from z' \ 'z.lua:Import from z.lua' \ 'zsh-z:Import from zsh-z' \ ) _describe -t commands 'zoxide import commands' commands "$@" } (( $+functions[_zoxide__subcmd__import__subcmd__atuin_commands] )) || _zoxide__subcmd__import__subcmd__atuin_commands() { local commands; commands=() _describe -t commands 'zoxide import atuin commands' commands "$@" } (( $+functions[_zoxide__subcmd__import__subcmd__autojump_commands] )) || _zoxide__subcmd__import__subcmd__autojump_commands() { local commands; commands=() _describe -t commands 'zoxide import autojump commands' commands "$@" } (( $+functions[_zoxide__subcmd__import__subcmd__fasd_commands] )) || _zoxide__subcmd__import__subcmd__fasd_commands() { local commands; commands=() _describe -t commands 'zoxide import fasd commands' commands "$@" } (( $+functions[_zoxide__subcmd__import__subcmd__z_commands] )) || _zoxide__subcmd__import__subcmd__z_commands() { local commands; commands=() _describe -t commands 'zoxide import z commands' commands "$@" } (( $+functions[_zoxide__subcmd__import__subcmd__z.lua_commands] )) || _zoxide__subcmd__import__subcmd__z.lua_commands() { local commands; commands=() _describe -t commands 'zoxide import z.lua commands' commands "$@" } (( $+functions[_zoxide__subcmd__import__subcmd__zsh-z_commands] )) || _zoxide__subcmd__import__subcmd__zsh-z_commands() { local commands; commands=() _describe -t commands 'zoxide import zsh-z commands' commands "$@" } (( $+functions[_zoxide__subcmd__init_commands] )) || _zoxide__subcmd__init_commands() { local commands; commands=() _describe -t commands 'zoxide init commands' commands "$@" } (( $+functions[_zoxide__subcmd__query_commands] )) || _zoxide__subcmd__query_commands() { local commands; commands=() _describe -t commands 'zoxide query commands' commands "$@" } (( $+functions[_zoxide__subcmd__remove_commands] )) || _zoxide__subcmd__remove_commands() { local commands; commands=() _describe -t commands 'zoxide remove commands' commands "$@" } if [ "$funcstack[1]" = "_zoxide" ]; then _zoxide "$@" else compdef _zoxide zoxide fi