From 804a499754f5fec2db465effb174448d924e344e Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 7 May 2026 17:42:30 +0200 Subject: rename mkhintfile.sh to mkhint, add --delete/-d option - Rename script and completion file to mkhint/mkhint.bash-completion - Add --delete/-d flag to remove one or more hint files (and .bak if present) - Fix bash completion: correct hint_dir path, use find for nested .info files, add --delete completion, add flag name completion - Update all references in CLAUDE.md, README.md, and source files Co-Authored-By: Claude Sonnet 4.6 --- mkhint.bash-completion | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 mkhint.bash-completion (limited to 'mkhint.bash-completion') diff --git a/mkhint.bash-completion b/mkhint.bash-completion new file mode 100644 index 0000000..43a64ae --- /dev/null +++ b/mkhint.bash-completion @@ -0,0 +1,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 -- cgit v1.2.3