mirror of
https://github.com/Llewellynvdm/zoxide.git
synced 2024-11-22 12:55:13 +00:00
133 lines
3.6 KiB
Plaintext
133 lines
3.6 KiB
Plaintext
#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[Prints help information]' \
|
|
'--help[Prints help information]' \
|
|
'-V[Prints version information]' \
|
|
'--version[Prints version information]' \
|
|
":: :_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[@]}" \
|
|
'-h[Prints help information]' \
|
|
'--help[Prints help information]' \
|
|
':path:_files -/' \
|
|
&& ret=0
|
|
;;
|
|
(import)
|
|
_arguments "${_arguments_options[@]}" \
|
|
'--from=[Application to import from]: :(autojump z)' \
|
|
'--merge[Merge into existing database]' \
|
|
'-h[Prints help information]' \
|
|
'--help[Prints help information]' \
|
|
':path:_files' \
|
|
&& ret=0
|
|
;;
|
|
(init)
|
|
_arguments "${_arguments_options[@]}" \
|
|
'--cmd=[Renames the '\''z'\'' command and corresponding aliases]' \
|
|
'--hook=[Chooses event upon which an entry is added to the database]: :(none prompt pwd)' \
|
|
'--no-aliases[Prevents zoxide from defining any commands]' \
|
|
'-h[Prints help information]' \
|
|
'--help[Prints help information]' \
|
|
':shell:(bash elvish fish nushell posix powershell xonsh zsh)' \
|
|
&& ret=0
|
|
;;
|
|
(query)
|
|
_arguments "${_arguments_options[@]}" \
|
|
'--exclude=[Exclude a path from results]: :_files -/' \
|
|
'--all[Show deleted 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]' \
|
|
'(-i --interactive)-s[Print score with results]' \
|
|
'(-i --interactive)--score[Print score with results]' \
|
|
'-h[Prints help information]' \
|
|
'--help[Prints help information]' \
|
|
'*::keywords:' \
|
|
&& ret=0
|
|
;;
|
|
(remove)
|
|
_arguments "${_arguments_options[@]}" \
|
|
'()*-i+[]' \
|
|
'()*--interactive=[]' \
|
|
'-h[Prints help information]' \
|
|
'--help[Prints help information]' \
|
|
'::path:_files -/' \
|
|
&& ret=0
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
}
|
|
|
|
(( $+functions[_zoxide_commands] )) ||
|
|
_zoxide_commands() {
|
|
local commands; commands=(
|
|
"add:Add a new directory or increment its rank" \
|
|
"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__add_commands] )) ||
|
|
_zoxide__add_commands() {
|
|
local commands; commands=(
|
|
|
|
)
|
|
_describe -t commands 'zoxide add commands' commands "$@"
|
|
}
|
|
(( $+functions[_zoxide__import_commands] )) ||
|
|
_zoxide__import_commands() {
|
|
local commands; commands=(
|
|
|
|
)
|
|
_describe -t commands 'zoxide import commands' commands "$@"
|
|
}
|
|
(( $+functions[_zoxide__init_commands] )) ||
|
|
_zoxide__init_commands() {
|
|
local commands; commands=(
|
|
|
|
)
|
|
_describe -t commands 'zoxide init commands' commands "$@"
|
|
}
|
|
(( $+functions[_zoxide__query_commands] )) ||
|
|
_zoxide__query_commands() {
|
|
local commands; commands=(
|
|
|
|
)
|
|
_describe -t commands 'zoxide query commands' commands "$@"
|
|
}
|
|
(( $+functions[_zoxide__remove_commands] )) ||
|
|
_zoxide__remove_commands() {
|
|
local commands; commands=(
|
|
|
|
)
|
|
_describe -t commands 'zoxide remove commands' commands "$@"
|
|
}
|
|
|
|
_zoxide "$@" |