From 76dceb10a19be9bbfd667cfd02baba59626803d8 Mon Sep 17 00:00:00 2001 From: Sami Kerola Date: Sat, 23 Mar 2013 17:41:32 +0000 Subject: bash-completion: misc-utils Signed-off-by: Sami Kerola --- shell-completion/lslocks | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 shell-completion/lslocks (limited to 'shell-completion/lslocks') diff --git a/shell-completion/lslocks b/shell-completion/lslocks new file mode 100644 index 000000000..f55c17ecb --- /dev/null +++ b/shell-completion/lslocks @@ -0,0 +1,43 @@ +_lslocks_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-p'|'--pid') + local PIDS + # /proc/locks can have 8 to 9 fields, see commit + # 55c0d16bab8cc84b72bf11cb2fdd8aa6205ac608 + PIDS="$(awk '{print $(NF-3)}' /proc/locks)" + COMPREPLY=( $(compgen -W "$PIDS" -- $cur) ) + return 0 + ;; + '-o'|'--output') + # FIXME: how to append to a string with compgen? + local OUTPUT + OUTPUT="COMMAND PID TYPE SIZE MODE M START END PATH BLOCKER" + compopt -o nospace + COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) + return 0 + ;; + + esac + case $cur in + -*) + OPTS="-p --pid + -o --output + -n --noheadings + -r --raw + -u --notruncate + -h --help + -V --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +} +complete -F _lslocks_module lslocks -- cgit v1.2.3-55-g7522