From 563227d8390a0ebf6a708387da2dffce288ceb8d Mon Sep 17 00:00:00 2001 From: jagipson Date: Tue, 21 Jun 2011 06:29:13 -0700 Subject: [PATCH] Updated Tips and Tricks (textile) --- Tips-and-Tricks.textile | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) 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.