nnn/misc/quitcd/quitcd.fish

37 lines
1.2 KiB
Fish
Raw Normal View History

# 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'
2019-11-17 09:03:30 +00:00
# Block nesting of nnn in subshells
2022-09-16 02:57:25 +00:00
if test -n "$NNNLVL" -a "$NNNLVL" -ge 1
echo "nnn is already running"
return
2019-11-17 09:03:30 +00:00
end
2021-09-29 13:46:58 +00:00
# The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
2022-04-06 15:28:12 +00:00
# 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
2017-04-29 06:39:26 +00:00
2019-11-20 20:53:02 +00:00
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
# stty start undef
# stty stop undef
# stty lwrap undef
2019-12-19 13:03:27 +00:00
# stty lnext undef
2019-11-20 20:53:02 +00:00
# The command function allows one to alias this function to `nnn` without
# making an infinitely recursive alias
command nnn $argv
2019-07-09 04:09:19 +00:00
if test -e $NNN_TMPFILE
source $NNN_TMPFILE
rm -- $NNN_TMPFILE
end
2017-04-19 12:52:30 +00:00
end