diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-10-11 19:11:59 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-10-11 19:11:59 +0200 |
commit | ae1e76535e6fb0fe9487161d78df993adff930b3 (patch) | |
tree | fb1ad7fdc2a46c9431195d0bbff9d6db8faea026 /doc/syntax | |
parent | bump year (diff) | |
download | auto-auto-complete-ae1e76535e6fb0fe9487161d78df993adff930b3.tar.gz auto-auto-complete-ae1e76535e6fb0fe9487161d78df993adff930b3.tar.bz2 auto-auto-complete-ae1e76535e6fb0fe9487161d78df993adff930b3.tar.xz |
prepare for adding info manual and auto-completion
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'doc/syntax')
-rw-r--r-- | doc/syntax | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/doc/syntax b/doc/syntax new file mode 100644 index 0000000..ca44109 --- /dev/null +++ b/doc/syntax @@ -0,0 +1,78 @@ +auto-auto-complete ::= _ program _ + +program ::= '(' _ value _ body ')' + +body ::= [{(multiple | default | unargumented | argumented | variadic | suggestion) _}] + +_value ::= __ name | _ value | _ case + +value ::= name | variable | case + +variable ::= '(' _ "value" __ name _ [{value _}] ')' + +case ::= '(' _ "case" {_ a_case} _ ')' + +a_case ::= '(' {_ value} _ ')' + +multiple ::= '(' _ "multiple" <keyword=_value> [{_ '(' _ <item=anything> _ ')'}] _ ')' + ==> [{'(' <keyword> ' ' <item> ')'}] + +anything ::= [{_ value | _ '(' anything _ ')'}] + +default ::= '(' _ "default" (4-:_ ) _ ')' + +unargumented ::= '(' _ "unargumented" (3-:_ (options | complete | desc)) _ ')' + +argumented ::= '(' _ "argumented" (6-:_ (options | complete | arg | suggest | files | bind | desc)) _ ')' + +variadic ::= '(' _ "variadic" (6-:_ (options | complete | arg | suggest | files | bind | desc)) _ ')' + +options ::= '(' _ "options" _value [{_ value}] ')' + +complete ::= '(' _ "complete" _value [{_ value}] ')' + +arg ::= '(' _ "arg" _value ')' + +suggest ::= '(' _ "suggest" _value ')' + +files ::= '(' _ "files" _value [{_ value}] ')' +::= {"-0" | "-a" | "-d" | "-D" | "-f" | "-l" | "-r"} [{value}] + +bind ::= '(' _ "bind" _value ')' + +desc ::= '(' _ "desc" _value ')' + +suggestion ::= '(' _ "suggestion" _ value {_ a_suggestion} _ ')' + +a_suggestion ::= '(' _ (exec | noexec | ls | verbatim | calc) _ ')' + +exec ::= 'exec' (__ value | _ any_exec) [{_ value | _ any_exec}] + +noexec ::= ls | verbatim + +ls ::= 'ls' _value [_ value] + +verbatim ::= 'verbatim' _value [{_ value}] + +calc ::= 'calc' (__ value | _ any_exec) [{_ value | _ any_exec}] + +any_exec ::= '(' _ exec_type (__ value | _ any_exec) [{_ value | _ any_exec}] _ ')' + +exec_type ::= "exec" | "calc" | "pipe" | "fullpipe" | "cat" | "and" | "or" + +name ::= {letter | escape | squote | dquote} + +letter :: $any ^ ' ' ^ \t ^ \n ^ \r ^ \t ^ '\' ^ \' ^ \" + +escape ::= '\' $any + +squote ::= \' [{$any ^ '\' ^ \' | escape}] \' + +dquote ::= \" [{$any ^ '\' ^ \" | escape}] \" + +comment ::= ('#' | ';') [{$any}] \z + +__ ::= {' ' | \t | \n | \r | \f | comment} + +_ ::= [__] + |