aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/auto-completion/bash
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2017-09-02 12:23:19 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2017-09-02 12:23:19 +0530
commit564eafbeb333bd5b81e4ecb46cd798a21544d852 (patch)
treebf6fa36db9945a0685124d38f837870439d0ccc2 /scripts/auto-completion/bash
parent277cf66097209b0f56312e11a82dd3db437df1a0 (diff)
downloadnnn-564eafbeb333bd5b81e4ecb46cd798a21544d852.tar.gz
Add auto-completion scripts
Diffstat (limited to 'scripts/auto-completion/bash')
-rw-r--r--scripts/auto-completion/bash/nnn-completion.bash41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/auto-completion/bash/nnn-completion.bash b/scripts/auto-completion/bash/nnn-completion.bash
new file mode 100644
index 0000000..b16b296
--- /dev/null
+++ b/scripts/auto-completion/bash/nnn-completion.bash
@@ -0,0 +1,41 @@
+#
+# 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_with_args
+ opts=(
+ -c
+ -e
+ -h
+ -i
+ -l
+ -p
+ -S
+ -v
+ )
+ opts_with_arg=(
+ -c
+ -p
+ )
+
+ # Do not complete non option names
+ [[ $cur == -* ]] || return 1
+
+ # Do not complete when the previous arg is an option expecting an argument
+ for opt in "${opts_with_arg[@]}"; do
+ [[ $opt == $prev ]] && return 1
+ done
+
+ # Complete option names
+ COMPREPLY=( $(compgen -W "${opts[*]}" -- "$cur") )
+ return 0
+}
+
+complete -F _nnn nnn