summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/completions/_fbi22
1 files changed, 16 insertions, 6 deletions
diff --git a/etc/completions/_fbi b/etc/completions/_fbi
index 0751e5a..dd45c42 100644
--- a/etc/completions/_fbi
+++ b/etc/completions/_fbi
@@ -3,11 +3,8 @@
## Daniel Friesel <derf@derf.homelinux.org>
## https://derf.homelinux.org/~derf/dotfiles/completion/_fbi
-typeset arguments
-typeset IFS=$'\n'
-typeset fonts
-
-fonts='fc-list | cut -d ":" -f 1'
+typeset -a arguments
+typeset expl lstate
arguments=(
-{1,once}"[don't loop]"
@@ -20,7 +17,7 @@ arguments=(
'-comments[display image comments]'
-{d,device}'[set framebuffer device]:framebuffer device:_path_files -W /dev -g "fb*"'
-{e,edit}'[enable editing]'
- -{f,font}'[set font]:font:($(eval $fonts))'
+ -{f,font}'[set font]:font:->font'
'-fitwidth[zoom to width only]'
-{g,gamma}'[gamma correction]:gamma: '
-{h,help}'[show help]'
@@ -41,3 +38,16 @@ arguments=(
)
_arguments -s $arguments
+
+while [[ -n $state ]]; do
+ lstate=$state
+ state=''
+ case $lstate in
+ font)
+ typeset IFS=$'\n'
+ typeset -a fonts
+ _wanted font expl 'font' \
+ compadd $(fc-list | cut -d ":" -f 1 2>&1)
+ ;;
+ esac
+done