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
|
||
|
|