aboutsummaryrefslogtreecommitdiff
path: root/dot_config/fish/functions/zi.fish
diff options
context:
space:
mode:
authortwells46 <173561638+twells46@users.noreply.github.com>2025-12-31 13:28:05 -0600
committertwells46 <173561638+twells46@users.noreply.github.com>2025-12-31 13:28:05 -0600
commit2140ab51deed88e90eafebf9520fa5f9995dc7c9 (patch)
tree03cf1dcd2900495c1efb79aaa85f3254ecd5fb87 /dot_config/fish/functions/zi.fish
parentff8f50638e4b17a9d7cc88d2f0d9560b7effce39 (diff)
Migrate from stow
Diffstat (limited to 'dot_config/fish/functions/zi.fish')
-rw-r--r--dot_config/fish/functions/zi.fish17
1 files changed, 17 insertions, 0 deletions
diff --git a/dot_config/fish/functions/zi.fish b/dot_config/fish/functions/zi.fish
new file mode 100644
index 0000000..c529662
--- /dev/null
+++ b/dot_config/fish/functions/zi.fish
@@ -0,0 +1,17 @@
+if ! builtin functions --query __zoxide_cd_internal
+ string replace --regex -- '^function cd\s' 'function __zoxide_cd_internal ' <$__fish_data_dir/functions/cd.fish | source
+end
+function __zoxide_cd
+ if set -q __zoxide_loop
+ builtin echo "zoxide: infinite loop detected"
+ builtin echo "Avoid aliasing `cd` to `z` directly, use `zoxide init --cmd=cd fish` instead"
+ return 1
+ end
+ __zoxide_loop=1 __zoxide_cd_internal $argv
+end
+
+# Jump to a directory using interactive search.
+function zi
+ set -l result (command zoxide query --interactive -- $argv)
+ and __zoxide_cd $result
+end