comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/blitzbasic.xml @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
comparison
equal deleted inserted replaced
65:6d985efa0f7a 66:787b5ee0289d
1 <lexer>
2 <config>
3 <name>BlitzBasic</name>
4 <alias>blitzbasic</alias>
5 <alias>b3d</alias>
6 <alias>bplus</alias>
7 <filename>*.bb</filename>
8 <filename>*.decls</filename>
9 <mime_type>text/x-bb</mime_type>
10 <case_insensitive>true</case_insensitive>
11 </config>
12 <rules>
13 <state name="string">
14 <rule pattern="&#34;&#34;">
15 <token type="LiteralStringDouble"/>
16 </rule>
17 <rule pattern="&#34;C?">
18 <token type="LiteralStringDouble"/>
19 <pop depth="1"/>
20 </rule>
21 <rule pattern="[^&#34;]+">
22 <token type="LiteralStringDouble"/>
23 </rule>
24 </state>
25 <state name="root">
26 <rule pattern="[ \t]+">
27 <token type="Text"/>
28 </rule>
29 <rule pattern=";.*?\n">
30 <token type="CommentSingle"/>
31 </rule>
32 <rule pattern="&#34;">
33 <token type="LiteralStringDouble"/>
34 <push state="string"/>
35 </rule>
36 <rule pattern="[0-9]+\.[0-9]*(?!\.)">
37 <token type="LiteralNumberFloat"/>
38 </rule>
39 <rule pattern="\.[0-9]+(?!\.)">
40 <token type="LiteralNumberFloat"/>
41 </rule>
42 <rule pattern="[0-9]+">
43 <token type="LiteralNumberInteger"/>
44 </rule>
45 <rule pattern="\$[0-9a-f]+">
46 <token type="LiteralNumberHex"/>
47 </rule>
48 <rule pattern="\%[10]+">
49 <token type="LiteralNumberBin"/>
50 </rule>
51 <rule pattern="\b(Before|Handle|After|First|Float|Last|Sgn|Abs|Not|And|Int|Mod|Str|Sar|Shr|Shl|Or)\b">
52 <token type="Operator"/>
53 </rule>
54 <rule pattern="([+\-*/~=&lt;&gt;^])">
55 <token type="Operator"/>
56 </rule>
57 <rule pattern="[(),:\[\]\\]">
58 <token type="Punctuation"/>
59 </rule>
60 <rule pattern="\.([ \t]*)([a-z]\w*)">
61 <token type="NameLabel"/>
62 </rule>
63 <rule pattern="\b(New)\b([ \t]+)([a-z]\w*)">
64 <bygroups>
65 <token type="KeywordReserved"/>
66 <token type="Text"/>
67 <token type="NameClass"/>
68 </bygroups>
69 </rule>
70 <rule pattern="\b(Gosub|Goto)\b([ \t]+)([a-z]\w*)">
71 <bygroups>
72 <token type="KeywordReserved"/>
73 <token type="Text"/>
74 <token type="NameLabel"/>
75 </bygroups>
76 </rule>
77 <rule pattern="\b(Object)\b([ \t]*)([.])([ \t]*)([a-z]\w*)\b">
78 <bygroups>
79 <token type="Operator"/>
80 <token type="Text"/>
81 <token type="Punctuation"/>
82 <token type="Text"/>
83 <token type="NameClass"/>
84 </bygroups>
85 </rule>
86 <rule pattern="\b([a-z]\w*)(?:([ \t]*)(@{1,2}|[#$%])|([ \t]*)([.])([ \t]*)(?:([a-z]\w*)))?\b([ \t]*)(\()">
87 <bygroups>
88 <token type="NameFunction"/>
89 <token type="Text"/>
90 <token type="KeywordType"/>
91 <token type="Text"/>
92 <token type="Punctuation"/>
93 <token type="Text"/>
94 <token type="NameClass"/>
95 <token type="Text"/>
96 <token type="Punctuation"/>
97 </bygroups>
98 </rule>
99 <rule pattern="\b(Function)\b([ \t]+)([a-z]\w*)(?:([ \t]*)(@{1,2}|[#$%])|([ \t]*)([.])([ \t]*)(?:([a-z]\w*)))?">
100 <bygroups>
101 <token type="KeywordReserved"/>
102 <token type="Text"/>
103 <token type="NameFunction"/>
104 <token type="Text"/>
105 <token type="KeywordType"/>
106 <token type="Text"/>
107 <token type="Punctuation"/>
108 <token type="Text"/>
109 <token type="NameClass"/>
110 </bygroups>
111 </rule>
112 <rule pattern="\b(Type)([ \t]+)([a-z]\w*)">
113 <bygroups>
114 <token type="KeywordReserved"/>
115 <token type="Text"/>
116 <token type="NameClass"/>
117 </bygroups>
118 </rule>
119 <rule pattern="\b(Pi|True|False|Null)\b">
120 <token type="KeywordConstant"/>
121 </rule>
122 <rule pattern="\b(Local|Global|Const|Field|Dim)\b">
123 <token type="KeywordDeclaration"/>
124 </rule>
125 <rule pattern="\b(Function|Restore|Default|Forever|Include|Return|Repeat|ElseIf|Delete|Insert|Select|EndIf|Until|While|Gosub|Type|Goto|Else|Data|Next|Step|Each|Case|Wend|Exit|Read|Then|For|New|Asc|Len|Chr|End|To|If)\b">
126 <token type="KeywordReserved"/>
127 </rule>
128 <rule pattern="([a-z]\w*)(?:([ \t]*)(@{1,2}|[#$%])|([ \t]*)([.])([ \t]*)(?:([a-z]\w*)))?">
129 <bygroups>
130 <token type="NameVariable"/>
131 <token type="Text"/>
132 <token type="KeywordType"/>
133 <token type="Text"/>
134 <token type="Punctuation"/>
135 <token type="Text"/>
136 <token type="NameClass"/>
137 </bygroups>
138 </rule>
139 </state>
140 </rules>
141 </lexer>