#!/usr/bin/env sh # Description: Helper script for plugins # # Shell: POSIX compliant # Author: Anna Arad selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} export selection ## Set CUR_CTX to 1 to open directory in current context CUR_CTX=0 export CUR_CTX NNN_PREFER_SELECTION="${NNN_PREFER_SELECTION:-0}" export NNN_PREFER_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 elif [ $CUR_CTX -ne 1 ]; then printf "Choose context 1-4 (blank for current): " read -r context fi printf "%s" "${context:-0}c$dir" > "$NNN_PIPE" } cmd_exists () { type "$1" > /dev/null 2>&1 echo $? } nnn_use_selection() { if ! [ -s "$selection" ]; then return 1 fi if [ "$NNN_PREFER_SELECTION" -eq 1 ]; then return 0 else [ -n "$1" ] && printf "%s " "$1" printf "(s)election/(c)urrent? [default=c] " read -r resp__ if [ "$resp__" = "s" ]; then return 0 else return 1 fi fi }