From e268b7f71c2a59e138f57466e4cf70d2f33279ca Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Tue, 12 May 2009 08:59:18 -0400 Subject: [PATCH] Enhancement - latest tab completion script - Installed the latest script from Federico Hernandez. - Renamed script to task_completion.sh, to avoid conflict with others. --- html/tab_completion.html | 3 ++- tab_completion.sh | 25 ------------------ task_completion.sh | 56 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 26 deletions(-) delete mode 100644 tab_completion.sh create mode 100644 task_completion.sh diff --git a/html/tab_completion.html b/html/tab_completion.html index 9e0a659a4..02f6e27a3 100644 --- a/html/tab_completion.html +++ b/html/tab_completion.html @@ -34,7 +34,8 @@

Tab Completion

- There is a Bash tab completion script distributed with task. + There is a Bash tab completion script distributed with task, + called task_completion.sh.

diff --git a/tab_completion.sh b/tab_completion.sh deleted file mode 100644 index 45187460b..000000000 --- a/tab_completion.sh +++ /dev/null @@ -1,25 +0,0 @@ -_task() -{ - local cur prev opts base - - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - - - opts="active add annotate append calendar color completed delete done duplicate edit export ghistory help history import info list long ls newest next oldest overdue projects start stats stop summary tags timesheet undelete undo version" - - 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 diff --git a/task_completion.sh b/task_completion.sh new file mode 100644 index 000000000..73f60e97e --- /dev/null +++ b/task_completion.sh @@ -0,0 +1,56 @@ +# +# bash completion support for task 1.7.0-2 +# Copyright (C) 2009 Federico Hernandez +# Distributed under the GNU General Public License, version 2.0 +# +# The routines will do completion of: +# +# *) task subcommands +# *) local and remote tag names +# +# To use these routines: +# +# 1) Copy this file to somewhere (e.g. ~/.task-completion.sh). +# 2) Added the following line to your .bashrc: +# source ~/.task-completion.sh +# +# OR +# +# 3) Copy the file to /etc/bash_complettion.d +# 4) source /etc/bash_completion +# +# To submit patches/bug reports: +# +# *) Send them to the mailing list: +# +# taskprogram@googlegroups.com +# +# *) CC the all patchesi/bug reports to: +# +# Federico Hernandez +# + +_task() +{ + local cur prev opts base + + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + opts="active add annotate append calendar color completed delete done duplicate edit export ghistory help history import info list long ls newest next oldest overdue projects start stats stop summary tags timesheet undelete undo version" + + 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