diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2010-08-10 17:13:42 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2010-08-10 17:13:42 +0000 |
commit | d2e3b6eb62df229ab1af9e1f260a67516712d88d (patch) | |
tree | 1f87fa4ff0cfdd9472ad41339ad9719f7c2478ba | |
parent | a9e7fd4e757924dd11279fba5c7808aac6c1df59 (diff) | |
download | zsh-d2e3b6eb62df229ab1af9e1f260a67516712d88d.tar.gz zsh-d2e3b6eb62df229ab1af9e1f260a67516712d88d.tar.xz zsh-d2e3b6eb62df229ab1af9e1f260a67516712d88d.zip |
unposted: further update to _todo.sh
also I forgot to commit the previous one
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Completion/Unix/Command/_todo.sh | 16 |
2 files changed, 14 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog index 60b5492d2..4ead6cc5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-08-10 Peter Stephenson <pws@csr.com> + + * unposted: Completion/Unix/Command/_todo.sh: need care matching + initial whitespace; strip priorities to get text to replace. + 2010-08-08 Peter Stephenson <p.w.stephenson@ntlworld.com> * 28137: Functions/MIME/zsh-mime-handler: $argv[0] should be @@ -13503,5 +13508,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5052 $ +* $Revision: 1.5053 $ ***************************************************** diff --git a/Completion/Unix/Command/_todo.sh b/Completion/Unix/Command/_todo.sh index 799be5427..0b8b95d2c 100644 --- a/Completion/Unix/Command/_todo.sh +++ b/Completion/Unix/Command/_todo.sh @@ -6,9 +6,9 @@ # - "replace" will complete the original text for editing # - completing priorities will cycle through A to Z (even without # menu completion) -# - list and listall will complete p:<project> and @<where> from +# - list and listall will complete +<project> and @<where> from # values in existing entries -# - will complete after p: and @ if typed in message text +# - will complete after + and @ if typed in message text setopt localoptions braceccl @@ -53,7 +53,7 @@ case $state in case $words[NORMARG] in (append|del|do|prepend|pri|replace) if (( NORMARG == CURRENT - 1 )); then - itemlist=(${${(M)${(f)"$(todo.sh -p list)"}##<-> *}/(#b)(<->) (*)/${match[1]}:${match[2]}}) + itemlist=(${${(M)${(f)"$(todo.sh -p list | sed '/^--/,$d')"}##<-> *}/(#b)(<->) (*)/${match[1]}:${match[2]}}) _describe -t todo-items 'todo item' itemlist else case $words[NORMARG] in @@ -64,7 +64,7 @@ case $state in nextstate=proj ;; (replace) - compadd -Q -- "${(qq)$(todo.sh -p list "^0*${words[CURRENT-1]} ")##<-> }" + compadd -Q -- "${(qq)$(todo.sh -p list "^[ 0]*${words[CURRENT-1]} " | sed '/^--/,$d')##<-> (\([A-Z]\) |)}" ;; esac fi @@ -102,15 +102,15 @@ case $nextstate in ;; (proj) - # This completes stuff beginning with p: (projects) or @ (contexts); + # This completes stuff beginning with + (projects) or @ (contexts); # these are todo.sh conventions. - if [[ ! -prefix p: && ! -prefix @ ]]; then + if [[ ! -prefix + && ! -prefix @ ]]; then projmsg=$txtmsg fi # In case there are quotes, ignore anything up to whitespace before - # the p: or @ (which may not even be there yet). + # the + or @ (which may not even be there yet). compset -P '*[[:space:]]' _wanted search expl $projmsg \ - compadd ${${=${${(M)${(f)"$(todo.sh -p list)"}##<-> *}##<-> }}:#^(p:*|@*)} + compadd $(todo.sh lsprj) $(todo.sh lsc) ;; esac |