...
1<lexer>
2 <config>
3 <name>Bicep</name>
4 <alias>bicep</alias>
5 <filename>*.bicep</filename>
6 </config>
7 <rules>
8 <state name="root">
9 <rule pattern="//[^\n\r]+">
10 <token type="CommentSingle"/>
11 </rule>
12 <rule pattern="/\*.*?\*/">
13 <token type="CommentMultiline"/>
14 </rule>
15 <rule pattern="([']?\w+[']?)(:)">
16 <bygroups>
17 <token type="NameProperty"/>
18 <token type="Punctuation"/>
19 </bygroups>
20 </rule>
21 <rule pattern="\b('(resourceGroup|subscription|managementGroup|tenant)')\b">
22 <token type="KeywordNamespace"/>
23 </rule>
24 <rule pattern="'[\w\$\{\(\)\}\.]{1,}?'">
25 <token type="LiteralStringInterpol"/>
26 </rule>
27 <rule pattern="('''|').*?('''|')">
28 <token type="LiteralString"/>
29 </rule>
30 <rule pattern="\b(allowed|batchSize|description|maxLength|maxValue|metadata|minLength|minValue|secure)\b">
31 <token type="NameDecorator"/>
32 </rule>
33 <rule pattern="\b(az|sys)\.">
34 <token type="NameNamespace"/>
35 </rule>
36 <rule pattern="\b(any|array|concat|contains|empty|first|intersection|items|last|length|min|max|range|skip|take|union|dateTimeAdd|utcNow|deployment|environment|loadFileAsBase64|loadTextContent|int|json|extensionResourceId|getSecret|list|listKeys|listKeyValue|listAccountSas|listSecrets|pickZones|reference|resourceId|subscriptionResourceId|tenantResourceId|managementGroup|resourceGroup|subscription|tenant|base64|base64ToJson|base64ToString|dataUri|dataUriToString|endsWith|format|guid|indexOf|lastIndexOf|length|newGuid|padLeft|replace|split|startsWith|string|substring|toLower|toUpper|trim|uniqueString|uri|uriComponent|uriComponentToString)\b">
37 <token type="NameFunction"/>
38 </rule>
39 <rule pattern="\b(bool)(\()">
40 <bygroups>
41 <token type="NameFunction"/>
42 <token type="Punctuation"/>
43 </bygroups>
44 </rule>
45 <rule pattern="\b(for|if|in)\b">
46 <token type="Keyword"/>
47 </rule>
48 <rule pattern="\b(module|output|param|resource|var)\b">
49 <token type="KeywordDeclaration"/>
50 </rule>
51 <rule pattern="\b(array|bool|int|object|string)\b">
52 <token type="KeywordType"/>
53 </rule>
54 <rule pattern="(>=|>|<=|<|==|!=|=~|!~|::|&&|\?\?|!|-|%|\*|\/|\+)">
55 <token type="Operator"/>
56 </rule>
57 <rule pattern="[\(\)\[\]\.:\?{}@=]">
58 <token type="Punctuation"/>
59 </rule>
60 <rule pattern="[\w_-]+">
61 <token type="Text"/>
62 </rule>
63 <rule pattern="\s+">
64 <token type="TextWhitespace"/>
65 </rule>
66 </state>
67 </rules>
68</lexer>
View as plain text