1[
2 {"type":"NameTag","value":"@foo34"},
3 {"type":"NameFunction","value":" "},
4 {"type":"NameTag","value":"@bar"},
5 {"type":"Comment","value":" # some comment"},
6 {"type":"NameFunction","value":"\n"},
7 {"type":"Keyword","value":"Feature:"},
8 {"type":"NameFunction","value":" proof of concept\n\n In order to read Cucumber features faster and eaiser on Github \n As a Cucumber user\n I want to have syntax highlighting for Gherkin\n This is part of the narrative, even if I have the # symbol, it is still the narrative- not a comment\n\n "},
9 {"type":"Keyword","value":"Background:"},
10 {"type":"NameFunction","value":" this is multi-line description\n do you like it?\n"},
11 {"type":"Keyword","value":" Given "},
12 {"type":"NameFunction","value":"cheese is good\n\n "},
13 {"type":"Keyword","value":"Scenario Outline:"},
14 {"type":"NameFunction","value":" this is a test \n this the second line of the desctiption\n"},
15 {"type":"Keyword","value":" Given "},
16 {"type":"NameFunction","value":"I have a "},
17 {"type":"NameVariable","value":"\u003cvar1\u003e"},
18 {"type":"NameFunction","value":" and some \""},
19 {"type":"LiteralString","value":"string"},
20 {"type":"NameFunction","value":"\"\n "},
21 {"type":"Keyword","value":"And "},
22 {"type":"NameFunction","value":"the following table and some 'string'\n"},
23 {"type":"Keyword","value":" |"},
24 {"type":"LiteralString","value":" header 1"},
25 {"type":"Keyword","value":" |"},
26 {"type":"LiteralString","value":" header 2"},
27 {"type":"Keyword","value":" |"},
28 {"type":"Comment","value":" # here is a comment after a step table header"},
29 {"type":"Keyword","value":"\n |"},
30 {"type":"LiteralString","value":" cell 1-1"},
31 {"type":"Keyword","value":" |"},
32 {"type":"LiteralString","value":" cell 1-2"},
33 {"type":"Keyword","value":" |"},
34 {"type":"Comment","value":" # here is a comment after a step table row"},
35 {"type":"Keyword","value":"\n |"},
36 {"type":"LiteralString","value":" cell 2-1"},
37 {"type":"Keyword","value":" |"},
38 {"type":"LiteralString","value":" \"cell 2-2\""},
39 {"type":"Keyword","value":" |\n"},
40 {"type":"NameFunction","value":"\n "},
41 {"type":"Keyword","value":"When "},
42 {"type":"NameFunction","value":"I do "},
43 {"type":"NameVariable","value":"\u003cvar2\u003e"},
44 {"type":"NameFunction","value":"\n "},
45 {"type":"Keyword","value":"And "},
46 {"type":"NameFunction","value":"use apostrophes then the feature's syntax still looks good\n "},
47 {"type":"Keyword","value":"And "},
48 {"type":"NameFunction","value":"here is a string with single and double quotes- \""},
49 {"type":"LiteralString","value":"i'll be back"},
50 {"type":"NameFunction","value":"\" \n "},
51 {"type":"Keyword","value":"And "},
52 {"type":"NameFunction","value":"here is a string with the opposite 'the quote is \""},
53 {"type":"LiteralString","value":"Foo"},
54 {"type":"NameFunction","value":"\"'\n "},
55 {"type":"Keyword","value":"And "},
56 {"type":"NameFunction","value":"what about a var in a quote like so: \""},
57 {"type":"NameVariable","value":"\u003cvar2\u003e"},
58 {"type":"NameFunction","value":"\"\n "},
59 {"type":"Keyword","value":"And "},
60 {"type":"NameFunction","value":"what about a multiline string with a var in it like so:\n "},
61 {"type":"Keyword","value":"\"\"\""},
62 {"type":"LiteralString","value":"\n Hello!\n I am a multiple line string, often called a pystring.\n I can have regular \"double quotes\" without a problem...\n I can also sub in vars as well like: "},
63 {"type":"NameVariable","value":"\u003cvar1\u003e"},
64 {"type":"LiteralString","value":" and "},
65 {"type":"NameVariable","value":"\u003cvar2\u003e"},
66 {"type":"LiteralString","value":"\n "},
67 {"type":"Keyword","value":"\"\"\""},
68 {"type":"NameFunction","value":"\n\n "},
69 {"type":"Keyword","value":"Then "},
70 {"type":"NameFunction","value":"I should see something...\n "},
71 {"type":"Keyword","value":"But "},
72 {"type":"NameFunction","value":"not something else...\n\n "},
73 {"type":"Keyword","value":"Examples:\n |"},
74 {"type":"NameVariable","value":" var1"},
75 {"type":"Keyword","value":" |"},
76 {"type":"NameVariable","value":" var2"},
77 {"type":"Keyword","value":" |"},
78 {"type":"Comment","value":" # i am a comment"},
79 {"type":"Keyword","value":"\n |"},
80 {"type":"NameVariable","value":" foo"},
81 {"type":"Keyword","value":" |"},
82 {"type":"NameVariable","value":" bar"},
83 {"type":"Keyword","value":" |"},
84 {"type":"Comment","value":" # so am i"},
85 {"type":"Keyword","value":"\n |"},
86 {"type":"NameVariable","value":" dog"},
87 {"type":"Keyword","value":" |"},
88 {"type":"NameVariable","value":" food"},
89 {"type":"Keyword","value":" |\n"},
90 {"type":"NameFunction","value":"\n "},
91 {"type":"Keyword","value":"Scenarios:"},
92 {"type":"NameFunction","value":" some other examples with a description\n and guess waht?!? I can have multilines as well!"},
93 {"type":"Comment","value":" # look at me, I'm a comment"},
94 {"type":"NameFunction","value":"\n Who would have thunk?"},
95 {"type":"Keyword","value":"\n |"},
96 {"type":"NameVariable","value":" var1"},
97 {"type":"Keyword","value":" |"},
98 {"type":"NameVariable","value":" var2"},
99 {"type":"Keyword","value":" |"},
100 {"type":"NameFunction","value":"\n"},
101 {"type":"Keyword","value":" |"},
102 {"type":"LiteralString","value":" foo"},
103 {"type":"Keyword","value":" |"},
104 {"type":"LiteralString","value":" bar"},
105 {"type":"Keyword","value":" |"},
106 {"type":"NameFunction","value":"\n"},
107 {"type":"Keyword","value":" |"},
108 {"type":"LiteralString","value":" dog"},
109 {"type":"Keyword","value":" |"},
110 {"type":"LiteralString","value":" food"},
111 {"type":"Keyword","value":" |\n"},
112 {"type":"NameFunction","value":"\n "},
113 {"type":"NameTag","value":"@some_tag"},
114 {"type":"NameFunction","value":" "},
115 {"type":"NameTag","value":"@another_tag"},
116 {"type":"NameFunction","value":"\n "},
117 {"type":"Keyword","value":"Scenario:"},
118 {"type":"NameFunction","value":" more examples\n will follow after this multi-line description\n"},
119 {"type":"Keyword","value":" Given "},
120 {"type":"NameFunction","value":"some context"},
121 {"type":"Comment","value":"# this is an inline comment"},
122 {"type":"NameFunction","value":"\n"},
123 {"type":"Comment","value":" # This is a comment"},
124 {"type":"NameFunction","value":"\n"},
125 {"type":"Comment","value":"# So is this with no space at front..."},
126 {"type":"NameFunction","value":"\n\n"},
127 {"type":"Keyword","value":"Funktionalität:"},
128 {"type":"NameFunction","value":" Addition\n Um dumme Fehler zu vermeiden\n möchte ich als Matheidiot\n die Summe zweier Zahlen gesagt bekommen\n\n "},
129 {"type":"Keyword","value":"Szenariogrundriss:"},
130 {"type":"NameFunction","value":" Zwei Zahlen hinzufügen\n"},
131 {"type":"Keyword","value":" Gegeben sei "},
132 {"type":"NameFunction","value":"ich habe "},
133 {"type":"NameVariable","value":"\u003cEingabe_1\u003e"},
134 {"type":"NameFunction","value":" in den Taschenrechner eingegeben\n "},
135 {"type":"Keyword","value":"Und "},
136 {"type":"NameFunction","value":"ich habe "},
137 {"type":"NameVariable","value":"\u003cEingabe_2\u003e"},
138 {"type":"NameFunction","value":" in den Taschenrechner eingegeben\n "},
139 {"type":"Keyword","value":"Wenn "},
140 {"type":"NameFunction","value":"ich "},
141 {"type":"NameVariable","value":"\u003cKnopf\u003e"},
142 {"type":"NameFunction","value":" drücke\n "},
143 {"type":"Keyword","value":"Dann "},
144 {"type":"NameFunction","value":"sollte das Ergebniss auf dem Bildschirm "},
145 {"type":"NameVariable","value":"\u003cAusgabe\u003e"},
146 {"type":"NameFunction","value":" sein\n\n "},
147 {"type":"Keyword","value":"Beispiele:\n |"},
148 {"type":"NameVariable","value":" Eingabe_1"},
149 {"type":"Keyword","value":" |"},
150 {"type":"NameVariable","value":" Eingabe_2"},
151 {"type":"Keyword","value":" |"},
152 {"type":"NameVariable","value":" Knopf"},
153 {"type":"Keyword","value":" |"},
154 {"type":"NameVariable","value":" Ausgabe"},
155 {"type":"Keyword","value":" |"},
156 {"type":"NameFunction","value":"\n"},
157 {"type":"Keyword","value":" |"},
158 {"type":"LiteralString","value":" 20"},
159 {"type":"Keyword","value":" |"},
160 {"type":"LiteralString","value":" 30"},
161 {"type":"Keyword","value":" |"},
162 {"type":"LiteralString","value":" add"},
163 {"type":"Keyword","value":" |"},
164 {"type":"LiteralString","value":" 50"},
165 {"type":"Keyword","value":" |"},
166 {"type":"NameFunction","value":"\n"},
167 {"type":"Keyword","value":" |"},
168 {"type":"LiteralString","value":" 2"},
169 {"type":"Keyword","value":" |"},
170 {"type":"LiteralString","value":" 5"},
171 {"type":"Keyword","value":" |"},
172 {"type":"LiteralString","value":" add"},
173 {"type":"Keyword","value":" |"},
174 {"type":"LiteralString","value":" 7"},
175 {"type":"Keyword","value":" |"},
176 {"type":"NameFunction","value":"\n"},
177 {"type":"Keyword","value":" |"},
178 {"type":"LiteralString","value":" 0"},
179 {"type":"Keyword","value":" |"},
180 {"type":"LiteralString","value":" 40"},
181 {"type":"Keyword","value":" |"},
182 {"type":"LiteralString","value":" add"},
183 {"type":"Keyword","value":" |"},
184 {"type":"LiteralString","value":" 40"},
185 {"type":"Keyword","value":" |\n"},
186 {"type":"NameFunction","value":"\n"},
187 {"type":"Keyword","value":"Feature:"},
188 {"type":"NameFunction","value":" Addition\n In order to avoid silly mistakes\n As a math idiot \n I want to be told the sum of two numbers\n\n "},
189 {"type":"Keyword","value":"Scenario Outline:"},
190 {"type":"NameFunction","value":" Add two numbers\n"},
191 {"type":"Keyword","value":" Given "},
192 {"type":"NameFunction","value":"I have entered "},
193 {"type":"NameVariable","value":"\u003cinput_1\u003e"},
194 {"type":"NameFunction","value":" into the calculator\n "},
195 {"type":"Keyword","value":"* "},
196 {"type":"NameFunction","value":"I have entered "},
197 {"type":"NameVariable","value":"\u003cinput_2\u003e"},
198 {"type":"NameFunction","value":" into the calculator\n "},
199 {"type":"Keyword","value":"When "},
200 {"type":"NameFunction","value":"I press "},
201 {"type":"NameVariable","value":"\u003cbutton\u003e"},
202 {"type":"NameFunction","value":"\n "},
203 {"type":"Keyword","value":"Then "},
204 {"type":"NameFunction","value":"the result should be "},
205 {"type":"NameVariable","value":"\u003coutput\u003e"},
206 {"type":"NameFunction","value":" on the screen\n\n "},
207 {"type":"Keyword","value":"Examples:\n |"},
208 {"type":"NameVariable","value":" input_1"},
209 {"type":"Keyword","value":" |"},
210 {"type":"NameVariable","value":" input_2"},
211 {"type":"Keyword","value":" |"},
212 {"type":"NameVariable","value":" button"},
213 {"type":"Keyword","value":" |"},
214 {"type":"NameVariable","value":" output"},
215 {"type":"Keyword","value":" |"},
216 {"type":"NameFunction","value":"\n"},
217 {"type":"Keyword","value":" |"},
218 {"type":"LiteralString","value":" 20"},
219 {"type":"Keyword","value":" |"},
220 {"type":"LiteralString","value":" 30"},
221 {"type":"Keyword","value":" |"},
222 {"type":"LiteralString","value":" add"},
223 {"type":"Keyword","value":" |"},
224 {"type":"LiteralString","value":" 50"},
225 {"type":"Keyword","value":" |"},
226 {"type":"NameFunction","value":"\n"},
227 {"type":"Keyword","value":" |"},
228 {"type":"LiteralString","value":" 2"},
229 {"type":"Keyword","value":" |"},
230 {"type":"LiteralString","value":" 5"},
231 {"type":"Keyword","value":" |"},
232 {"type":"LiteralString","value":" add"},
233 {"type":"Keyword","value":" |"},
234 {"type":"LiteralString","value":" 7"},
235 {"type":"Keyword","value":" |"},
236 {"type":"NameFunction","value":"\n"},
237 {"type":"Keyword","value":" |"},
238 {"type":"LiteralString","value":" 0"},
239 {"type":"Keyword","value":" |"},
240 {"type":"LiteralString","value":" 40"},
241 {"type":"Keyword","value":" |"},
242 {"type":"LiteralString","value":" add"},
243 {"type":"Keyword","value":" |"},
244 {"type":"LiteralString","value":" 40"},
245 {"type":"Keyword","value":" |\n"}
246]
View as plain text