guitar/completion.bash

34 lines
854 B
Bash
Raw Permalink Normal View History

2025-02-25 15:33:02 +01:00
#!/bin/bash
_manage_completion() {
local cur prev commands
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# Define available commands
commands="help new edit iedit"
case "$prev" in
edit|iedit)
# Provide completion for existing song names (directories in content/)
COMPREPLY=( $(compgen -W "$(ls -1 content/ 2>/dev/null)" -- "$cur") )
return 0
;;
new)
# No completion for "new" since it's a new name
return 0
;;
esac
# Default command completion
if [[ $COMP_CWORD -eq 1 ]]; then
COMPREPLY=( $(compgen -W "$commands" -- "$cur") )
fi
}
# Register the completion function for 'manage'
complete -F _manage_completion manage
complete -F _manage_completion ./manage