diff options
| author | eltrac <hi@eltr.ac> | 2026-09-26 19:44:48 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-09-26 19:44:48 +0800 |
| commit | f2c93c07dbdd4eb894ab65f75b760bc895215823 (patch) | |
| tree | 151e522055a71543e809fe8a02d65391cf43c150 /nushell/autoload/zoxide.nu | |
| parent | 015911736d12da19fd168360840c025f22f56696 (diff) | |
nushell: add nushell configuration
Diffstat (limited to 'nushell/autoload/zoxide.nu')
| -rw-r--r-- | nushell/autoload/zoxide.nu | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/nushell/autoload/zoxide.nu b/nushell/autoload/zoxide.nu new file mode 100644 index 0000000..e22671c --- /dev/null +++ b/nushell/autoload/zoxide.nu @@ -0,0 +1,70 @@ +# Code generated by zoxide. DO NOT EDIT. + +# ============================================================================= +# +# Hook configuration for zoxide. +# + +# Initialize hook to add new entries to the database. +export-env { + $env.config = ( + $env.config? + | default {} + | upsert hooks { default {} } + | upsert hooks.env_change { default {} } + | upsert hooks.env_change.PWD { default [] } + ) + let __zoxide_hooked = ( + $env.config.hooks.env_change.PWD | any { try { get __zoxide_hook } catch { false } } + ) + if not $__zoxide_hooked { + $env.config.hooks.env_change.PWD = ($env.config.hooks.env_change.PWD | append { + __zoxide_hook: true, + code: {|_, dir| ^zoxide add -- $dir} + }) + } +} + +# ============================================================================= +# +# When using zoxide with --no-cmd, alias these internal functions as desired. +# + +# Jump to a directory using only keywords. +export def --env --wrapped __zoxide_z [...rest: directory] { + let path = match $rest { + [] => {'~'}, + [ '-' ] => {'-'}, + [ $arg ] if ($arg | path expand | path type) == 'dir' => {$arg} + _ => { + ^zoxide query --exclude $env.PWD -- ...$rest | str trim -r -c "\n" + } + } + cd $path +} + +# Jump to a directory using interactive search. +export def --env --wrapped __zoxide_zi [...rest: string] { + cd $'(^zoxide query --interactive -- ...$rest | str trim -r -c "\n")' +} + +# ============================================================================= +# +# Commands for zoxide. Disable these using --no-cmd. +# + +export alias z = __zoxide_z +export alias zi = __zoxide_zi + +# ============================================================================= +# +# Add this to your env file (find it by running `$nu.env-path` in Nushell): +# +# zoxide init nushell | save -f ~/.zoxide.nu +# +# Now, add this to the end of your config file (find it by running +# `$nu.config-path` in Nushell): +# +# source ~/.zoxide.nu +# +# Note: zoxide only supports Nushell v0.89.0+. |
