aboutsummaryrefslogtreecommitdiff
path: root/files/.zsh/rc/S50_nnn
blob: 94c3317670cb75f0fd82f2c69e8b06de6d55c4f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
NNN_PLUG='o:fzopen;z:autojump;p:preview-tui;T:-!&xdg-open "$PWD"'
NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$"
NNN_FCOLORS="03040601000205f7d204d9f7"

if command -v trash >/dev/null ; then
    NNN_TRASH=1
fi

NNN_OPTS="${NNN_OPTS}a"                 # auto NNN_FIFO
NNN_OPTS="${NNN_OPTS}A"                 # no dir auto-enter during filter
NNN_OPTS="${NNN_OPTS}e"                 # text in $VISUAL/$EDITOR/vi
NNN_OPTS="${NNN_OPTS}x"                 # notis, selection sync, xterm title
NNN_OPTS="${NNN_OPTS}R"                 # no rollover at edges
if command -v cpg mvg >/dev/null ; then
  NNN_OPTS="${NNN_OPTS}r"               # use advcpmv patched cp, mv
fi


n ()
{
    # Block nesting of nnn in subshells
    [ "${NNNLVL:-0}" -eq 0 ] || {
        echo "nnn is already running"
        return
    }

    # The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
    # 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"

    # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
    # stty start undef
    # stty stop undef
    # stty lwrap undef
    # stty lnext undef

    # 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
    }
}

export NNN_PLUG NNN_ARCHIVE NNN_FCOLORS NNN_OPTS NNN_TRASH

# vim: ft=zsh :