diff options
author | Ville Skyttä <ville.skytta@iki.fi> | 2011-10-12 19:32:34 +0300 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2011-10-12 19:32:34 +0300 |
commit | a2ba9da54c3206b0254430ed5b6c616d9e1574a6 (patch) | |
tree | f5fb29b7cf26561f93b17b7f8b71a7896040b3c6 | |
parent | 20c05b43b6e44be8ae3c5025a77eca62a48c5a62 (diff) | |
parent | e8d0b1ffdb585486e6b94fa0226cd4e9e86b142a (diff) | |
download | bash-completion-a2ba9da54c3206b0254430ed5b6c616d9e1574a6.tar.gz |
Merge remote-tracking branch 'origin/master' into dynamic-loading
-rw-r--r-- | completions/Makefile.am | 1 | ||||
-rw-r--r-- | completions/fbi | 99 | ||||
-rw-r--r-- | completions/file | 4 | ||||
-rw-r--r-- | test/completion/fbgs.exp | 1 | ||||
-rw-r--r-- | test/completion/fbi.exp | 1 | ||||
-rw-r--r-- | test/lib/completions/fbgs.exp | 20 | ||||
-rw-r--r-- | test/lib/completions/fbi.exp | 20 |
7 files changed, 144 insertions, 2 deletions
diff --git a/completions/Makefile.am b/completions/Makefile.am index 752bb613..4e2547f2 100644 --- a/completions/Makefile.am +++ b/completions/Makefile.am @@ -47,6 +47,7 @@ bashcomp_DATA = abook \ dvd+rw-tools \ e2fsprogs \ evince \ + fbi \ feh \ file \ findutils \ diff --git a/completions/fbi b/completions/fbi new file mode 100644 index 00000000..ec197546 --- /dev/null +++ b/completions/fbi @@ -0,0 +1,99 @@ +# bash completion for fbi(1) and fbgs(1) + +have fbi || return + +_fbi() +{ + local cur prev words cword + _init_completion || return + + case "$prev" in + -l|--list) + _filedir + return + ;; + -r|--resolution) + COMPREPLY+=( $(compgen -W '{1..5}') ) + return + ;; + -f|--font) + local IFS=$'\n' + COMPREPLY=( $( compgen -W '$( fc-list 2>/dev/null )' -- "$cur" ) ) + return + ;; + -m|--mode) + COMPREPLY=( $( compgen -W '$( sed \ + -n "/^mode/{s/^mode \{1,\}\"\([^\"]\{1,\}\)\"/\1/g;p}" \ + /etc/fb.modes 2> /dev/null )' -- "$cur" ) ) + return + ;; + -d|--device) + COMPREPLY=( $( compgen -f -d -- "${cur:-/dev/}" ) ) + return + ;; + --cachemem|--blend|-T|--vt|-s|--scroll|-t|--timeout|-g|--gamma) + # argument required but no completions available + return + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $(compgen -W '--help --version --store --list --text \ + --autozoom --autoup --noautoup --autodown --noautodown --fitwidth \ + --nofitwidth --verbose --noverbose --random --norandom --comments \ + --nocomments --edit --noedit --backup --nobackup --preserve \ + --nopreserve --readahead --noreadahead --cachemem --blend --vt \ + --scroll --timeout --once --noonce --resolution --gamma --font \ + --device --mode' -- "$cur") ) + [[ $COMPREPLY ]] && return + fi + + # FIXME: It is hard to determine correct supported extensions. + # fbi can handle any format that imagemagick can plus some others + _filedir 'bmp|gif|jp?(e)g|pcd|png|p[pgb]m|tif?(f)|webp|xpm|xwd|?(e)ps|pdf|dvi|txt|svg?(z)' +} && complete -F _fbi fbi + +have fbgs && +_fbgs() +{ + local cur prev words cword + _init_completion || return + + case "$prev" in + -f) + local IFS=$'\n' + COMPREPLY=( $( compgen -W '$( fc-list 2>/dev/null )' -- "$cur" ) ) + return + ;; + -m) + COMPREPLY=( $( compgen -W '$( sed \ + -n "/^mode/{s/^mode \{1,\}\"\([^\"]\{1,\}\)\"/\1/g;p}" \ + /etc/fb.modes 2> /dev/null )' -- "$cur" ) ) + return + ;; + -d) + COMPREPLY=( $( compgen -f -d -- "${cur:-/dev/}" ) ) + return + ;; + -t|-g|-p) + # argument required but no completions available + return + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $(compgen -W '-l -xl -xxl -a --fitwidth -d -m -t -g -f -p \ + -h -c' -- "$cur") ) + [[ $COMPREPLY ]] && return + fi + + _filedir '?(e)ps|pdf' +} && complete -F _fbgs fbgs + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/completions/file b/completions/file index 6ef5562c..63db2252 100644 --- a/completions/file +++ b/completions/file @@ -12,8 +12,8 @@ _file() return ;; -e|--exclude) - COMPREPLY=( $( compgen -W 'ascii apptype compress elf soft tar - tokens troff' -- "$cur" ) ) + COMPREPLY=( $( compgen -W 'apptype ascii cdf compress elf encoding + soft tar text tokens troff' -- "$cur" ) ) return ;; esac diff --git a/test/completion/fbgs.exp b/test/completion/fbgs.exp new file mode 100644 index 00000000..38efcbe9 --- /dev/null +++ b/test/completion/fbgs.exp @@ -0,0 +1 @@ +assert_source_completions fbgs diff --git a/test/completion/fbi.exp b/test/completion/fbi.exp new file mode 100644 index 00000000..36f8b8ea --- /dev/null +++ b/test/completion/fbi.exp @@ -0,0 +1 @@ +assert_source_completions fbi diff --git a/test/lib/completions/fbgs.exp b/test/lib/completions/fbgs.exp new file mode 100644 index 00000000..45fa22df --- /dev/null +++ b/test/lib/completions/fbgs.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +} + + +proc teardown {} { + assert_env_unmodified +} + + +setup + + +assert_complete_any "fbgs " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/fbi.exp b/test/lib/completions/fbi.exp new file mode 100644 index 00000000..9c583062 --- /dev/null +++ b/test/lib/completions/fbi.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +} + + +proc teardown {} { + assert_env_unmodified +} + + +setup + + +assert_complete_any "fbi " + + +sync_after_int + + +teardown |