mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00

- Added examples to the grammar file. - Added recent change to ChangeLog, html/task.html.
40 lines
1.2 KiB
BNF
40 lines
1.2 KiB
BNF
|
|
# This is a full BNF grammar for the task command line. It is intended that a
|
|
# future release of task will incorporate a complete lexer/parser implementing
|
|
# this grammar, which will allow for more sophisticated command lines, for
|
|
# example:
|
|
#
|
|
# task delete 1 2 4-7
|
|
# task add pri:H pro:X -- pro pri 1 ///
|
|
#
|
|
|
|
command ::= simple_command
|
|
| filter_command filter?
|
|
| id_command
|
|
| "export" file
|
|
| <id>
|
|
| <id> <substitution> ;
|
|
|
|
simple_command ::= "version" | "help" | "projects" | "tags" | "next" | "stats"
|
|
| "color" ;
|
|
|
|
filter_command ::= "summary" | "history" | "calendar" | "active" | "overdue"
|
|
| "oldest" | "newest" | "add" | "list" | "long" | "ls"
|
|
| "completed" ;
|
|
|
|
id_command ::= "delete" | "undelete" | "info" | "start" | "end" | "done"
|
|
| "undo" ;
|
|
|
|
filter ::= filter_part+ ;
|
|
|
|
filter_part ::= tag_add | tag_remove | attribute | word ;
|
|
|
|
tag_add ::= "+" word ;
|
|
tag_remove ::= "-" word ;
|
|
attribute ::= word ":" word ;
|
|
word ::=
|
|
file ::=
|
|
id ::= digit+ ;
|
|
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
|
|
substitution ::= "/" word+ "/" word* "/" ;
|
|
|