aboutsummaryrefslogtreecommitdiff
path: root/.config/fish/functions
diff options
context:
space:
mode:
authorGuangxiong Lin <[email protected]>2023-11-15 00:47:36 +0800
committerGuangxiong Lin <[email protected]>2023-11-15 00:47:36 +0800
commit55c2d8e73db4e9e93cddcb981c15fb8fe9b1dcf4 (patch)
treee03567af41164a2086c834d5f63cca402263ce5c /.config/fish/functions
parente98d273b32cf21f85b0d5d55a819b13ae3d296e7 (diff)
downloaddotfiles-55c2d8e73db4e9e93cddcb981c15fb8fe9b1dcf4.tar.gz
dotfiles-55c2d8e73db4e9e93cddcb981c15fb8fe9b1dcf4.tar.bz2
dotfiles-55c2d8e73db4e9e93cddcb981c15fb8fe9b1dcf4.zip
Remove z.sh and try zoxide and fish
Diffstat (limited to '.config/fish/functions')
-rw-r--r--.config/fish/functions/init_fzf.fish11
-rw-r--r--.config/fish/functions/is_mac.fish4
-rw-r--r--.config/fish/functions/n.fish36
3 files changed, 51 insertions, 0 deletions
diff --git a/.config/fish/functions/init_fzf.fish b/.config/fish/functions/init_fzf.fish
new file mode 100644
index 0000000..b1fab2a
--- /dev/null
+++ b/.config/fish/functions/init_fzf.fish
@@ -0,0 +1,11 @@
+function init_fzf
+ command -v fzf > /dev/null || exit 0
+
+ if is_mac;
+ source $(brew --prefix fzf)/shell/key-bindings.fish
+ end
+
+ function fish_user_key_bindings
+ fzf_key_bindings
+ end
+end
diff --git a/.config/fish/functions/is_mac.fish b/.config/fish/functions/is_mac.fish
new file mode 100644
index 0000000..51c7cbd
--- /dev/null
+++ b/.config/fish/functions/is_mac.fish
@@ -0,0 +1,4 @@
+function is_mac
+ [ $(uname) = Darwin ] && return 0 || return 1
+end
+
diff --git a/.config/fish/functions/n.fish b/.config/fish/functions/n.fish
new file mode 100644
index 0000000..a8c3dc4
--- /dev/null
+++ b/.config/fish/functions/n.fish
@@ -0,0 +1,36 @@
+# Rename this file to match the name of the function
+# e.g. ~/.config/fish/functions/n.fish
+# or, add the lines to the 'config.fish' file.
+
+function n --wraps nnn --description 'support nnn quit and change directory'
+ # Block nesting of nnn in subshells
+ if test -n "$NNNLVL" -a "$NNNLVL" -ge 1
+ echo "nnn is already running"
+ return
+ end
+
+ # The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
+ # If NNN_TMPFILE is set to a custom path, it must be exported for nnn to
+ # see. To cd on quit only on ^G, remove the "-x" from both lines below,
+ # without changing the paths.
+ if test -n "$XDG_CONFIG_HOME"
+ set -x NNN_TMPFILE "$XDG_CONFIG_HOME/nnn/.lastd"
+ else
+ set -x NNN_TMPFILE "$HOME/.config/nnn/.lastd"
+ end
+
+ # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
+ # stty start undef
+ # stty stop undef
+ # stty lwrap undef
+ # stty lnext undef
+
+ # The command function allows one to alias this function to `nnn` without
+ # making an infinitely recursive alias
+ command nnn $argv
+
+ if test -e $NNN_TMPFILE
+ source $NNN_TMPFILE
+ rm $NNN_TMPFILE
+ end
+end