recipe-tmlanguage 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,604 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3
+ "name": "Recipe",
4
+ "scopeName": "source.recipe",
5
+ "fileTypes": [
6
+ "recipe"
7
+ ],
8
+ "patterns": [
9
+ {
10
+ "name": "comment.block.documentation.recipe",
11
+ "begin": "/\\*\\*",
12
+ "end": "\\*/"
13
+ },
14
+ {
15
+ "name": "comment.block.recipe",
16
+ "begin": "/\\*",
17
+ "end": "\\*/"
18
+ },
19
+ {
20
+ "name": "comment.line.documentation.recipe",
21
+ "match": "#!.*$"
22
+ },
23
+ {
24
+ "name": "comment.line.number-sign.recipe",
25
+ "match": "#.*$"
26
+ },
27
+ {
28
+ "name": "meta.section.ingredient.recipe",
29
+ "begin": "(?i)R/",
30
+ "beginCaptures": {
31
+ "0": {
32
+ "name": "keyword.control.directive.rx.recipe"
33
+ }
34
+ },
35
+ "end": "(?i)(?=R/|Da?/|S/)|\\z",
36
+ "patterns": [
37
+ {
38
+ "name": "comment.block.documentation.recipe",
39
+ "begin": "/\\*\\*",
40
+ "end": "\\*/"
41
+ },
42
+ {
43
+ "name": "comment.block.recipe",
44
+ "begin": "/\\*",
45
+ "end": "\\*/"
46
+ },
47
+ {
48
+ "name": "comment.line.documentation.recipe",
49
+ "match": "#!.*$"
50
+ },
51
+ {
52
+ "name": "comment.line.number-sign.recipe",
53
+ "match": "#.*$"
54
+ },
55
+ {
56
+ "match": "(?<![\\w.])(?:TERATOGEN|BLACKBOX|URGENT|urgent|Urgent|NIEUW|CITO|cito|Cito|STAT|stat|Stat|LASA|REMS|PIM|NEW)(?![\\w.])",
57
+ "name": "invalid.illegal.warning.recipe"
58
+ },
59
+ {
60
+ "match": "(?i)(?<![\\w.])(d\\.?t\\.?d\\.?)(?:\\s+(no))?(?=\\s+\\d)",
61
+ "captures": {
62
+ "1": {
63
+ "name": "keyword.operator.dtd.recipe"
64
+ },
65
+ "2": {
66
+ "name": "keyword.operator.dtd.recipe"
67
+ }
68
+ }
69
+ },
70
+ {
71
+ "match": "\\bad\\b(?=\\s+\\d)",
72
+ "name": "keyword.operator.fill.recipe"
73
+ },
74
+ {
75
+ "match": "[1-9]\\s*dd(?![A-Za-zÀ-ÿ0-9])",
76
+ "name": "keyword.other.frequency.recipe"
77
+ },
78
+ {
79
+ "match": "(?i)\\bom[ \\t]+de(?:[ \\t]+andere)?(?:[ \\t]+\\d+)?[ \\t]+(?:ochtenden|maanden|nachten|avonden|ochtend|morgen|middag|dagen|weken|maand|nacht|avond|uren|week|dag|uur)\\b",
80
+ "name": "keyword.other.frequency.recipe"
81
+ },
82
+ {
83
+ "match": "(?i)\\b\\d+[ \\t]*(?:keer|maal|x|×)[ \\t]+(?:per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)|daags)\\b",
84
+ "name": "keyword.other.frequency.recipe"
85
+ },
86
+ {
87
+ "match": "(?i)\\b(?:zeven|negen|twee|drie|vier|vijf|acht|tien|een|zes)[ \\t]*maal(?:[ \\t]+(?:daags|per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)))?\\b",
88
+ "name": "keyword.other.frequency.recipe"
89
+ },
90
+ {
91
+ "match": "(\\d+(?:[.,]\\d+)?)\\s*(mg/kg/dag\\.|mcg/kg/min|mg/kg/dag|µg/kg/min|mcg/pufje|zetpillen|mcg/kg/h|µg/pufje|mcg/puff|capsules|druppels|ampullen|mg/kg/u|mg/kg/h|µg/kg/h|µg/puff|mcg/dag|tablets|capsule|druppel|sachets|flacons|spuiten|mcg/ml|mmol/l|mcg/kg|mg/min|µg/min|ml/min|mg/uur|µg/uur|ml/uur|IE/uur|mg/24h|mg/dag|µg/dag|IE/dag|IU/dag|ml/dag|mcg/m2|tablet|zakjes|sachet|flacon|pennen|pufjes|pieces|zetpil|mg/ml|mg/dl|µg/ml|ng/ml|mol/l|mEq/l|IE/ml|IU/ml|mg/kg|µg/kg|ng/kg|IE/kg|IU/kg|ml/kg|mcg/h|mg/m2|mg/m²|µg/m²|tabl\\.|caps\\.|zakje|ampul|flac\\.|vials|spuit|pufje|puffs|dosis|doses|stuks|piece|mg/l|g/dl|E/ml|mg/h|µg/h|ml/h|mOsm|tabs|tbl\\.|caps|gtt\\.|amp\\.|vial|puff|stuk|g/l|mcg|ppm|mEq|tab|cap|gtt|fl\\.|pen|ng|µg|mg|kg|lb|oz|µl|ul|µL|uL|ml|mL|cl|cL|dl|dL|IU|IE|g|l|L|E|%|‰)(?![A-Za-zÀ-ÿ])",
92
+ "captures": {
93
+ "1": {
94
+ "name": "constant.numeric.recipe"
95
+ },
96
+ "2": {
97
+ "name": "support.type.unit.recipe"
98
+ }
99
+ }
100
+ },
101
+ {
102
+ "match": "(?<![\\w.])(?:mane\\s+et\\s+nocte|ante\\s+prandium|post\\s+prandium|inter\\s+cibos|hora\\s+somni|in\\s+ieiunio|m\\.\\s+et\\s+v\\.)(?![\\w.])",
103
+ "name": "keyword.other.timing.recipe"
104
+ },
105
+ {
106
+ "match": "(?<![\\w.])(?:per\\s+inhalationem|Per\\s+inhalationem|per\\s+vaginam|ad\\s+us\\.\\s+int\\.|ad\\s+us\\.\\s+ext\\.|Per\\s+vaginam|Ad\\s+us\\.\\s+int\\.|Ad\\s+us\\.\\s+ext\\.|per\\s+rectum|Per\\s+rectum|in\\s+ocul\\.|In\\s+ocul\\.|in\\s+aur\\.|in\\s+nar\\.|In\\s+aur\\.|In\\s+nar\\.|per\\s+os|Per\\s+os)(?![\\w.])",
107
+ "name": "support.function.route.recipe"
108
+ },
109
+ {
110
+ "match": "(?<![\\w.])(?:d\\.c\\.\\s+prohib\\.|d\\.s\\.\\s+monit\\.|sec\\.\\s+art\\.|m\\.\\s+dict\\.|ut\\s+dict\\.)(?![\\w.])",
111
+ "name": "entity.other.attribute-name.recipe"
112
+ },
113
+ {
114
+ "match": "(?<![\\w.])(?:unguent\\.\\s+opht\\.|aq\\.\\s+pro\\s+inj\\.|pulv\\.\\s+adsp\\.|gtt\\s+ophth\\.|sol\\.\\s+inj\\.|gtt\\s+aur\\.|gtt\\s+nas\\.)(?![\\w.])",
115
+ "name": "storage.type.form.recipe"
116
+ },
117
+ {
118
+ "match": "(?<![\\w.])(?:div\\.\\s+in\\s+p\\.\\s+aeq\\.|m\\.f\\.\\s+pulv\\.|m\\.f\\.\\s+caps\\.|m\\.f\\.\\s+ungt\\.|m\\.f\\.\\s+susp\\.|div\\.\\s+in\\s+d\\.|m\\.f\\.\\s+sol\\.|m\\.\\s+et\\s+ft\\.|ad\\s+lib\\.)(?![\\w.])",
119
+ "name": "keyword.operator.compounding.recipe"
120
+ },
121
+ {
122
+ "match": "(?<![\\w.])(?:in\\s+geval\\s+van|si\\s+nec\\.\\s+sit|bij\\s+koorts|zo\\s+nodig|bij\\s+pijn|bij\\s+nood|si\\s+opus)(?![\\w.])",
123
+ "name": "keyword.control.conditional.recipe"
124
+ },
125
+ {
126
+ "match": "(?<![\\w.])(?:b\\.d\\.d\\.|t\\.d\\.d\\.|q\\.i\\.d\\.|s\\.d\\.d\\.|q\\.12h\\.|q\\.a\\.d\\.|q\\.a\\.m\\.|q\\.p\\.m\\.|q\\.o\\.d\\.|b\\.i\\.w\\.|t\\.i\\.w\\.|q\\.2h\\.|q\\.3h\\.|q\\.4h\\.|q\\.6h\\.|q\\.8h\\.|d\\.d\\.|q\\.h\\.|q\\.d\\.|q\\.w\\.)(?![\\w.])",
127
+ "name": "keyword.other.frequency.recipe"
128
+ },
129
+ {
130
+ "match": "(?<![\\w.])(?:matut\\.|nocte|vesp\\.|a\\.c\\.|p\\.c\\.|a\\.n\\.|h\\.s\\.|i\\.c\\.|mane)(?![\\w.])",
131
+ "name": "keyword.other.timing.recipe"
132
+ },
133
+ {
134
+ "match": "(?<![\\w.])(?:subling\\.|SUBLING\\.|transd\\.|TRANSD\\.|a\\.u\\.e\\.|A\\.U\\.E\\.|rect\\.|epid\\.|RECT\\.|EPID\\.|i\\.m\\.|i\\.v\\.|s\\.c\\.|s\\.l\\.|p\\.o\\.|p\\.r\\.|p\\.v\\.|vag\\.|i\\.n\\.|nas\\.|inh\\.|neb\\.|top\\.|buc\\.|i\\.a\\.|i\\.d\\.|i\\.t\\.|i\\.o\\.|i\\.p\\.|o\\.d\\.|o\\.s\\.|o\\.u\\.|u\\.e\\.|I\\.M\\.|I\\.V\\.|S\\.C\\.|S\\.L\\.|P\\.O\\.|P\\.R\\.|P\\.V\\.|VAG\\.|I\\.N\\.|NAS\\.|INH\\.|NEB\\.|TOP\\.|BUC\\.|I\\.A\\.|I\\.D\\.|I\\.T\\.|I\\.O\\.|I\\.P\\.|O\\.D\\.|O\\.S\\.|O\\.U\\.|U\\.E\\.|IV|IM|SC|SL|PO|PR|PV|SQ)(?![\\w.])",
135
+ "name": "support.function.route.recipe"
136
+ },
137
+ {
138
+ "match": "(?<![\\w.])(?:d\\.i\\.m\\.m\\.|non rep\\.|d\\.s\\.p\\.|d\\.c\\.p\\.|m\\.d\\.u\\.|disp\\.|u\\.c\\.|u\\.d\\.|z\\.n\\.|sig\\.|rep\\.|n\\.r\\.)(?![\\w.])",
139
+ "name": "entity.other.attribute-name.recipe"
140
+ },
141
+ {
142
+ "match": "(?<![\\w.])(?:aq\\. dest\\.|aq\\. pur\\.|collut\\.|tinct\\.|troch\\.|aeros\\.|supp\\.|pulv\\.|ungt\\.|susp\\.|mixt\\.|elix\\.|past\\.|spray|patch|pasta|lin\\.|ung\\.|emp\\.|sol\\.|syr\\.|inj\\.|crm\\.|gel\\.)(?![\\w.])",
143
+ "name": "storage.type.form.recipe"
144
+ },
145
+ {
146
+ "match": "(?<![\\w.])(?:solve|m\\.f\\.|q\\.s\\.|q\\.p\\.|c\\.s\\.|div\\.|coq\\.|aa\\.|ft\\.|mf|aa|f\\.)(?![\\w.])",
147
+ "name": "keyword.operator.compounding.recipe"
148
+ },
149
+ {
150
+ "match": "(?<![\\w.])(?:s\\.o\\.s\\.|p\\.r\\.n\\.|prn|PRN)(?![\\w.])",
151
+ "name": "keyword.control.conditional.recipe"
152
+ },
153
+ {
154
+ "match": "\\d+(?:[.,]\\d+)?",
155
+ "name": "constant.numeric.recipe"
156
+ },
157
+ {
158
+ "match": "[-.,;:()]",
159
+ "name": "punctuation.separator.recipe"
160
+ },
161
+ {
162
+ "match": "[A-Za-zÀ-ÿ][A-Za-zÀ-ÿ0-9\\-]*",
163
+ "name": "variable.other.ingredient.recipe"
164
+ }
165
+ ]
166
+ },
167
+ {
168
+ "name": "meta.section.dispense.recipe",
169
+ "begin": "(?i)Da?/",
170
+ "beginCaptures": {
171
+ "0": {
172
+ "name": "keyword.control.directive.dispense.recipe"
173
+ }
174
+ },
175
+ "end": "(?i)(?=R/|Da?/|S/)|\\z",
176
+ "patterns": [
177
+ {
178
+ "name": "comment.block.documentation.recipe",
179
+ "begin": "/\\*\\*",
180
+ "end": "\\*/"
181
+ },
182
+ {
183
+ "name": "comment.block.recipe",
184
+ "begin": "/\\*",
185
+ "end": "\\*/"
186
+ },
187
+ {
188
+ "name": "comment.line.documentation.recipe",
189
+ "match": "#!.*$"
190
+ },
191
+ {
192
+ "name": "comment.line.number-sign.recipe",
193
+ "match": "#.*$"
194
+ },
195
+ {
196
+ "match": "(?<![\\w.])(?:TERATOGEN|BLACKBOX|URGENT|urgent|Urgent|NIEUW|CITO|cito|Cito|STAT|stat|Stat|LASA|REMS|PIM|NEW)(?![\\w.])",
197
+ "name": "invalid.illegal.warning.recipe"
198
+ },
199
+ {
200
+ "match": "(?i)(?<![\\w.])(d\\.?t\\.?d\\.?)(?:\\s+(no))?(?=\\s+\\d)",
201
+ "captures": {
202
+ "1": {
203
+ "name": "keyword.operator.dtd.recipe"
204
+ },
205
+ "2": {
206
+ "name": "keyword.operator.dtd.recipe"
207
+ }
208
+ }
209
+ },
210
+ {
211
+ "match": "\\bad\\b(?=\\s+\\d)",
212
+ "name": "keyword.operator.fill.recipe"
213
+ },
214
+ {
215
+ "match": "[1-9]\\s*dd(?![A-Za-zÀ-ÿ0-9])",
216
+ "name": "keyword.other.frequency.recipe"
217
+ },
218
+ {
219
+ "match": "(?i)\\bom[ \\t]+de(?:[ \\t]+andere)?(?:[ \\t]+\\d+)?[ \\t]+(?:ochtenden|maanden|nachten|avonden|ochtend|morgen|middag|dagen|weken|maand|nacht|avond|uren|week|dag|uur)\\b",
220
+ "name": "keyword.other.frequency.recipe"
221
+ },
222
+ {
223
+ "match": "(?i)\\b\\d+[ \\t]*(?:keer|maal|x|×)[ \\t]+(?:per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)|daags)\\b",
224
+ "name": "keyword.other.frequency.recipe"
225
+ },
226
+ {
227
+ "match": "(?i)\\b(?:zeven|negen|twee|drie|vier|vijf|acht|tien|een|zes)[ \\t]*maal(?:[ \\t]+(?:daags|per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)))?\\b",
228
+ "name": "keyword.other.frequency.recipe"
229
+ },
230
+ {
231
+ "match": "(\\d+(?:[.,]\\d+)?)\\s*(mg/kg/dag\\.|mcg/kg/min|mg/kg/dag|µg/kg/min|mcg/pufje|zetpillen|mcg/kg/h|µg/pufje|mcg/puff|capsules|druppels|ampullen|mg/kg/u|mg/kg/h|µg/kg/h|µg/puff|mcg/dag|tablets|capsule|druppel|sachets|flacons|spuiten|mcg/ml|mmol/l|mcg/kg|mg/min|µg/min|ml/min|mg/uur|µg/uur|ml/uur|IE/uur|mg/24h|mg/dag|µg/dag|IE/dag|IU/dag|ml/dag|mcg/m2|tablet|zakjes|sachet|flacon|pennen|pufjes|pieces|zetpil|mg/ml|mg/dl|µg/ml|ng/ml|mol/l|mEq/l|IE/ml|IU/ml|mg/kg|µg/kg|ng/kg|IE/kg|IU/kg|ml/kg|mcg/h|mg/m2|mg/m²|µg/m²|tabl\\.|caps\\.|zakje|ampul|flac\\.|vials|spuit|pufje|puffs|dosis|doses|stuks|piece|mg/l|g/dl|E/ml|mg/h|µg/h|ml/h|mOsm|tabs|tbl\\.|caps|gtt\\.|amp\\.|vial|puff|stuk|g/l|mcg|ppm|mEq|tab|cap|gtt|fl\\.|pen|ng|µg|mg|kg|lb|oz|µl|ul|µL|uL|ml|mL|cl|cL|dl|dL|IU|IE|g|l|L|E|%|‰)(?![A-Za-zÀ-ÿ])",
232
+ "captures": {
233
+ "1": {
234
+ "name": "constant.numeric.recipe"
235
+ },
236
+ "2": {
237
+ "name": "support.type.unit.recipe"
238
+ }
239
+ }
240
+ },
241
+ {
242
+ "match": "(?<![\\w.])(?:mane\\s+et\\s+nocte|ante\\s+prandium|post\\s+prandium|inter\\s+cibos|hora\\s+somni|in\\s+ieiunio|m\\.\\s+et\\s+v\\.)(?![\\w.])",
243
+ "name": "keyword.other.timing.recipe"
244
+ },
245
+ {
246
+ "match": "(?<![\\w.])(?:per\\s+inhalationem|Per\\s+inhalationem|per\\s+vaginam|ad\\s+us\\.\\s+int\\.|ad\\s+us\\.\\s+ext\\.|Per\\s+vaginam|Ad\\s+us\\.\\s+int\\.|Ad\\s+us\\.\\s+ext\\.|per\\s+rectum|Per\\s+rectum|in\\s+ocul\\.|In\\s+ocul\\.|in\\s+aur\\.|in\\s+nar\\.|In\\s+aur\\.|In\\s+nar\\.|per\\s+os|Per\\s+os)(?![\\w.])",
247
+ "name": "support.function.route.recipe"
248
+ },
249
+ {
250
+ "match": "(?<![\\w.])(?:d\\.c\\.\\s+prohib\\.|d\\.s\\.\\s+monit\\.|sec\\.\\s+art\\.|m\\.\\s+dict\\.|ut\\s+dict\\.)(?![\\w.])",
251
+ "name": "entity.other.attribute-name.recipe"
252
+ },
253
+ {
254
+ "match": "(?<![\\w.])(?:unguent\\.\\s+opht\\.|aq\\.\\s+pro\\s+inj\\.|pulv\\.\\s+adsp\\.|gtt\\s+ophth\\.|sol\\.\\s+inj\\.|gtt\\s+aur\\.|gtt\\s+nas\\.)(?![\\w.])",
255
+ "name": "storage.type.form.recipe"
256
+ },
257
+ {
258
+ "match": "(?<![\\w.])(?:div\\.\\s+in\\s+p\\.\\s+aeq\\.|m\\.f\\.\\s+pulv\\.|m\\.f\\.\\s+caps\\.|m\\.f\\.\\s+ungt\\.|m\\.f\\.\\s+susp\\.|div\\.\\s+in\\s+d\\.|m\\.f\\.\\s+sol\\.|m\\.\\s+et\\s+ft\\.|ad\\s+lib\\.)(?![\\w.])",
259
+ "name": "keyword.operator.compounding.recipe"
260
+ },
261
+ {
262
+ "match": "(?<![\\w.])(?:in\\s+geval\\s+van|si\\s+nec\\.\\s+sit|bij\\s+koorts|zo\\s+nodig|bij\\s+pijn|bij\\s+nood|si\\s+opus)(?![\\w.])",
263
+ "name": "keyword.control.conditional.recipe"
264
+ },
265
+ {
266
+ "match": "(?<![\\w.])(?:b\\.d\\.d\\.|t\\.d\\.d\\.|q\\.i\\.d\\.|s\\.d\\.d\\.|q\\.12h\\.|q\\.a\\.d\\.|q\\.a\\.m\\.|q\\.p\\.m\\.|q\\.o\\.d\\.|b\\.i\\.w\\.|t\\.i\\.w\\.|q\\.2h\\.|q\\.3h\\.|q\\.4h\\.|q\\.6h\\.|q\\.8h\\.|d\\.d\\.|q\\.h\\.|q\\.d\\.|q\\.w\\.)(?![\\w.])",
267
+ "name": "keyword.other.frequency.recipe"
268
+ },
269
+ {
270
+ "match": "(?<![\\w.])(?:matut\\.|nocte|vesp\\.|a\\.c\\.|p\\.c\\.|a\\.n\\.|h\\.s\\.|i\\.c\\.|mane)(?![\\w.])",
271
+ "name": "keyword.other.timing.recipe"
272
+ },
273
+ {
274
+ "match": "(?<![\\w.])(?:subling\\.|SUBLING\\.|transd\\.|TRANSD\\.|a\\.u\\.e\\.|A\\.U\\.E\\.|rect\\.|epid\\.|RECT\\.|EPID\\.|i\\.m\\.|i\\.v\\.|s\\.c\\.|s\\.l\\.|p\\.o\\.|p\\.r\\.|p\\.v\\.|vag\\.|i\\.n\\.|nas\\.|inh\\.|neb\\.|top\\.|buc\\.|i\\.a\\.|i\\.d\\.|i\\.t\\.|i\\.o\\.|i\\.p\\.|o\\.d\\.|o\\.s\\.|o\\.u\\.|u\\.e\\.|I\\.M\\.|I\\.V\\.|S\\.C\\.|S\\.L\\.|P\\.O\\.|P\\.R\\.|P\\.V\\.|VAG\\.|I\\.N\\.|NAS\\.|INH\\.|NEB\\.|TOP\\.|BUC\\.|I\\.A\\.|I\\.D\\.|I\\.T\\.|I\\.O\\.|I\\.P\\.|O\\.D\\.|O\\.S\\.|O\\.U\\.|U\\.E\\.|IV|IM|SC|SL|PO|PR|PV|SQ)(?![\\w.])",
275
+ "name": "support.function.route.recipe"
276
+ },
277
+ {
278
+ "match": "(?<![\\w.])(?:d\\.i\\.m\\.m\\.|non rep\\.|d\\.s\\.p\\.|d\\.c\\.p\\.|m\\.d\\.u\\.|disp\\.|u\\.c\\.|u\\.d\\.|z\\.n\\.|sig\\.|rep\\.|n\\.r\\.)(?![\\w.])",
279
+ "name": "entity.other.attribute-name.recipe"
280
+ },
281
+ {
282
+ "match": "(?<![\\w.])(?:aq\\. dest\\.|aq\\. pur\\.|collut\\.|tinct\\.|troch\\.|aeros\\.|supp\\.|pulv\\.|ungt\\.|susp\\.|mixt\\.|elix\\.|past\\.|spray|patch|pasta|lin\\.|ung\\.|emp\\.|sol\\.|syr\\.|inj\\.|crm\\.|gel\\.)(?![\\w.])",
283
+ "name": "storage.type.form.recipe"
284
+ },
285
+ {
286
+ "match": "(?<![\\w.])(?:solve|m\\.f\\.|q\\.s\\.|q\\.p\\.|c\\.s\\.|div\\.|coq\\.|aa\\.|ft\\.|mf|aa|f\\.)(?![\\w.])",
287
+ "name": "keyword.operator.compounding.recipe"
288
+ },
289
+ {
290
+ "match": "(?<![\\w.])(?:s\\.o\\.s\\.|p\\.r\\.n\\.|prn|PRN)(?![\\w.])",
291
+ "name": "keyword.control.conditional.recipe"
292
+ },
293
+ {
294
+ "match": "\\d+(?:[.,]\\d+)?",
295
+ "name": "constant.numeric.recipe"
296
+ },
297
+ {
298
+ "match": "[-.,;:()]",
299
+ "name": "punctuation.separator.recipe"
300
+ },
301
+ {
302
+ "match": "[A-Za-zÀ-ÿ][A-Za-zÀ-ÿ0-9\\-]*",
303
+ "name": "variable.other.dispense.recipe"
304
+ }
305
+ ]
306
+ },
307
+ {
308
+ "name": "meta.section.signa.recipe",
309
+ "begin": "(?i)S/",
310
+ "beginCaptures": {
311
+ "0": {
312
+ "name": "keyword.control.directive.signa.recipe"
313
+ }
314
+ },
315
+ "end": "(?i)(?=R/|Da?/|S/)|\\z",
316
+ "patterns": [
317
+ {
318
+ "name": "comment.block.documentation.recipe",
319
+ "begin": "/\\*\\*",
320
+ "end": "\\*/"
321
+ },
322
+ {
323
+ "name": "comment.block.recipe",
324
+ "begin": "/\\*",
325
+ "end": "\\*/"
326
+ },
327
+ {
328
+ "name": "comment.line.documentation.recipe",
329
+ "match": "#!.*$"
330
+ },
331
+ {
332
+ "name": "comment.line.number-sign.recipe",
333
+ "match": "#.*$"
334
+ },
335
+ {
336
+ "match": "(?<![\\w.])(?:TERATOGEN|BLACKBOX|URGENT|urgent|Urgent|NIEUW|CITO|cito|Cito|STAT|stat|Stat|LASA|REMS|PIM|NEW)(?![\\w.])",
337
+ "name": "invalid.illegal.warning.recipe"
338
+ },
339
+ {
340
+ "match": "(?i)(?<![\\w.])(d\\.?t\\.?d\\.?)(?:\\s+(no))?(?=\\s+\\d)",
341
+ "captures": {
342
+ "1": {
343
+ "name": "keyword.operator.dtd.recipe"
344
+ },
345
+ "2": {
346
+ "name": "keyword.operator.dtd.recipe"
347
+ }
348
+ }
349
+ },
350
+ {
351
+ "match": "\\bad\\b(?=\\s+\\d)",
352
+ "name": "keyword.operator.fill.recipe"
353
+ },
354
+ {
355
+ "match": "[1-9]\\s*dd(?![A-Za-zÀ-ÿ0-9])",
356
+ "name": "keyword.other.frequency.recipe"
357
+ },
358
+ {
359
+ "match": "(?i)\\bom[ \\t]+de(?:[ \\t]+andere)?(?:[ \\t]+\\d+)?[ \\t]+(?:ochtenden|maanden|nachten|avonden|ochtend|morgen|middag|dagen|weken|maand|nacht|avond|uren|week|dag|uur)\\b",
360
+ "name": "keyword.other.frequency.recipe"
361
+ },
362
+ {
363
+ "match": "(?i)\\b\\d+[ \\t]*(?:keer|maal|x|×)[ \\t]+(?:per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)|daags)\\b",
364
+ "name": "keyword.other.frequency.recipe"
365
+ },
366
+ {
367
+ "match": "(?i)\\b(?:zeven|negen|twee|drie|vier|vijf|acht|tien|een|zes)[ \\t]*maal(?:[ \\t]+(?:daags|per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)))?\\b",
368
+ "name": "keyword.other.frequency.recipe"
369
+ },
370
+ {
371
+ "match": "(\\d+(?:[.,]\\d+)?)\\s*(mg/kg/dag\\.|mcg/kg/min|mg/kg/dag|µg/kg/min|mcg/pufje|zetpillen|mcg/kg/h|µg/pufje|mcg/puff|capsules|druppels|ampullen|mg/kg/u|mg/kg/h|µg/kg/h|µg/puff|mcg/dag|tablets|capsule|druppel|sachets|flacons|spuiten|mcg/ml|mmol/l|mcg/kg|mg/min|µg/min|ml/min|mg/uur|µg/uur|ml/uur|IE/uur|mg/24h|mg/dag|µg/dag|IE/dag|IU/dag|ml/dag|mcg/m2|tablet|zakjes|sachet|flacon|pennen|pufjes|pieces|zetpil|mg/ml|mg/dl|µg/ml|ng/ml|mol/l|mEq/l|IE/ml|IU/ml|mg/kg|µg/kg|ng/kg|IE/kg|IU/kg|ml/kg|mcg/h|mg/m2|mg/m²|µg/m²|tabl\\.|caps\\.|zakje|ampul|flac\\.|vials|spuit|pufje|puffs|dosis|doses|stuks|piece|mg/l|g/dl|E/ml|mg/h|µg/h|ml/h|mOsm|tabs|tbl\\.|caps|gtt\\.|amp\\.|vial|puff|stuk|g/l|mcg|ppm|mEq|tab|cap|gtt|fl\\.|pen|ng|µg|mg|kg|lb|oz|µl|ul|µL|uL|ml|mL|cl|cL|dl|dL|IU|IE|g|l|L|E|%|‰)(?![A-Za-zÀ-ÿ])",
372
+ "captures": {
373
+ "1": {
374
+ "name": "constant.numeric.recipe"
375
+ },
376
+ "2": {
377
+ "name": "support.type.unit.recipe"
378
+ }
379
+ }
380
+ },
381
+ {
382
+ "match": "(?<![\\w.])(?:mane\\s+et\\s+nocte|ante\\s+prandium|post\\s+prandium|inter\\s+cibos|hora\\s+somni|in\\s+ieiunio|m\\.\\s+et\\s+v\\.)(?![\\w.])",
383
+ "name": "keyword.other.timing.recipe"
384
+ },
385
+ {
386
+ "match": "(?<![\\w.])(?:per\\s+inhalationem|Per\\s+inhalationem|per\\s+vaginam|ad\\s+us\\.\\s+int\\.|ad\\s+us\\.\\s+ext\\.|Per\\s+vaginam|Ad\\s+us\\.\\s+int\\.|Ad\\s+us\\.\\s+ext\\.|per\\s+rectum|Per\\s+rectum|in\\s+ocul\\.|In\\s+ocul\\.|in\\s+aur\\.|in\\s+nar\\.|In\\s+aur\\.|In\\s+nar\\.|per\\s+os|Per\\s+os)(?![\\w.])",
387
+ "name": "support.function.route.recipe"
388
+ },
389
+ {
390
+ "match": "(?<![\\w.])(?:d\\.c\\.\\s+prohib\\.|d\\.s\\.\\s+monit\\.|sec\\.\\s+art\\.|m\\.\\s+dict\\.|ut\\s+dict\\.)(?![\\w.])",
391
+ "name": "entity.other.attribute-name.recipe"
392
+ },
393
+ {
394
+ "match": "(?<![\\w.])(?:unguent\\.\\s+opht\\.|aq\\.\\s+pro\\s+inj\\.|pulv\\.\\s+adsp\\.|gtt\\s+ophth\\.|sol\\.\\s+inj\\.|gtt\\s+aur\\.|gtt\\s+nas\\.)(?![\\w.])",
395
+ "name": "storage.type.form.recipe"
396
+ },
397
+ {
398
+ "match": "(?<![\\w.])(?:div\\.\\s+in\\s+p\\.\\s+aeq\\.|m\\.f\\.\\s+pulv\\.|m\\.f\\.\\s+caps\\.|m\\.f\\.\\s+ungt\\.|m\\.f\\.\\s+susp\\.|div\\.\\s+in\\s+d\\.|m\\.f\\.\\s+sol\\.|m\\.\\s+et\\s+ft\\.|ad\\s+lib\\.)(?![\\w.])",
399
+ "name": "keyword.operator.compounding.recipe"
400
+ },
401
+ {
402
+ "match": "(?<![\\w.])(?:in\\s+geval\\s+van|si\\s+nec\\.\\s+sit|bij\\s+koorts|zo\\s+nodig|bij\\s+pijn|bij\\s+nood|si\\s+opus)(?![\\w.])",
403
+ "name": "keyword.control.conditional.recipe"
404
+ },
405
+ {
406
+ "match": "(?<![\\w.])(?:b\\.d\\.d\\.|t\\.d\\.d\\.|q\\.i\\.d\\.|s\\.d\\.d\\.|q\\.12h\\.|q\\.a\\.d\\.|q\\.a\\.m\\.|q\\.p\\.m\\.|q\\.o\\.d\\.|b\\.i\\.w\\.|t\\.i\\.w\\.|q\\.2h\\.|q\\.3h\\.|q\\.4h\\.|q\\.6h\\.|q\\.8h\\.|d\\.d\\.|q\\.h\\.|q\\.d\\.|q\\.w\\.)(?![\\w.])",
407
+ "name": "keyword.other.frequency.recipe"
408
+ },
409
+ {
410
+ "match": "(?<![\\w.])(?:matut\\.|nocte|vesp\\.|a\\.c\\.|p\\.c\\.|a\\.n\\.|h\\.s\\.|i\\.c\\.|mane)(?![\\w.])",
411
+ "name": "keyword.other.timing.recipe"
412
+ },
413
+ {
414
+ "match": "(?<![\\w.])(?:subling\\.|SUBLING\\.|transd\\.|TRANSD\\.|a\\.u\\.e\\.|A\\.U\\.E\\.|rect\\.|epid\\.|RECT\\.|EPID\\.|i\\.m\\.|i\\.v\\.|s\\.c\\.|s\\.l\\.|p\\.o\\.|p\\.r\\.|p\\.v\\.|vag\\.|i\\.n\\.|nas\\.|inh\\.|neb\\.|top\\.|buc\\.|i\\.a\\.|i\\.d\\.|i\\.t\\.|i\\.o\\.|i\\.p\\.|o\\.d\\.|o\\.s\\.|o\\.u\\.|u\\.e\\.|I\\.M\\.|I\\.V\\.|S\\.C\\.|S\\.L\\.|P\\.O\\.|P\\.R\\.|P\\.V\\.|VAG\\.|I\\.N\\.|NAS\\.|INH\\.|NEB\\.|TOP\\.|BUC\\.|I\\.A\\.|I\\.D\\.|I\\.T\\.|I\\.O\\.|I\\.P\\.|O\\.D\\.|O\\.S\\.|O\\.U\\.|U\\.E\\.|IV|IM|SC|SL|PO|PR|PV|SQ)(?![\\w.])",
415
+ "name": "support.function.route.recipe"
416
+ },
417
+ {
418
+ "match": "(?<![\\w.])(?:d\\.i\\.m\\.m\\.|non rep\\.|d\\.s\\.p\\.|d\\.c\\.p\\.|m\\.d\\.u\\.|disp\\.|u\\.c\\.|u\\.d\\.|z\\.n\\.|sig\\.|rep\\.|n\\.r\\.)(?![\\w.])",
419
+ "name": "entity.other.attribute-name.recipe"
420
+ },
421
+ {
422
+ "match": "(?<![\\w.])(?:aq\\. dest\\.|aq\\. pur\\.|collut\\.|tinct\\.|troch\\.|aeros\\.|supp\\.|pulv\\.|ungt\\.|susp\\.|mixt\\.|elix\\.|past\\.|spray|patch|pasta|lin\\.|ung\\.|emp\\.|sol\\.|syr\\.|inj\\.|crm\\.|gel\\.)(?![\\w.])",
423
+ "name": "storage.type.form.recipe"
424
+ },
425
+ {
426
+ "match": "(?<![\\w.])(?:solve|m\\.f\\.|q\\.s\\.|q\\.p\\.|c\\.s\\.|div\\.|coq\\.|aa\\.|ft\\.|mf|aa|f\\.)(?![\\w.])",
427
+ "name": "keyword.operator.compounding.recipe"
428
+ },
429
+ {
430
+ "match": "(?<![\\w.])(?:s\\.o\\.s\\.|p\\.r\\.n\\.|prn|PRN)(?![\\w.])",
431
+ "name": "keyword.control.conditional.recipe"
432
+ },
433
+ {
434
+ "match": "\\d+(?:[.,]\\d+)?",
435
+ "name": "constant.numeric.recipe"
436
+ },
437
+ {
438
+ "match": "[-.,;:()]",
439
+ "name": "punctuation.separator.recipe"
440
+ },
441
+ {
442
+ "match": "[A-Za-zÀ-ÿ][A-Za-zÀ-ÿ0-9\\-]*",
443
+ "name": "string.unquoted.signa.recipe"
444
+ }
445
+ ]
446
+ },
447
+ {
448
+ "match": "(?<![\\w.])(?:TERATOGEN|BLACKBOX|URGENT|urgent|Urgent|NIEUW|CITO|cito|Cito|STAT|stat|Stat|LASA|REMS|PIM|NEW)(?![\\w.])",
449
+ "name": "invalid.illegal.warning.recipe"
450
+ }
451
+ ],
452
+ "repository": {
453
+ "comments": {
454
+ "patterns": [
455
+ {
456
+ "name": "comment.block.documentation.recipe",
457
+ "begin": "/\\*\\*",
458
+ "end": "\\*/"
459
+ },
460
+ {
461
+ "name": "comment.block.recipe",
462
+ "begin": "/\\*",
463
+ "end": "\\*/"
464
+ },
465
+ {
466
+ "name": "comment.line.documentation.recipe",
467
+ "match": "#!.*$"
468
+ },
469
+ {
470
+ "name": "comment.line.number-sign.recipe",
471
+ "match": "#.*$"
472
+ }
473
+ ]
474
+ },
475
+ "shared-atoms": {
476
+ "patterns": [
477
+ {
478
+ "name": "comment.block.documentation.recipe",
479
+ "begin": "/\\*\\*",
480
+ "end": "\\*/"
481
+ },
482
+ {
483
+ "name": "comment.block.recipe",
484
+ "begin": "/\\*",
485
+ "end": "\\*/"
486
+ },
487
+ {
488
+ "name": "comment.line.documentation.recipe",
489
+ "match": "#!.*$"
490
+ },
491
+ {
492
+ "name": "comment.line.number-sign.recipe",
493
+ "match": "#.*$"
494
+ },
495
+ {
496
+ "match": "(?<![\\w.])(?:TERATOGEN|BLACKBOX|URGENT|urgent|Urgent|NIEUW|CITO|cito|Cito|STAT|stat|Stat|LASA|REMS|PIM|NEW)(?![\\w.])",
497
+ "name": "invalid.illegal.warning.recipe"
498
+ },
499
+ {
500
+ "match": "(?i)(?<![\\w.])(d\\.?t\\.?d\\.?)(?:\\s+(no))?(?=\\s+\\d)",
501
+ "captures": {
502
+ "1": {
503
+ "name": "keyword.operator.dtd.recipe"
504
+ },
505
+ "2": {
506
+ "name": "keyword.operator.dtd.recipe"
507
+ }
508
+ }
509
+ },
510
+ {
511
+ "match": "\\bad\\b(?=\\s+\\d)",
512
+ "name": "keyword.operator.fill.recipe"
513
+ },
514
+ {
515
+ "match": "[1-9]\\s*dd(?![A-Za-zÀ-ÿ0-9])",
516
+ "name": "keyword.other.frequency.recipe"
517
+ },
518
+ {
519
+ "match": "(?i)\\bom[ \\t]+de(?:[ \\t]+andere)?(?:[ \\t]+\\d+)?[ \\t]+(?:ochtenden|maanden|nachten|avonden|ochtend|morgen|middag|dagen|weken|maand|nacht|avond|uren|week|dag|uur)\\b",
520
+ "name": "keyword.other.frequency.recipe"
521
+ },
522
+ {
523
+ "match": "(?i)\\b\\d+[ \\t]*(?:keer|maal|x|×)[ \\t]+(?:per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)|daags)\\b",
524
+ "name": "keyword.other.frequency.recipe"
525
+ },
526
+ {
527
+ "match": "(?i)\\b(?:zeven|negen|twee|drie|vier|vijf|acht|tien|een|zes)[ \\t]*maal(?:[ \\t]+(?:daags|per[ \\t]+(?:ochtend|morgen|middag|maand|nacht|avond|week|dag|uur)))?\\b",
528
+ "name": "keyword.other.frequency.recipe"
529
+ },
530
+ {
531
+ "match": "(\\d+(?:[.,]\\d+)?)\\s*(mg/kg/dag\\.|mcg/kg/min|mg/kg/dag|µg/kg/min|mcg/pufje|zetpillen|mcg/kg/h|µg/pufje|mcg/puff|capsules|druppels|ampullen|mg/kg/u|mg/kg/h|µg/kg/h|µg/puff|mcg/dag|tablets|capsule|druppel|sachets|flacons|spuiten|mcg/ml|mmol/l|mcg/kg|mg/min|µg/min|ml/min|mg/uur|µg/uur|ml/uur|IE/uur|mg/24h|mg/dag|µg/dag|IE/dag|IU/dag|ml/dag|mcg/m2|tablet|zakjes|sachet|flacon|pennen|pufjes|pieces|zetpil|mg/ml|mg/dl|µg/ml|ng/ml|mol/l|mEq/l|IE/ml|IU/ml|mg/kg|µg/kg|ng/kg|IE/kg|IU/kg|ml/kg|mcg/h|mg/m2|mg/m²|µg/m²|tabl\\.|caps\\.|zakje|ampul|flac\\.|vials|spuit|pufje|puffs|dosis|doses|stuks|piece|mg/l|g/dl|E/ml|mg/h|µg/h|ml/h|mOsm|tabs|tbl\\.|caps|gtt\\.|amp\\.|vial|puff|stuk|g/l|mcg|ppm|mEq|tab|cap|gtt|fl\\.|pen|ng|µg|mg|kg|lb|oz|µl|ul|µL|uL|ml|mL|cl|cL|dl|dL|IU|IE|g|l|L|E|%|‰)(?![A-Za-zÀ-ÿ])",
532
+ "captures": {
533
+ "1": {
534
+ "name": "constant.numeric.recipe"
535
+ },
536
+ "2": {
537
+ "name": "support.type.unit.recipe"
538
+ }
539
+ }
540
+ },
541
+ {
542
+ "match": "(?<![\\w.])(?:mane\\s+et\\s+nocte|ante\\s+prandium|post\\s+prandium|inter\\s+cibos|hora\\s+somni|in\\s+ieiunio|m\\.\\s+et\\s+v\\.)(?![\\w.])",
543
+ "name": "keyword.other.timing.recipe"
544
+ },
545
+ {
546
+ "match": "(?<![\\w.])(?:per\\s+inhalationem|Per\\s+inhalationem|per\\s+vaginam|ad\\s+us\\.\\s+int\\.|ad\\s+us\\.\\s+ext\\.|Per\\s+vaginam|Ad\\s+us\\.\\s+int\\.|Ad\\s+us\\.\\s+ext\\.|per\\s+rectum|Per\\s+rectum|in\\s+ocul\\.|In\\s+ocul\\.|in\\s+aur\\.|in\\s+nar\\.|In\\s+aur\\.|In\\s+nar\\.|per\\s+os|Per\\s+os)(?![\\w.])",
547
+ "name": "support.function.route.recipe"
548
+ },
549
+ {
550
+ "match": "(?<![\\w.])(?:d\\.c\\.\\s+prohib\\.|d\\.s\\.\\s+monit\\.|sec\\.\\s+art\\.|m\\.\\s+dict\\.|ut\\s+dict\\.)(?![\\w.])",
551
+ "name": "entity.other.attribute-name.recipe"
552
+ },
553
+ {
554
+ "match": "(?<![\\w.])(?:unguent\\.\\s+opht\\.|aq\\.\\s+pro\\s+inj\\.|pulv\\.\\s+adsp\\.|gtt\\s+ophth\\.|sol\\.\\s+inj\\.|gtt\\s+aur\\.|gtt\\s+nas\\.)(?![\\w.])",
555
+ "name": "storage.type.form.recipe"
556
+ },
557
+ {
558
+ "match": "(?<![\\w.])(?:div\\.\\s+in\\s+p\\.\\s+aeq\\.|m\\.f\\.\\s+pulv\\.|m\\.f\\.\\s+caps\\.|m\\.f\\.\\s+ungt\\.|m\\.f\\.\\s+susp\\.|div\\.\\s+in\\s+d\\.|m\\.f\\.\\s+sol\\.|m\\.\\s+et\\s+ft\\.|ad\\s+lib\\.)(?![\\w.])",
559
+ "name": "keyword.operator.compounding.recipe"
560
+ },
561
+ {
562
+ "match": "(?<![\\w.])(?:in\\s+geval\\s+van|si\\s+nec\\.\\s+sit|bij\\s+koorts|zo\\s+nodig|bij\\s+pijn|bij\\s+nood|si\\s+opus)(?![\\w.])",
563
+ "name": "keyword.control.conditional.recipe"
564
+ },
565
+ {
566
+ "match": "(?<![\\w.])(?:b\\.d\\.d\\.|t\\.d\\.d\\.|q\\.i\\.d\\.|s\\.d\\.d\\.|q\\.12h\\.|q\\.a\\.d\\.|q\\.a\\.m\\.|q\\.p\\.m\\.|q\\.o\\.d\\.|b\\.i\\.w\\.|t\\.i\\.w\\.|q\\.2h\\.|q\\.3h\\.|q\\.4h\\.|q\\.6h\\.|q\\.8h\\.|d\\.d\\.|q\\.h\\.|q\\.d\\.|q\\.w\\.)(?![\\w.])",
567
+ "name": "keyword.other.frequency.recipe"
568
+ },
569
+ {
570
+ "match": "(?<![\\w.])(?:matut\\.|nocte|vesp\\.|a\\.c\\.|p\\.c\\.|a\\.n\\.|h\\.s\\.|i\\.c\\.|mane)(?![\\w.])",
571
+ "name": "keyword.other.timing.recipe"
572
+ },
573
+ {
574
+ "match": "(?<![\\w.])(?:subling\\.|SUBLING\\.|transd\\.|TRANSD\\.|a\\.u\\.e\\.|A\\.U\\.E\\.|rect\\.|epid\\.|RECT\\.|EPID\\.|i\\.m\\.|i\\.v\\.|s\\.c\\.|s\\.l\\.|p\\.o\\.|p\\.r\\.|p\\.v\\.|vag\\.|i\\.n\\.|nas\\.|inh\\.|neb\\.|top\\.|buc\\.|i\\.a\\.|i\\.d\\.|i\\.t\\.|i\\.o\\.|i\\.p\\.|o\\.d\\.|o\\.s\\.|o\\.u\\.|u\\.e\\.|I\\.M\\.|I\\.V\\.|S\\.C\\.|S\\.L\\.|P\\.O\\.|P\\.R\\.|P\\.V\\.|VAG\\.|I\\.N\\.|NAS\\.|INH\\.|NEB\\.|TOP\\.|BUC\\.|I\\.A\\.|I\\.D\\.|I\\.T\\.|I\\.O\\.|I\\.P\\.|O\\.D\\.|O\\.S\\.|O\\.U\\.|U\\.E\\.|IV|IM|SC|SL|PO|PR|PV|SQ)(?![\\w.])",
575
+ "name": "support.function.route.recipe"
576
+ },
577
+ {
578
+ "match": "(?<![\\w.])(?:d\\.i\\.m\\.m\\.|non rep\\.|d\\.s\\.p\\.|d\\.c\\.p\\.|m\\.d\\.u\\.|disp\\.|u\\.c\\.|u\\.d\\.|z\\.n\\.|sig\\.|rep\\.|n\\.r\\.)(?![\\w.])",
579
+ "name": "entity.other.attribute-name.recipe"
580
+ },
581
+ {
582
+ "match": "(?<![\\w.])(?:aq\\. dest\\.|aq\\. pur\\.|collut\\.|tinct\\.|troch\\.|aeros\\.|supp\\.|pulv\\.|ungt\\.|susp\\.|mixt\\.|elix\\.|past\\.|spray|patch|pasta|lin\\.|ung\\.|emp\\.|sol\\.|syr\\.|inj\\.|crm\\.|gel\\.)(?![\\w.])",
583
+ "name": "storage.type.form.recipe"
584
+ },
585
+ {
586
+ "match": "(?<![\\w.])(?:solve|m\\.f\\.|q\\.s\\.|q\\.p\\.|c\\.s\\.|div\\.|coq\\.|aa\\.|ft\\.|mf|aa|f\\.)(?![\\w.])",
587
+ "name": "keyword.operator.compounding.recipe"
588
+ },
589
+ {
590
+ "match": "(?<![\\w.])(?:s\\.o\\.s\\.|p\\.r\\.n\\.|prn|PRN)(?![\\w.])",
591
+ "name": "keyword.control.conditional.recipe"
592
+ },
593
+ {
594
+ "match": "\\d+(?:[.,]\\d+)?",
595
+ "name": "constant.numeric.recipe"
596
+ },
597
+ {
598
+ "match": "[-.,;:()]",
599
+ "name": "punctuation.separator.recipe"
600
+ }
601
+ ]
602
+ }
603
+ }
604
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * TextMate grammar for the recipe (.recipe) pharmacological notation language.
3
+ * @module recipe-tmlanguage
4
+ */
5
+ import lang from "./recipe.tmLanguage.json" with { type: "json" };
6
+
7
+ /** TextMate grammar for the recipe (.recipe) pharmacological notation language. */
8
+ const recipeTmLanguage = lang;
9
+
10
+ export default recipeTmLanguage;