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 "$@"
|