1
0
Fork 0
mirror of https://github.com/jarun/nnn.git synced 2025-02-18 23:34:37 +00:00
nnn/misc/quitcd/quitcd.bash_sh_zsh

31 lines
993 B
Text
Raw Normal View History

2019-11-22 02:14:25 +05:30
n ()
2017-04-19 18:22:30 +05:30
{
2019-11-17 14:33:30 +05:30
# Block nesting of nnn in subshells
[ "${NNNLVL:-0}" -eq 0 ] || {
2019-11-17 14:33:30 +05:30
echo "nnn is already running"
return
}
2019-11-17 14:33:30 +05:30
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 "export" and make sure not to
# use a custom path, i.e. set NNN_TMPFILE *exactly* as follows:
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
2019-11-22 02:14:25 +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
# The command builtin allows one to alias nnn to n, if desired, without
# making an infinitely recursive alias
command nnn "$@"
[ ! -f "$NNN_TMPFILE" ] || {
. "$NNN_TMPFILE"
rm -f -- "$NNN_TMPFILE" > /dev/null
}
2017-04-19 18:22:30 +05:30
}