From b54954b5c1d9d8c014a041987b07634587baefcc Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Sun, 19 Nov 2006 23:28:07 +1100 Subject: [PATCH 1/1] Add bash completion definitions Signed-off-by: Jeremy Kerr --- bitfield-completions.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 bitfield-completions.sh diff --git a/bitfield-completions.sh b/bitfield-completions.sh new file mode 100644 index 0000000..d602b9e --- /dev/null +++ b/bitfield-completions.sh @@ -0,0 +1,37 @@ +# completion for bitfield program +_bitfield_list() { + bitfield --list | awk '{print $1}' +} + +_bitfield() { + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + # help, search, list: no completions + if [[ "$prev" == '-h' || "$prev" == '-s' || "$prev" == '-l' ]] + then + return 0 + fi + + opts="--help --search --list --non-zero" + + # complete -* with long options. + if [[ "$cur" == -* ]] + then + COMPREPLY=($(compgen -W "$opts" -- $cur)) + return 0 + fi + + # first parameter on line - complete with options + list of bitfields + # FIXME: presence of -n will disable this... + if [ $COMP_CWORD -eq 1 ] + then + COMPREPLY=($(compgen -W "$opts $(_bitfield_list)" -- $cur)) + return 0 + fi +} + +complete -F _bitfield filenames bitfield -- 2.39.2