summaryrefslogtreecommitdiffstats
path: root/completions/fbgs
diff options
context:
space:
mode:
Diffstat (limited to 'completions/fbgs')
-rw-r--r--completions/fbgs50
1 files changed, 50 insertions, 0 deletions
diff --git a/completions/fbgs b/completions/fbgs
new file mode 100644
index 0000000..1947b87
--- /dev/null
+++ b/completions/fbgs
@@ -0,0 +1,50 @@
+# bash completion for fbgs(1) -*- shell-script -*-
+
+_fbgs()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case "$prev" in
+ -f | --font)
+ local IFS=$'\n'
+ COMPREPLY=($(compgen -W '$(fc-list 2>/dev/null)' -- "$cur"))
+ return
+ ;;
+ -m | --mode)
+ COMPREPLY=($(compgen -W '$(command 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
+ ;;
+ -fp | --firstpage | -lp | --lastpage | -r | --resolution | -s | --scroll | -t | \
+ --timeout)
+ # expect integer value
+ COMPREPLY+=($(compgen -W '{0..9}'))
+ compopt -o nospace
+ return
+ ;;
+ -T | --vt | -p | --password | -g | --gamma)
+ # argument required but no completions available
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '--bell --help --password -fp --firstpage
+ -lp --lastpage --color -l -xl -xxl --resolution --autozoom
+ --{,no}autoup --{,no}autodown --{,no}fitwidth --{,no}verbose
+ --{,no}random --vt --scroll --timeout --{,no}once --gamma --font
+ --device --mode' -- "$cur"))
+ [[ ${COMPREPLY-} ]] && return
+ fi
+
+ _filedir '?(e)ps|pdf'
+} &&
+ complete -F _fbgs fbgs
+
+# ex: filetype=sh