]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
bash-completion: lsns: add missing completion file
authorSami Kerola <kerolasa@iki.fi>
Sun, 13 Mar 2016 10:31:48 +0000 (10:31 +0000)
committerKarel Zak <kzak@redhat.com>
Mon, 14 Mar 2016 12:15:15 +0000 (13:15 +0100)
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
bash-completion/Makemodule.am
bash-completion/lsns [new file with mode: 0644]

index 9479087b11e0eab4d36bad032749b968062d0296..56fdd3236a4e6ec998f9a8f6b54180a574901ac8 100644 (file)
@@ -51,6 +51,9 @@ endif
 if BUILD_LSIPC
 dist_bashcompletion_DATA += bash-completion/lsipc
 endif
+if BUILD_LSNS
+dist_bashcompletion_DATA += bash-completion/lsns
+endif
 if BUILD_MCOOKIE
 dist_bashcompletion_DATA += bash-completion/mcookie
 endif
diff --git a/bash-completion/lsns b/bash-completion/lsns
new file mode 100644 (file)
index 0000000..8e6a335
--- /dev/null
@@ -0,0 +1,56 @@
+_lsns_module()
+{
+       local cur prev OPTS LSNS_COLS_ALL
+       COMPREPLY=()
+       cur="${COMP_WORDS[COMP_CWORD]}"
+       prev="${COMP_WORDS[COMP_CWORD-1]}"
+       LSNS_COLS_ALL="
+               NS TYPE PATH NPROCS PID PPID COMMAND UID USER
+       "
+       case $prev in
+               '-o'|'--output')
+                       local prefix realcur LSNS_COLS
+                       realcur="${cur##*,}"
+                       prefix="${cur%$realcur}"
+                       for WORD in $LSNS_COLS_ALL; do
+                               if ! [[ $prefix == *"$WORD"* ]]; then
+                                       LSNS_COLS="$WORD $LSNS_COLS"
+                               fi
+                       done
+                       compopt -o nospace
+                       COMPREPLY=( $(compgen -P "$prefix" -W "$LSNS_COLS" -S ',' -- $realcur) )
+                       return 0
+                       ;;
+               '-p'|'--task')
+                       COMPREPLY=( $(compgen -W "$(cd /proc && echo [0-9]*)" -- $cur) )
+                       return 0
+                       ;;
+               '-t'|'--type')
+                       COMPREPLY=( $(compgen -W "mnt net ipc user pid uts" -- $cur) )
+                       return 0
+                       ;;
+               '-h'|'--help'|'-V'|'--version')
+                       return 0
+                       ;;
+       esac
+       case $cur in
+               -*)
+                       COMPREPLY=( $(compgen -W "
+                                       --json
+                                       --list
+                                       --noheadings
+                                       --output
+                                       --task
+                                       --raw
+                                       --notruncate
+                                       --type
+                                       --help
+                                       --version
+                               " -- $cur) )
+                       return 0
+                       ;;
+       esac
+       COMPREPLY=( $(compgen -W "mnt net pid uts ipc user" -- $cur ) )
+       return 0
+}
+complete -F _lsns_module lsns