32 lines
742 B
Plaintext
32 lines
742 B
Plaintext
|
#compdef t
|
||
|
|
||
|
_t() {
|
||
|
local curcontext="$curcontext" state line
|
||
|
typeset -A opt_args
|
||
|
|
||
|
_arguments \
|
||
|
'1: :->t_command'\
|
||
|
'2: :->first_arg'
|
||
|
|
||
|
case $state in
|
||
|
t_command)
|
||
|
compadd "$@" archive backend configure display edit in kill\
|
||
|
list now out resume sheet week month
|
||
|
;;
|
||
|
|
||
|
first_arg)
|
||
|
# If the first argument starts with s or d (sheet or display),
|
||
|
# the second argument can be autocompleted to one of the existing
|
||
|
# non-archived sheets.
|
||
|
if [[ $words[2] == s* || $words[2] == d* ]]; then
|
||
|
query='SELECT DISTINCT(sheet) FROM entries WHERE sheet NOT LIKE "\_%" ESCAPE "\";'
|
||
|
echo $query | t b | while read sheet; do
|
||
|
compadd "$@" $sheet
|
||
|
done
|
||
|
fi
|
||
|
;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
_t "$@"
|