# bash completion for lilo(8) -*- shell-script -*- _lilo_labels() { COMPREPLY=($(compgen -W "$(awk -F= '$1 ~ /^[ \t]*label$/ {print $2}' \ ${1:-/etc/lilo.conf} 2>/dev/null | command sed -e 's/\"//g')" \ -- "$cur")) } _lilo() { local cur prev words cword _init_completion || return case $prev in -C | -i | -m | -s | -S) _filedir return ;; -r) _filedir -d return ;; -I | -D | -R) # label completion local i conf for i in "${!words[@]}"; do if [[ ${words[i]} == -C ]]; then conf=${words[i + 1]} break fi done _lilo_labels $conf return ;; -A | -b | -M | -u | -U) # device completion cur=${cur:=/dev/} _filedir return ;; -T) # topic completion COMPREPLY=($(compgen -W 'help ChRul EBDA geom geom= table= video' -- "$cur")) return ;; -B) _filedir bmp return ;; -E) _filedir '@(bmp|dat)' return ;; esac if [[ $cur == -* ]]; then # relevant options completion COMPREPLY=($(compgen -W '-A -B -b -c -C -d -E -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 # ex: filetype=sh