From 9afd7cf3bf8badb7e704fb1e1fbdb8031572c722 Mon Sep 17 00:00:00 2001 From: Anna Arad <4895022+annagrram@users.noreply.github.com> Date: Wed, 23 Oct 2019 13:04:12 +0300 Subject: Implement plugins control of nnn + plugins (#364) * Implement plugins control of nnn + plugins * Refactor plugins control code and fix getplugs to recognize hidden files * Fix bug when going to dir on non-current context from plugin * Fix some plugins to work on openbsd and freebsd * Renamings * Switch to -R flag in cp instead of -r; BSDs complain * Change braces of function location * Rewrite plugin creation in README and add new plugins to the table * Update the fzcd script to include fzy or fzf * Change plugin name resolve-link-dir -> lncd * Fixing plugins README table * Remove some cd plugins but add them as examples to plugins README --- plugins/.nnn-plugin-helper | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 plugins/.nnn-plugin-helper (limited to 'plugins/.nnn-plugin-helper') diff --git a/plugins/.nnn-plugin-helper b/plugins/.nnn-plugin-helper new file mode 100644 index 0000000..ec66a29 --- /dev/null +++ b/plugins/.nnn-plugin-helper @@ -0,0 +1,33 @@ +#!/usr/bin/env sh + +# Description: Helper script for plugins +# +# Shell: POSIX compliant +# Author: Anna Arad + +selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection + +## Ask nnn to switch to directory $1 in context $2. +## If $2 is not provided, the function asks explicitly. +nnn_cd () { + dir=$1 + + if [ -z "$NNN_PIPE" ]; then + echo "No pipe file found" 1>&2 + return + fi + + if [ -n "$2" ]; then + context=$2 + else + echo -n "Choose context 1-4 (blank for current): " + read context + fi + + echo -n ${context:-0}$dir > $NNN_PIPE +} + +cmd_exists () { + which "$1" > /dev/null 2>&1 + echo $? +} -- cgit v1.2.3-70-g09d2