blob: 43a64ae77dcdfabf46c63ba71d44140f6dbc672c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# bash completion for mkhint
# Install: sudo cp mkhint.bash-completion /etc/bash-completion.d/mkhint
_mkhintfile_completions() {
local cur prev repo_dir hint_dir
_init_completion || return
repo_dir="/var/lib/sbopkg/SBo-danix"
hint_dir="/etc/slackrepo/SBo-danix/hintfiles"
local all_flags="--version --hintfile --new --list --clean --delete --help"
case "$prev" in
--new|-n)
local -a words=()
while IFS= read -r f; do
words+=("$(basename "${f%.info}")")
done < <(find "$repo_dir" -mindepth 2 -maxdepth 2 -name "*.info" 2>/dev/null)
COMPREPLY=($(compgen -W "${words[*]}" -- "$cur"))
;;
--hintfile|-f|--delete|-d)
local -a words=()
for f in "$hint_dir"/*.hint; do
[[ -f "$f" ]] && words+=("$(basename "${f%.hint}")")
done
COMPREPLY=($(compgen -W "${words[*]}" -- "$cur"))
;;
--version|-v)
# no completion, raw text
;;
*)
COMPREPLY=($(compgen -W "$all_flags" -- "$cur"))
;;
esac
}
complete -F _mkhintfile_completions mkhintfile.sh mkhintfile
|