blob: d0c80e53b8857079d464e9a0aefeb2386e7928c8 (
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#
# Rudimentary Bash completion definition for nnn.
#
# Author:
# Arun Prakash Jana <engineerarun@gmail.com>
#
_nnn ()
{
COMPREPLY=()
local IFS=$'\n'
local cur=$2 prev=$3
local -a opts
opts=(
-a
-A
-b
-c
-C
-d
-D
-e
-E
-f
-F
-g
-H
-J
-K
-l
-n
-o
-p
-P
-Q
-r
-R
-s
-S
-t
-T
-u
-V
-w
-x
-h
)
if [[ $prev == -b ]]; then
local bookmarks=$(echo $NNN_BMS | awk -F: -v RS=\; '{print $1}')
COMPREPLY=( $(compgen -W "$bookmarks" -- "$cur") )
elif [[ $prev == -l ]]; then
return 1
elif [[ $prev == -p ]]; then
COMPREPLY=( $(compgen -f -d -- "$cur") )
elif [[ $prev == -P ]]; then
local plugins=$(echo $NNN_PLUG | awk -F: -v RS=\; '{print $1}')
COMPREPLY=( $(compgen -W "$plugins" -- "$cur") )
elif [[ $prev == -s ]]; then
local sessions_dir=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/sessions
COMPREPLY=( $(cd "$sessions_dir" && compgen -f -d -- "$cur") )
elif [[ $prev == -t ]]; then
return 1
elif [[ $prev == -T ]]; then
local keys=$(echo "a d e r s t v" | awk -v RS=' ' '{print $0}')
COMPREPLY=( $(compgen -W "$keys" -- "$cur") )
elif [[ $cur == -* ]]; then
COMPREPLY=( $(compgen -W "${opts[*]}" -- "$cur") )
else
COMPREPLY=( $(compgen -f -d -- "$cur") )
fi
}
complete -o filenames -F _nnn nnn
|