diff --git a/Tips-and-Tricks.textile b/Tips-and-Tricks.textile index 6b1026e..4a47080 100644 --- a/Tips-and-Tricks.textile +++ b/Tips-and-Tricks.textile @@ -67,44 +67,41 @@ This causes ssh to use the existing connection rather than opening new ones. The Put this into @/etc/bash_completion.d/todo@ (system-wide, for all users), or put it somewhere in your home directory and source it from your @.bashrc@: -
-_todo()
+pre.. _todo()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
-
COMMANDS="add a addto addm append app archive command del \
rm depri dp do help list ls listall lsa listcon \
- lsc listfile lf listpri lsp listproj lsprj move \
+ lsc listfile lf listpri lsp listproj lsprj move \
mv prepend prep pri p replace report"
-
# Add custom commands from add-ons, if installed.
COMMANDS="$COMMANDS $('ls' ${TODO_ACTIONS_DIR:-$HOME/.todo.actions.d}/ 2>/dev/null)"
-
OPTS="-@ -@@ -+ -++ -d -f -h -p -P -PP -a -n -t -v -vv -V -x"
-
- if [ $COMP_CWORD -eq 1 ]; then
- completions="$COMMANDS $OPTS"
+ if [ "${cur:0:1}" == "+" ]; then
+ completions="$(t listproj)"
+ elif [ "${cur:0:1}" == "@" ]; then
+ completions="$(t listcon)"
+ elif [ $COMP_CWORD -eq 1 ]; then
+ completions="$COMMANDS $OPTS"
else
- case "${prev}" in
- -*) completions="$COMMANDS $OPTS";;
- *) return 0;;
- esac
+ case "${prev}" in
+ -*) completions="$COMMANDS $OPTS";;
+ *) return 0;;
+ esac
fi
-
COMPREPLY=( $( compgen -W "$completions" -- $cur ))
return 0
}
-
complete -F _todo todo.sh
# If you define an alias (e.g. "t") to todo.sh, you need to explicitly enable
# completion for it, too:
-#complete -F _todo t
-
+complete -F _todo t
+complete -F _todo todo
-Now you can type @$ todo ad@<Tab> and Bash will autocomplete to @$ todo add@
+p. Now you can type @$ todo ad@<Tab> and Bash will autocomplete to @$ todo add@. Any words that begin with + or @ will be completed using projects or contexts, respectively.
*High Color Support*
xterm-based terminals, including Putty for Windows, support 256 colors instead of just 16. Here are some sample colors (including backgrounds) that you can paste into your config file right before the PRIORITY COLORS section. Check http://www.frexx.de/xterm-256-notes/ for a hex-to-xterm converter to get exactly the color you want.