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

View file

@ -1,5 +1,5 @@
Principal Author: Principal Author:
Paul Beckingham, paul@beckingham.net Paul Beckingham
Contributing Authors: Contributing Authors:
Damian Glenny Damian Glenny
@ -13,6 +13,7 @@ Contributing Authors:
Federico Hernandez Federico Hernandez
T. Charles Yun T. Charles Yun
David J Patrick David J Patrick
P.C. Shyamshankar
With thanks to: With thanks to:
Eugene Kramer Eugene Kramer
@ -30,5 +31,4 @@ With thanks to:
Eric Farris Eric Farris
Bruce Dillahunty Bruce Dillahunty
Askme Too Askme Too
P.C. Shyamshankar

View file

@ -27,6 +27,8 @@
other reports. other reports.
+ New "timesheet" command displays tasks completed and started, per week, + New "timesheet" command displays tasks completed and started, per week,
and can display multiple weeks. and can display multiple weeks.
+ New tab completion script, tab_completion.sh, for bash users (thanks
to Federico Hernandez).
------ old releases ------------------------------ ------ old releases ------------------------------

View file

@ -18,5 +18,5 @@ included.
color.cpp Color support functions. color.cpp Color support functions.
rules.cpp Auto-colorization rules. rules.cpp Auto-colorization rules.
Don't forget, please send bugs, patches to task@beckingham.net Please send bugs, patches to task@beckingham.net

View file

@ -1,3 +1,3 @@
SUBDIRS = src SUBDIRS = src
EXTRA_DIST = DEVELOPERS EXTRA_DIST = DEVELOPERS tab_completion.sh

View file

@ -166,6 +166,8 @@
other reports. other reports.
<li>New "timesheet" command displays tasks completed and started, per week, <li>New "timesheet" command displays tasks completed and started, per week,
and can display multiple weeks. and can display multiple weeks.
<li>New tab completion script, tab_completion.sh, for bash users (thanks
to Federico Hernandez).
</ul> </ul>
<p> <p>

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