75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
{%- let section = "# =============================================================================\n#" -%}
|
|
{%- let not_configured = "# -- not configured --" -%}
|
|
|
|
{%- let pwd_cmd -%}
|
|
{%- if resolve_symlinks -%}
|
|
{%- let pwd_cmd = "pwd -P" -%}
|
|
{%- else -%}
|
|
{%- let pwd_cmd = "pwd -L" -%}
|
|
{%- endif -%}
|
|
|
|
{{ section }}
|
|
# Hook configuration for zoxide.
|
|
#
|
|
{%- if hook != InitHook::None %}
|
|
|
|
# Hook to add new entries to the database.
|
|
{%- if hook == InitHook::Prompt %}
|
|
alias __zoxide_hook 'zoxide add -- "`{{ pwd_cmd }}`"'
|
|
|
|
{%- else if hook == InitHook::Pwd %}
|
|
set __zoxide_pwd_old = `{{ pwd_cmd }}`
|
|
alias __zoxide_hook 'set __zoxide_pwd_tmp = "`{{ pwd_cmd }}`"; test "$__zoxide_pwd_tmp" != "$__zoxide_pwd_old" && zoxide add -- "$__zoxide_pwd_tmp"; set __zoxide_pwd_old = "$__zoxide_pwd_tmp"'
|
|
{%- endif %}
|
|
|
|
# Initialize hook.
|
|
alias precmd ';__zoxide_hook'
|
|
|
|
{%- endif %}
|
|
|
|
{{ section }}
|
|
# When using zoxide with --no-cmd, alias these internal functions as desired.
|
|
#
|
|
|
|
# Jump to a directory using only keywords.
|
|
alias __zoxide_z 'set __zoxide_args = (\!*)\
|
|
if ("$#__zoxide_args" == 0) then\
|
|
cd ~\
|
|
else\
|
|
if ("$#__zoxide_args" == 1 && "$__zoxide_args[1]" == "-") then\
|
|
cd -\
|
|
else if ("$#__zoxide_args" == 1 && -d "$__zoxide_args[1]") then\
|
|
cd "$__zoxide_args[1]"\
|
|
else\
|
|
set __zoxide_pwd = `{{ pwd_cmd }}`\
|
|
set __zoxide_result = "`zoxide query --exclude '"'"'$__zoxide_pwd'"'"' -- $__zoxide_args`" && cd "$__zoxide_result"\
|
|
endif\
|
|
endif'
|
|
|
|
# Jump to a directory using interactive search.
|
|
alias __zoxide_zi 'set __zoxide_args = (\!*)\
|
|
set __zoxide_pwd = `{{ pwd_cmd }}`\
|
|
set __zoxide_result = "`zoxide query --exclude '"'"'$__zoxide_pwd'"'"' --interactive -- $__zoxide_args`" && cd "$__zoxide_result"'
|
|
|
|
{{ section }}
|
|
# Commands for zoxide. Disable these using --no-cmd.
|
|
#
|
|
|
|
{%- match cmd %}
|
|
{%- when Some with (cmd) %}
|
|
|
|
alias {{cmd}} __zoxide_z
|
|
alias {{cmd}}i __zoxide_zi
|
|
|
|
{%- when None %}
|
|
|
|
{{ not_configured }}
|
|
|
|
{%- endmatch %}
|
|
|
|
{{ section }}
|
|
# To initialize zoxide, add this to your shell configuration file (usually ~/.tcshrc):
|
|
#
|
|
# zoxide init tcsh > ~/.zoxide.tcsh
|
|
# source ~/.zoxide.tcsh
|