blob: 00493dbc0b90ed37dba7700e397adde273c5f5a6 [file] [log] [blame]
Mark Szymanski75bbdc42010-10-27 17:32:06 -05001_todo()
2{
3 local cur prev opts
4 COMPREPLY=()
5 cur="${COMP_WORDS[COMP_CWORD]}"
6 prev="${COMP_WORDS[COMP_CWORD-1]}"
7
8 COMMANDS="add a addto addm append app archive command del \
9 rm depri dp do help list ls listall lsa listcon \
10 lsc listfile lf listpri lsp listproj lsproj move \
11 mv prepend prep pri p replace report"
12
13 # Add custom commands from add-ons, if installed.
14 COMMANDS="$COMMANDS $('ls' ${TODO_ACTIONS_DIR:-$HOME/.todo.actions.d}/ 2>/dev/null)"
15
16 OPTS="-@ -@@ -+ -++ -d -f -h -p -P -PP -a -n -t -v -vv -V -x"
17
18 if [ $COMP_CWORD -eq 1 ]; then
19 completions="$COMMANDS $OPTS"
20 else
21 case "${prev}" in
22 -*) completions="$COMMANDS $OPTS";;
23 *) return 0;;
24 esac
25 fi
26
27 COMPREPLY=( $( compgen -W "$completions" -- $cur ))
28 return 0
29}
30
31complete -F _todo todo.sh
32# If you define an alias (e.g. "t") to todo.sh, you need to explicitly enable
33# completion for it, too:
34complete -F _todo t