34 lines
854 B
Bash
34 lines
854 B
Bash
#!/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
|
|
|