1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-23 16:40:24 +02:00

22885: fix problems with multibyte tokenized strings

unposted: _todo.sh: more contexts
This commit is contained in:
Peter Stephenson 2006-10-19 08:40:58 +00:00
parent d3fe55f08b
commit 7d75ea056b
3 changed files with 47 additions and 8 deletions

View file

@ -3,9 +3,12 @@
# See http://todotxt.com for todo.sh.
#
# Featurettes:
# - "replace" will complete the original text for editing.
# - "replace" will complete the original text for editing
# - completing priorities will cycle through A to Z (even without
# menu completion).
# menu completion)
# - list and listall will complete p:<project> and @<where> from
# values in existing entries
# - will complete after p: and @ if typed in message text
setopt localoptions braceccl
@ -57,7 +60,11 @@ case $state in
nextstate=pri
;;
(append|prepend)
_message $txtmsg
if [[ -prefix p: || -prefix @ ]]; then
nextstate=proj
else
_message $txtmsg
fi
;;
(replace)
compadd -Q -- "${(qq)$(todo.sh list "^0*${words[CURRENT-1]} ")##<-> }"
@ -67,14 +74,15 @@ case $state in
;;
(add)
_message $txtmsg
if [[ -prefix p: || -prefix @ ]]; then
nextstate=proj
else
_message $txtmsg
fi
;;
(list|listall)
# This completes stuff beginning with p: (projects) or @ (contexts);
# these are todo.sh conventions.
_wanted search expl 'context or project' \
compadd ${${=${${(M)${(f)"$(todo.sh list)"}##<-> *}##<-> }}:#^(p:*|@*)}
nextstate=proj
;;
(listpri)
@ -103,4 +111,12 @@ case $nextstate in
_wanted priority expl 'priority' compadd {A-Z}
fi
;;
(proj)
# This completes stuff beginning with p: (projects) or @ (contexts);
# these are todo.sh conventions.
_wanted search expl 'context or project' \
compadd ${${=${${(M)${(f)"$(todo.sh list)"}##<-> *}##<-> }}:#^(p:*|@*)}
;;
esac