1<lexer>
  2  <config>
  3    <name>Gherkin</name>
  4    <alias>cucumber</alias>
  5    <alias>Cucumber</alias>
  6    <alias>gherkin</alias>
  7    <alias>Gherkin</alias>
  8    <filename>*.feature</filename>
  9    <filename>*.FEATURE</filename>
 10    <mime_type>text/x-gherkin</mime_type>
 11  </config>
 12  <rules>
 13    <state name="comments">
 14      <rule pattern="\s*#.*$">
 15        <token type="Comment"/>
 16      </rule>
 17    </state>
 18    <state name="featureElementsOnStack">
 19      <rule pattern="^(\s*)(하지만|조건|먼저|만일|만약|단|그리고|그러면|那麼|那么|而且|當|当|前提|假設|假设|假如|假定|但是|但し|並且|并且|同時|同时|もし|ならば|ただし|しかし|かつ|و |متى |لكن |عندما |ثم |بفرض |اذاً |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Унда |То |Припустимо, що |Припустимо |Онда |Но |Нехай |Лекин |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |Then y'all |Then |Tapi |Tak |Tada |Tad |Så |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Når |När |Niin |Nhưng |N |Mutta |Men |Mas |Maka |Majd |Mais |Maar |Ma |Lorsque |Lorsqu'|Kun |Kuid |Kui |Khi |Keď |Ketika |Když |Kaj |Kai |Kada |Kad |Jeżeli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben sei |Fakat |Eğer ki |Etant donné |Et |Então |Entonces |Entao |En |Eeldades |E |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dato |Dar |Dann |Dan |Dado |Dacă |Daca |DEN |Când |Cuando |Cho |Cept |Cand |Cal |But y'all |But |Buh |Biết |Bet |BUT |Atès |Atunci |Atesa |Anrhegedig a |Angenommen |And y'all |And |An |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Aber |AN |A také |A |\* )">
 20        <token type="Keyword"/>
 21        <pop depth="2"/>
 22      </rule>
 23      <rule>
 24        <include state="comments"/>
 25      </rule>
 26      <rule pattern="(\s|.)">
 27        <token type="NameFunction"/>
 28      </rule>
 29    </state>
 30    <state name="tableContent">
 31      <rule pattern="\s+\|\s*$">
 32        <token type="Keyword"/>
 33        <pop depth="1"/>
 34      </rule>
 35      <rule>
 36        <include state="comments"/>
 37      </rule>
 38      <rule pattern="\\\|">
 39        <token type="LiteralString"/>
 40      </rule>
 41      <rule pattern="\s*\|">
 42        <token type="Keyword"/>
 43      </rule>
 44      <rule pattern=""">
 45        <token type="LiteralString"/>
 46        <push state="doubleStringTable"/>
 47      </rule>
 48      <rule>
 49        <include state="string"/>
 50      </rule>
 51    </state>
 52    <state name="numbers">
 53      <rule pattern="(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?">
 54        <token type="LiteralString"/>
 55      </rule>
 56    </state>
 57    <state name="tableVars">
 58      <rule pattern="(<[^>]+>)">
 59        <token type="NameVariable"/>
 60      </rule>
 61    </state>
 62    <state name="doubleString">
 63      <rule pattern=""">
 64        <token type="NameFunction"/>
 65        <pop depth="1"/>
 66      </rule>
 67      <rule>
 68        <include state="string"/>
 69      </rule>
 70    </state>
 71    <state name="featureElements">
 72      <rule pattern="^(\s*)(하지만|조건|먼저|만일|만약|단|그리고|그러면|那麼|那么|而且|當|当|前提|假設|假设|假如|假定|但是|但し|並且|并且|同時|同时|もし|ならば|ただし|しかし|かつ|و |متى |لكن |عندما |ثم |بفرض |اذاً |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Унда |То |Припустимо, що |Припустимо |Онда |Но |Нехай |Лекин |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |Then y'all |Then |Tapi |Tak |Tada |Tad |Så |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Når |När |Niin |Nhưng |N |Mutta |Men |Mas |Maka |Majd |Mais |Maar |Ma |Lorsque |Lorsqu'|Kun |Kuid |Kui |Khi |Keď |Ketika |Když |Kaj |Kai |Kada |Kad |Jeżeli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben sei |Fakat |Eğer ki |Etant donné |Et |Então |Entonces |Entao |En |Eeldades |E |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dato |Dar |Dann |Dan |Dado |Dacă |Daca |DEN |Când |Cuando |Cho |Cept |Cand |Cal |But y'all |But |Buh |Biết |Bet |BUT |Atès |Atunci |Atesa |Anrhegedig a |Angenommen |And y'all |And |An |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Aber |AN |A také |A |\* )">
 73        <token type="Keyword"/>
 74        <push state="stepContentStack"/>
 75      </rule>
 76      <rule>
 77        <include state="comments"/>
 78      </rule>
 79      <rule pattern="(\s|.)">
 80        <token type="NameFunction"/>
 81      </rule>
 82    </state>
 83    <state name="examplesTableHeader">
 84      <rule pattern="\s+\|\s*$">
 85        <token type="Keyword"/>
 86        <pop depth="2"/>
 87      </rule>
 88      <rule>
 89        <include state="comments"/>
 90      </rule>
 91      <rule pattern="\\\|">
 92        <token type="NameVariable"/>
 93      </rule>
 94      <rule pattern="\s*\|">
 95        <token type="Keyword"/>
 96      </rule>
 97      <rule pattern="[^|]">
 98        <token type="NameVariable"/>
 99      </rule>
100    </state>
101    <state name="stepContentStack">
102      <rule pattern="$">
103        <token type="Keyword"/>
104        <pop depth="2"/>
105      </rule>
106      <rule>
107        <include state="stepContent"/>
108      </rule>
109    </state>
110    <state name="pyString">
111      <rule pattern=""""">
112        <token type="Keyword"/>
113        <pop depth="1"/>
114      </rule>
115      <rule>
116        <include state="string"/>
117      </rule>
118    </state>
119    <state name="examplesTable">
120      <rule pattern="\s+\|">
121        <token type="Keyword"/>
122        <push state="examplesTableHeader"/>
123      </rule>
124      <rule>
125        <include state="comments"/>
126      </rule>
127      <rule pattern="(\s|.)">
128        <token type="NameFunction"/>
129      </rule>
130    </state>
131    <state name="stepContentRoot">
132      <rule pattern="$">
133        <token type="Keyword"/>
134        <pop depth="1"/>
135      </rule>
136      <rule>
137        <include state="stepContent"/>
138      </rule>
139    </state>
140    <state name="doubleStringTable">
141      <rule pattern=""">
142        <token type="LiteralString"/>
143        <pop depth="1"/>
144      </rule>
145      <rule>
146        <include state="string"/>
147      </rule>
148    </state>
149    <state name="string">
150      <rule>
151        <include state="tableVars"/>
152      </rule>
153      <rule pattern="(\s|.)">
154        <token type="LiteralString"/>
155      </rule>
156    </state>
157    <state name="stepContent">
158      <rule pattern=""">
159        <token type="NameFunction"/>
160        <push state="doubleString"/>
161      </rule>
162      <rule>
163        <include state="tableVars"/>
164      </rule>
165      <rule>
166        <include state="numbers"/>
167      </rule>
168      <rule>
169        <include state="comments"/>
170      </rule>
171      <rule pattern="(\s|.)">
172        <token type="NameFunction"/>
173      </rule>
174    </state>
175    <state name="scenarioSectionsOnStack">
176      <rule pattern="^(\s*)(시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|剧本大纲|剧本|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|سيناريو مخطط|سيناريو|الخلفية|תרחיש|תבנית תרחיש|רקע|Тарих|Сценарій|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Пример|Предыстория|Предистория|Позадина|Передумова|Основа|Концепт|Контекст|Założenia|Wharrimean is|Tình huống|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situācija|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenaro|Scenariusz|Scenariul de şablon|Scenariul de sablon|Scenariu|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenarijaus šablonas|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Primer|Pozadí|Pozadina|Pozadie|Plan du scénario|Plan du Scénario|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Kịch bản|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Háttér|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Fono|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Escenario|Escenari|Dis is what went down|Dasar|Contexto|Contexte|Contesto|Condiţii|Conditii|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario)(:)(.*)$">
177        <bygroups>
178          <token type="NameFunction"/>
179          <token type="Keyword"/>
180          <token type="Keyword"/>
181          <token type="NameFunction"/>
182        </bygroups>
183        <push state="featureElementsOnStack"/>
184      </rule>
185    </state>
186    <state name="narrative">
187      <rule>
188        <include state="scenarioSectionsOnStack"/>
189      </rule>
190      <rule pattern="(\s|.)">
191        <token type="NameFunction"/>
192      </rule>
193    </state>
194    <state name="root">
195      <rule pattern="\n">
196        <token type="NameFunction"/>
197      </rule>
198      <rule>
199        <include state="comments"/>
200      </rule>
201      <rule pattern=""""">
202        <token type="Keyword"/>
203        <push state="pyString"/>
204      </rule>
205      <rule pattern="\s+\|">
206        <token type="Keyword"/>
207        <push state="tableContent"/>
208      </rule>
209      <rule pattern=""">
210        <token type="NameFunction"/>
211        <push state="doubleString"/>
212      </rule>
213      <rule>
214        <include state="tableVars"/>
215      </rule>
216      <rule>
217        <include state="numbers"/>
218      </rule>
219      <rule pattern="(\s*)(@[^@\r\n\t ]+)">
220        <bygroups>
221          <token type="NameFunction"/>
222          <token type="NameTag"/>
223        </bygroups>
224      </rule>
225      <rule pattern="^(\s*)(하지만|조건|먼저|만일|만약|단|그리고|그러면|那麼|那么|而且|當|当|前提|假設|假设|假如|假定|但是|但し|並且|并且|同時|同时|もし|ならば|ただし|しかし|かつ|و |متى |لكن |عندما |ثم |بفرض |اذاً |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Унда |То |Припустимо, що |Припустимо |Онда |Но |Нехай |Лекин |Когато |Када |Кад |К тому же |И |Задато |Задати |Задате |Если |Допустим |Дадено |Ва |Бирок |Аммо |Али |Але |Агар |А |І |Și |És |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Youse know when youse got |Youse know like when |Yna |Ya know how |Ya gotta |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |Và |Ve |Und |Un |Thì |Then y'all |Then |Tapi |Tak |Tada |Tad |Så |Stel |Soit |Siis |Si |Sed |Se |Quando |Quand |Quan |Pryd |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Når |När |Niin |Nhưng |N |Mutta |Men |Mas |Maka |Majd |Mais |Maar |Ma |Lorsque |Lorsqu'|Kun |Kuid |Kui |Khi |Keď |Ketika |Když |Kaj |Kai |Kada |Kad |Jeżeli |Ja |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben sei |Fakat |Eğer ki |Etant donné |Et |Então |Entonces |Entao |En |Eeldades |E |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Dengan |Den youse gotta |De |Dato |Dar |Dann |Dan |Dado |Dacă |Daca |DEN |Când |Cuando |Cho |Cept |Cand |Cal |But y'all |But |Buh |Biết |Bet |BUT |Atès |Atunci |Atesa |Anrhegedig a |Angenommen |And y'all |And |An |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Aber |AN |A také |A |\* )">
226        <bygroups>
227          <token type="NameFunction"/>
228          <token type="Keyword"/>
229        </bygroups>
230        <push state="stepContentRoot"/>
231      </rule>
232      <rule pattern="^(기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функционалност|Функционал|Фича|Особина|Могућност|Özellik|Właściwość|Tính năng|Trajto|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Feature|Egenskap|Egenskab|Crikey|Característica|Arwedd)(:)(.*)$">
233        <bygroups>
234          <token type="Keyword"/>
235          <token type="Keyword"/>
236          <token type="NameFunction"/>
237        </bygroups>
238        <push state="narrative"/>
239      </rule>
240      <rule pattern="^(\s*)(시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|剧本大纲|剧本|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|سيناريو مخطط|سيناريو|الخلفية|תרחיש|תבנית תרחיש|רקע|Тарих|Сценарій|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Пример|Предыстория|Предистория|Позадина|Передумова|Основа|Концепт|Контекст|Założenia|Wharrimean is|Tình huống|The thing of it is|Tausta|Taust|Tapausaihio|Tapaus|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situācija|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenaro|Scenariusz|Scenariul de şablon|Scenariul de sablon|Scenariu|Scenario Outline|Scenario Amlinellol|Scenario|Scenarijus|Scenarijaus šablonas|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Primer|Pozadí|Pozadina|Pozadie|Plan du scénario|Plan du Scénario|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Kịch bản|Konturo de la scenaro|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Háttér|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Fono|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Escenario|Escenari|Dis is what went down|Dasar|Contexto|Contexte|Contesto|Condiţii|Conditii|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario)(:)(.*)$">
241        <bygroups>
242          <token type="NameFunction"/>
243          <token type="Keyword"/>
244          <token type="Keyword"/>
245          <token type="NameFunction"/>
246        </bygroups>
247        <push state="featureElements"/>
248      </rule>
249      <rule pattern="^(\s*)(예|例子|例|サンプル|امثلة|דוגמאות|Сценарији|Примери|Приклади|Мисоллар|Значения|Örnekler|Voorbeelden|Variantai|Tapaukset|Scenarios|Scenariji|Scenarijai|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri|Piemēri|Pavyzdžiai|Paraugs|Juhtumid|Exemplos|Exemples|Exemplele|Exempel|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Contoh|Cobber|Beispiele)(:)(.*)$">
250        <bygroups>
251          <token type="NameFunction"/>
252          <token type="Keyword"/>
253          <token type="Keyword"/>
254          <token type="NameFunction"/>
255        </bygroups>
256        <push state="examplesTable"/>
257      </rule>
258      <rule pattern="(\s|.)">
259        <token type="NameFunction"/>
260      </rule>
261    </state>
262  </rules>
263</lexer>