aboutsummaryrefslogtreecommitdiff
path: root/files/.config/nnn/plugins/togglex
diff options
context:
space:
mode:
authorAnton Bobov <anton@bobov.name>2023-10-25 19:17:11 +0500
committerAnton Bobov <anton@bobov.name>2023-10-27 14:26:55 +0500
commit62c95ef2f3a2374ddda52302d54801cfe442484d (patch)
tree8b74bb0bee41cf62bc9149429dac7b0f81123919 /files/.config/nnn/plugins/togglex
parent748cafebaf85b9827c8d3df4535a1a34ddbe82fd (diff)
[nnn] Add getplugs plugin and update all plugins
Diffstat (limited to 'files/.config/nnn/plugins/togglex')
-rwxr-xr-xfiles/.config/nnn/plugins/togglex21
1 files changed, 21 insertions, 0 deletions
diff --git a/files/.config/nnn/plugins/togglex b/files/.config/nnn/plugins/togglex
new file mode 100755
index 0000000..e42d65a
--- /dev/null
+++ b/files/.config/nnn/plugins/togglex
@@ -0,0 +1,21 @@
+#!/usr/bin/env sh
+
+# Description: Toggles executable mode for selection
+#
+# Dependencies: chmod
+#
+# Note: Works _only_ with selection (nnn can toggle the mode for the hovered file)
+#
+# Shell: POSIX compliant
+# Author: Arun Prakash Jana
+
+selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
+
+if [ -s "$selection" ]; then
+ xargs -0 -I {} sh -c 'if [ -x "{}" ] ; then chmod -x "{}" ; else chmod +x "{}" ; fi' < "$selection"
+
+ # Clear selection
+ if [ -p "$NNN_PIPE" ]; then
+ printf "-" > "$NNN_PIPE"
+ fi
+fi