2019-01-01 23:57:38 +00:00
|
|
|
# Rename this file to match the name of the function
|
|
|
|
# e.g. ~/.config/fish/functions/n.fish
|
2019-01-02 10:46:02 +00:00
|
|
|
# or, add the lines to the 'config.fish' file.
|
2019-01-01 23:57:38 +00:00
|
|
|
|
2020-05-29 16:58:59 +02:00
|
|
|
function n --wraps nnn --description 'support nnn quit and change directory'
|
2019-11-17 14:33:30 +05:30
|
|
|
# Block nesting of nnn in subshells
|
2022-09-15 19:57:25 -07:00
|
|
|
if test -n "$NNNLVL" -a "$NNNLVL" -ge 1
|
2022-09-15 17:11:34 -07:00
|
|
|
echo "nnn is already running"
|
|
|
|
return
|
2019-11-17 14:33:30 +05:30
|
|
|
end
|
|
|
|
|
2021-09-29 19:16:58 +05:30
|
|
|
# The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
|
2022-04-06 17:28:12 +02: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.
|
2019-07-10 15:56:17 +03:00
|
|
|
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 12:09:26 +05:30
|
|
|
|
2019-11-21 02:23:02 +05:30
|
|
|
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
|
|
|
# stty start undef
|
|
|
|
# stty stop undef
|
|
|
|
# stty lwrap undef
|
2019-12-19 18:33:27 +05:30
|
|
|
# stty lnext undef
|
2019-11-21 02:23:02 +05:30
|
|
|
|
2022-07-17 00:25:59 +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 07:09:19 +03:00
|
|
|
|
2019-06-07 21:53:27 +05:30
|
|
|
if test -e $NNN_TMPFILE
|
2019-07-10 15:56:17 +03:00
|
|
|
source $NNN_TMPFILE
|
|
|
|
rm $NNN_TMPFILE
|
2019-06-07 21:53:27 +05:30
|
|
|
end
|
2017-04-19 18:22:30 +05:30
|
|
|
end
|