Skip to content

Commit c49221c

Browse files
authored
Allow for optional newline before block (#83)
1 parent 9fd1944 commit c49221c

File tree

6 files changed

+398
-4
lines changed

6 files changed

+398
-4
lines changed

src/plantuml.pegjs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ Together
153153
//
154154

155155
Group
156-
= _ type:GroupType " " _ name:ElementName _ Stereotypes? _ Color? _ "{" _ NewLine elements:UMLElement* _ "}" EndLine
156+
= _ type:GroupType " " _ name:ElementName _ Stereotypes? _ Color? _ NewLine? _ "{" _ NewLine elements:UMLElement* _ "}" EndLine
157157
{
158158
return new types.Group(
159159
name.name,
@@ -221,7 +221,7 @@ NoteOf
221221
//
222222

223223
Class
224-
= _ isAbstract:"abstract "i? _ "class " _ name:ElementName _ generics:Generics? _ extends_:Extends? _ implements_:Implements? _ stereotypes:Stereotypes? _ "{" _ NewLine members:Member* _ "}" EndLine
224+
= _ isAbstract:"abstract "i? _ "class " _ name:ElementName _ generics:Generics? _ extends_:Extends? _ implements_:Implements? _ stereotypes:Stereotypes? _ NewLine? _ "{" _ NewLine members:Member* _ "}" EndLine
225225
{
226226
return new types.Class(
227227
name.name,
@@ -320,7 +320,7 @@ MemberVariable
320320
//
321321

322322
Interface
323-
= _ "interface "i _ name:ElementName _ generics:Generics? _ extends_:Extends? _ implements_:Implements? _ stereotypes:Stereotypes? _ "{" _ NewLine members:Member* _ "}" EndLine
323+
= _ "interface "i _ name:ElementName _ generics:Generics? _ extends_:Extends? _ implements_:Implements? _ stereotypes:Stereotypes? _ NewLine? _ "{" _ NewLine members:Member* _ "}" EndLine
324324
{
325325
return new types.Interface(
326326
name.name,
@@ -350,7 +350,7 @@ Interface
350350
//
351351

352352
Enum
353-
= _ "enum "i _ name:ElementName _ generics:Generics? _ extends_:Extends? _ implements_:Implements? _ stereotypes:Stereotypes? _ "{" _ NewLine members:Member* _ "}" EndLine
353+
= _ "enum "i _ name:ElementName _ generics:Generics? _ extends_:Extends? _ implements_:Implements? _ stereotypes:Stereotypes? _ NewLine? _ "{" _ NewLine members:Member* _ "}" EndLine
354354
{
355355
return new types.Enum(
356356
name.name,
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@startuml
2+
3+
package P1
4+
{
5+
}
6+
package P2 {
7+
}
8+
9+
class C1
10+
{
11+
}
12+
class C2 {
13+
}
14+
15+
interface I1
16+
{
17+
}
18+
interface I2 {
19+
}
20+
21+
enum E1
22+
{
23+
}
24+
enum E2 {
25+
}
26+
@enduml
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
[
2+
{
3+
"elements": [
4+
{
5+
"name": "P1",
6+
"title": "P1",
7+
"type": "package",
8+
"elements": []
9+
},
10+
{
11+
"name": "P2",
12+
"title": "P2",
13+
"type": "package",
14+
"elements": []
15+
},
16+
{
17+
"name": "C1",
18+
"title": "C1",
19+
"isAbstract": false,
20+
"members": [],
21+
"extends_": [],
22+
"implements_": [],
23+
"generics": [],
24+
"stereotypes": []
25+
},
26+
{
27+
"name": "C2",
28+
"title": "C2",
29+
"isAbstract": false,
30+
"members": [],
31+
"extends_": [],
32+
"implements_": [],
33+
"generics": [],
34+
"stereotypes": []
35+
},
36+
{
37+
"name": "I1",
38+
"title": "I1",
39+
"members": [],
40+
"extends_": [],
41+
"implements_": [],
42+
"generics": [],
43+
"stereotypes": []
44+
},
45+
{
46+
"name": "I2",
47+
"title": "I2",
48+
"members": [],
49+
"extends_": [],
50+
"implements_": [],
51+
"generics": [],
52+
"stereotypes": []
53+
},
54+
{
55+
"name": "E1",
56+
"title": "E1",
57+
"members": [],
58+
"extends_": [],
59+
"implements_": [],
60+
"generics": [],
61+
"stereotypes": []
62+
},
63+
{
64+
"name": "E2",
65+
"title": "E2",
66+
"members": [],
67+
"extends_": [],
68+
"implements_": [],
69+
"generics": [],
70+
"stereotypes": []
71+
}
72+
]
73+
}
74+
]
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"nodes": [
3+
{
4+
"name": "C1",
5+
"title": "C1",
6+
"isAbstract": false,
7+
"members": [],
8+
"extends_": [],
9+
"implements_": [],
10+
"generics": [],
11+
"stereotypes": [],
12+
"id": "C1",
13+
"type": "Class",
14+
"hidden": true
15+
},
16+
{
17+
"name": "C2",
18+
"title": "C2",
19+
"isAbstract": false,
20+
"members": [],
21+
"extends_": [],
22+
"implements_": [],
23+
"generics": [],
24+
"stereotypes": [],
25+
"id": "C2",
26+
"type": "Class",
27+
"hidden": true
28+
},
29+
{
30+
"name": "I1",
31+
"title": "I1",
32+
"members": [],
33+
"extends_": [],
34+
"implements_": [],
35+
"generics": [],
36+
"stereotypes": [],
37+
"id": "I1",
38+
"type": "Interface",
39+
"hidden": true
40+
},
41+
{
42+
"name": "I2",
43+
"title": "I2",
44+
"members": [],
45+
"extends_": [],
46+
"implements_": [],
47+
"generics": [],
48+
"stereotypes": [],
49+
"id": "I2",
50+
"type": "Interface",
51+
"hidden": true
52+
}
53+
],
54+
"edges": []
55+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
[
2+
{
3+
"name": "test/fixtures/class-empty-class/in.plantuml",
4+
"diagrams": [
5+
{
6+
"elements": [
7+
{
8+
"name": "P1",
9+
"title": "P1",
10+
"type": "package",
11+
"elements": []
12+
},
13+
{
14+
"name": "P2",
15+
"title": "P2",
16+
"type": "package",
17+
"elements": []
18+
},
19+
{
20+
"name": "C1",
21+
"title": "C1",
22+
"isAbstract": false,
23+
"members": [],
24+
"extends_": [],
25+
"implements_": [],
26+
"generics": [],
27+
"stereotypes": []
28+
},
29+
{
30+
"name": "C2",
31+
"title": "C2",
32+
"isAbstract": false,
33+
"members": [],
34+
"extends_": [],
35+
"implements_": [],
36+
"generics": [],
37+
"stereotypes": []
38+
},
39+
{
40+
"name": "I1",
41+
"title": "I1",
42+
"members": [],
43+
"extends_": [],
44+
"implements_": [],
45+
"generics": [],
46+
"stereotypes": []
47+
},
48+
{
49+
"name": "I2",
50+
"title": "I2",
51+
"members": [],
52+
"extends_": [],
53+
"implements_": [],
54+
"generics": [],
55+
"stereotypes": []
56+
},
57+
{
58+
"name": "E1",
59+
"title": "E1",
60+
"members": [],
61+
"extends_": [],
62+
"implements_": [],
63+
"generics": [],
64+
"stereotypes": []
65+
},
66+
{
67+
"name": "E2",
68+
"title": "E2",
69+
"members": [],
70+
"extends_": [],
71+
"implements_": [],
72+
"generics": [],
73+
"stereotypes": []
74+
}
75+
]
76+
}
77+
]
78+
}
79+
]

0 commit comments

Comments
 (0)