diff --git a/Tips-and-Tricks.textile b/Tips-and-Tricks.textile index 9fe5f40..699cb3c 100644 --- a/Tips-and-Tricks.textile +++ b/Tips-and-Tricks.textile @@ -27,3 +27,49 @@ Displays the remote todo list. * "Windows with Samurize":http://lifehacker.com/software/plain-text/download-of-the-day-samurize-189273.php * "Mac OS X with GeekTool":http://www.lifehacker.com/software/top/download-of-the-day--geektool-185802.php * [[Linux with Conky]] + +*Bash completion* + +Add this to /etc/bash_completion.d/todo: + +
+#have todo &&
+_todo() 
+{
+    local cur prev opts
+    COMPREPLY=()
+    cur="${COMP_WORDS[COMP_CWORD]}"
+    prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+    COMMANDS="add a addto app append archive command del       \
+              rm depri dp do help list ls listall lsa listcon  \
+              lsc listfile lf listpri lsp listproj lsproj move \
+              mv prepend prep pri p replace report"
+
+    OPTS="-@ -@@ -+ -d -f -h -p -P -a -n -t -v -vv -V"
+
+    case "${prev}" in
+        #-*)
+        #    return 0
+        #    ;;
+
+        #add|a|addto|append|app|archive|del|rm|depri|dp|do|help| \
+        #list|ls|listall|lsa|listcon|lsc|listfile|lf|listpri|lsp|\
+        #listproj|lsprj|move|mv|prepend|prep|pri|p|replace|      \
+        #report|)
+        #    return 0
+        #    ;;
+        *)
+            completions="$COMMANDS $OPTS"
+            ;;
+    esac
+
+    COMPREPLY=( $( compgen -W "$completions" -- $cur ))
+    return 0
+}
+#[ -n "${have:-}" ] && complete -F _todo $filename todo
+
+complete -F _todo todo
+
+ +Now you could type $todo ad[tab] and bash'll autocomplete to $todo add \ No newline at end of file