diff options
Diffstat (limited to 'contrib/lilo')
-rw-r--r-- | contrib/lilo | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/lilo b/contrib/lilo new file mode 100644 index 00000000..afff3722 --- /dev/null +++ b/contrib/lilo @@ -0,0 +1,61 @@ +# bash completion for lilo(8) + +have lilo && { +_lilo_labels() +{ + COMPREPLY=( $( compgen -W "$( awk -F'=' '/label/ {print $2}' \ + /etc/lilo.conf | sed -e 's/\"//g' )" -- "$cur" ) ) +} + +_lilo() +{ + local cur prev + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + case $prev in + -@(C|i|m|s|S)) + _filedir + return 0 + ;; + -r) + _filedir -d + return 0 + ;; + -@(I|D|R)) + # label completion + _lilo_labels + return 0 + ;; + -@(A|b|M|u|U)) + # device completion + cur=${cur:=/dev/} + _filedir + return 0 + ;; + -T) + # topic completion + COMPREPLY=( $( compgen -W 'help ChRul EBDA geom geom= \ + table= video' -- "$cur" ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + # relevant options completion + COMPREPLY=( $( compgen -W '-A -b -c -C -d -f -g -i -I -l -L -m \ + -M -p -P -q -r -R -s -S -t -T -u -U -v -V -w -x -z' -- "$cur" ) ) + fi +} +complete -F _lilo lilo +} + +# 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 |