aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-11-17 14:33:30 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-11-17 14:33:30 +0530
commitf4acfc7a4e065bab2f4e01f1c641d0b398deb8d7 (patch)
tree381715723ee9f57bce07e695c8a7d42d1985ee3e
parent7d0be597ad2791ef223cca732b9e4223879e3dbb (diff)
downloadnnn-f4acfc7a4e065bab2f4e01f1c641d0b398deb8d7.tar.gz
Block nesting of nnn instances
-rw-r--r--misc/quitcd/quitcd.bash6
-rw-r--r--misc/quitcd/quitcd.csh2
-rw-r--r--misc/quitcd/quitcd.fish6
-rw-r--r--misc/quitcd/quitcd.zsh6
4 files changed, 19 insertions, 1 deletions
diff --git a/misc/quitcd/quitcd.bash b/misc/quitcd/quitcd.bash
index a26395d..95939a0 100644
--- a/misc/quitcd/quitcd.bash
+++ b/misc/quitcd/quitcd.bash
@@ -1,5 +1,11 @@
n()
{
+ # Block nesting of nnn in subshells
+ if [ $(expr $NNNLVL + 0) -ge 1 ]; then
+ echo "nnn is already running"
+ return
+ fi
+
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, export NNN_TMPFILE after the call to nnn
export NNN_TMPFILE=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd
diff --git a/misc/quitcd/quitcd.csh b/misc/quitcd/quitcd.csh
index 206e620..ef95fff 100644
--- a/misc/quitcd/quitcd.csh
+++ b/misc/quitcd/quitcd.csh
@@ -4,4 +4,4 @@
# To cd on quit only on ^G, export NNN_TMPFILE after the call to nnn
set NNN_TMPFILE=~/.config/nnn/.lastd
-alias n 'nnn; source "$NNN_TMPFILE"; rm "$NNN_TMPFILE"'
+alias n 'nnn; source "$NNN_TMPFILE"; rm -f "$NNN_TMPFILE"'
diff --git a/misc/quitcd/quitcd.fish b/misc/quitcd/quitcd.fish
index 4117cc5..12fcced 100644
--- a/misc/quitcd/quitcd.fish
+++ b/misc/quitcd/quitcd.fish
@@ -3,6 +3,12 @@
# or, add the lines to the 'config.fish' file.
function n --description 'support nnn quit and change directory'
+ # Block nesting of nnn in subshells
+ if [ (expr $NNNLVL + 0) -ge 1 ]
+ echo "nnn is already running"
+ return
+ end
+
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, export NNN_TMPFILE after the call to nnn
if test -n "$XDG_CONFIG_HOME"
diff --git a/misc/quitcd/quitcd.zsh b/misc/quitcd/quitcd.zsh
index 9259e4a..20a613f 100644
--- a/misc/quitcd/quitcd.zsh
+++ b/misc/quitcd/quitcd.zsh
@@ -1,5 +1,11 @@
n()
{
+ # Block nesting of nnn in subshells
+ if [ $(expr $NNNLVL + 0) -ge 1 ]; then
+ echo "nnn is already running"
+ return
+ fi
+
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, export NNN_TMPFILE after the call to nnn
export NNN_TMPFILE=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd