1014 B57 lines
Blame
1grammar GitGraphGrammar
2import "../common/common";
3import "reference";
4
5entry GitGraph:
6 NEWLINE*
7 ('gitGraph' | 'gitGraph' ':' | 'gitGraph:' | ('gitGraph' Direction ':'))
8 (
9 NEWLINE
10 | TitleAndAccessibilities
11 | statements+=Statement
12 )*
13;
14
15Statement
16: Commit
17| Branch
18| Merge
19| Checkout
20| CherryPicking
21;
22
23Direction:
24 dir=('LR' | 'TB' | 'BT');
25
26Commit:
27 'commit'
28 (
29 'id:' id=STRING
30 |'msg:'? message=STRING
31 |'tag:' tags+=STRING
32 |'type:' type=('NORMAL' | 'REVERSE' | 'HIGHLIGHT')
33 )* EOL;
34Branch:
35 'branch' name=(REFERENCE|STRING)
36 ('order:' order=INT)?
37 EOL;
38
39Merge:
40 'merge' branch=(REFERENCE|STRING)
41 (
42 'id:' id=STRING
43 |'tag:' tags+=STRING
44 |'type:' type=('NORMAL' | 'REVERSE' | 'HIGHLIGHT')
45 )* EOL;
46
47Checkout:
48 ('checkout'|'switch') branch=(REFERENCE|STRING) EOL;
49
50CherryPicking:
51 'cherry-pick'
52 (
53 'id:' id=STRING
54 |'tag:' tags+=STRING
55 |'parent:' parent=STRING
56 )* EOL;
57