summaryrefslogtreecommitdiffstats
path: root/bash-completion
diff options
context:
space:
mode:
Diffstat (limited to 'bash-completion')
-rw-r--r--bash-completion84
1 files changed, 0 insertions, 84 deletions
diff --git a/bash-completion b/bash-completion
deleted file mode 100644
index a0f07dc..0000000
--- a/bash-completion
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/bash
-
-_detect_kver() {
- local kver_validator='^[[:digit:]]+(\.[[:digit:]]+)+'
- offset=$(hexdump -s 526 -n 2 -e '"%0d"' "$1" 2>/dev/null) || return 1
- read kver _ < \
- <(dd if="$1" bs=1 count=127 skip=$(( offset + 0x200 )) 2>/dev/null)
- [[ $kver =~ $kver_validator ]] && printf "$kver"
-}
-
-_lsinitcpio() {
- local cur opts
- opts=(-a --analyze -c --config -h --help -l --list
- -n --nocolor -V --version -v --verbose -x --extract)
-
- _get_comp_words_by_ref cur
-
- case $cur in
- -*)
- COMPREPLY=($(compgen -W "${opts[*]}" -- "$cur")) ;;
- *)
- _filedir ;;
- esac
-}
-
-_find_kernel_versions() {
- local -a matches
- local dir f kver
-
- for f in /boot/*; do
- # only match regular files which pass validation
- if [[ ! -L $f && -f $f ]] && kver=$(_detect_kver "$f"); then
- matches+=("$f" "$kver")
- fi
- done
-
- COMPREPLY=($(compgen -W "${matches[*]}" -- $cur))
-}
-
-_files_from_dirs() {
- local files stripsuf d f
-
- if [[ $1 = -s ]]; then
- stripsuf=$2
- shift 2
- fi
-
- for d in "$@"; do
- for f in "$d"/*; do
- [[ -f $f ]] && files+=("${f##*/}")
- done
- done
-
- printf '%s\n' "${files[@]%$stripsuf}"
-}
-
-_mkinitcpio() {
- local action cur prev opts
- opts=(-A --addhooks -c --config -g --generate -H --hookhelp -h --help -k --kernel
- -L --listhooks -M --automods -n --nocolor -P --allpresets -p --preset -r --moduleroot
- -S --skiphooks -s --save -t --builddir -V --version -v --verbose -z --compress)
-
- _get_comp_words_by_ref cur prev
-
- case $prev in
- -[cg]|--config|--generate)
- _filedir ;;
- -r|--moduleroot|-t|--builddir)
- _filedir -d ;;
- -k|--kernel)
- _find_kernel_versions ;;
- -p|--preset)
- COMPREPLY=($(compgen -W "$(_files_from_dirs -s .preset /etc/mkinitcpio.d)" -- "$cur")) ;;
- -[AHS]|--add|--hookhelp|--skiphooks)
- COMPREPLY=($(compgen -W "$(_files_from_dirs {/usr,}/lib/initcpio/install)" -- "$cur")) ;;
- *)
- COMPREPLY=($(compgen -W "${opts[*]}" -- "$cur")) ;;
- esac
-}
-
-complete -F _mkinitcpio mkinitcpio
-complete -F _lsinitcpio lsinitcpio
-
-# vim: set et ts=4 sw=4 ft=sh: