Enhancement - tab completion script

- Added a new tab completion script (thanks to Federico Hernandez).
This commit is contained in:
Paul Beckingham
2009-05-11 23:36:57 -04:00
parent 05243c9e7a
commit e2e5b4884c
6 changed files with 32 additions and 4 deletions

24
tab_completion.sh Normal file
View File

@@ -0,0 +1,24 @@
_task()
{
local cur prev opts base
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="add append annotate completed delete undelete info start stop done undo projects tags summary history ghistory next calendar stats import export color version help list long ls newest oldest overdue active"
case "${prev}" in
ls|list|long)
if [[ ${cur} == +* ]] ; then
local tags=$( task tags | egrep -v 'tags|^$'|sed 's/^/+/' )
COMPREPLY=( $(compgen -W "${tags}" -- ${cur}) )
return 0
fi
;;
esac
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
}
complete -F _task task