58 lines
1015 B
Bash

# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
# 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
}