blob: c1dd51614632fcbb37be5b3165e52fa070b67da7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#compdef devtodo todo tda tde tdd tdr
## completion for devtodo 0.1.20
## Daniel Friesel <derf@derf.homelinux.org>
## https://derf.homelinux.org/~derf/dotfiles/completion/_devtodo
typeset -a arg_generic arg_add
typeset -A arg_pair arg_desc
arg_add=(
'-p[priority]:priority:_priority'
'-g[parent item]:parent:_index'
)
arg_generic=(
'--remove[remove items]:index:_index'
'--database[database file]:file:_files'
'--global-database[global database file]:file:_files'
'*--colour[item color]:color:_color'
'--force-colour[force use of colors]'
'--mono[no colors]'
'--help[display help]'
'--version[display version]'
'--title[todo title]:string: '
'--date-format[strftime time formet]:time string: '
'*--format[define format]:format:_format'
'*--use-format[output format]:format:_format'
'--sort[sort database]:expression: '
'--paranoid[paranoid parmissions etc]'
'--database-loaders[loader order]:database loader: '
'--backup[backup database]:count: '
'--timeout[display timeout]:seconds: '
'--purge[purge completed items]:days: '
)
arg_pair=(
'verbose' 'v'
'add' 'a'
'graft' 'g'
'link' 'l'
'reparent' 'R'
'priority' 'p'
'edit' 'e'
'done' 'd'
'not-done' 'D'
'global' 'G'
'TODO' 'T'
'all' 'A'
'filter' 'f'
)
arg_desc=(
'verbose' '[be verbose]'
'add' '[add item]:item'
'graft' '[parent item]:parent:_index'
'link' '[link file into database]:database:_file'
'reparent' '[change item parent]:index:_index'
'priority' '[item priority]:priority:_priority'
'edit' '[edit item]:index:_index'
'done' '[mark as done]:index:_index'
'not-done' '[mark as undone]:index:_index'
'global' '[use global database]'
'TODO' '[generate TODO file]'
'all' '[show all items]'
'filter' '[show items matching filter]:filter'
)
for arg in ${(k)arg_pair}; {
arg_generic+='(--'$arg')-'${arg_pair[$arg]}${arg_desc[$arg]}
arg_generic+='(-'${arg_pair[$arg]}')--'${arg}${arg_desc[$arg]}
}
function _index () {
typeset i
typeset -a index desc
for i in $(todo --format display='%n '); do
index+=${i}:$(todo --format display='%t' $i)
done
_describe index index
}
function _color () {
}
function _format () {
}
function _priority () {
}
case $service in
tda) _arguments -s $arg_add ;;
tde|tdd) _arguments -s ':index:_index' ;;
tdr) _arguments -s '*:index:_index' ;;
*todo) _arguments -s $arg_generic ;;
esac
|