232 (r'[\(\){}!#,.:]', Punctuation), |
232 (r'[\(\){}!#,.:]', Punctuation), |
233 (r'Option\s+(Strict|Explicit|Compare)\s+' |
233 (r'Option\s+(Strict|Explicit|Compare)\s+' |
234 r'(On|Off|Binary|Text)', Keyword.Declaration), |
234 r'(On|Off|Binary|Text)', Keyword.Declaration), |
235 (r'(?<!\.)(AddHandler|Alias|' |
235 (r'(?<!\.)(AddHandler|Alias|' |
236 r'ByRef|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|' |
236 r'ByRef|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|' |
237 r'CDec|CDbl|CInt|CLng|CObj|Const|Continue|CSByte|CShort|' |
237 r'CDec|CDbl|CInt|CLng|CObj|Continue|CSByte|CShort|' |
238 r'CSng|CStr|CType|CUInt|CULng|CUShort|Declare|' |
238 r'CSng|CStr|CType|CUInt|CULng|CUShort|Declare|' |
239 r'Default|Delegate|Dim|DirectCast|Do|Each|Else|ElseIf|' |
239 r'Default|Delegate|DirectCast|Do|Each|Else|ElseIf|' |
240 r'End|EndIf|Enum|Erase|Error|Event|Exit|False|Finally|For|' |
240 r'EndIf|Erase|Error|Event|Exit|False|Finally|For|' |
241 r'Friend|Function|Get|Global|GoSub|GoTo|Handles|If|' |
241 r'Friend|Get|Global|GoSub|GoTo|Handles|If|' |
242 r'Implements|Imports|Inherits|Interface|' |
242 r'Implements|Inherits|Interface|' |
243 r'Let|Lib|Loop|Me|Module|MustInherit|' |
243 r'Let|Lib|Loop|Me|MustInherit|' |
244 r'MustOverride|MyBase|MyClass|Namespace|Narrowing|New|Next|' |
244 r'MustOverride|MyBase|MyClass|Narrowing|New|Next|' |
245 r'Not|Nothing|NotInheritable|NotOverridable|Of|On|' |
245 r'Not|Nothing|NotInheritable|NotOverridable|Of|On|' |
246 r'Operator|Option|Optional|Overloads|Overridable|' |
246 r'Operator|Option|Optional|Overloads|Overridable|' |
247 r'Overrides|ParamArray|Partial|Private|Property|Protected|' |
247 r'Overrides|ParamArray|Partial|Private|Protected|' |
248 r'Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|' |
248 r'Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|' |
249 r'Return|Select|Set|Shadows|Shared|Single|' |
249 r'Return|Select|Set|Shadows|Shared|Single|' |
250 r'Static|Step|Stop|Structure|Sub|SyncLock|Then|' |
250 r'Static|Step|Stop|SyncLock|Then|' |
251 r'Throw|To|True|Try|TryCast|Wend|' |
251 r'Throw|To|True|Try|TryCast|Wend|' |
252 r'Using|When|While|Widening|With|WithEvents|' |
252 r'Using|When|While|Widening|With|WithEvents|' |
253 r'WriteOnly)\b', Keyword), |
253 r'WriteOnly)\b', Keyword), |
|
254 (r'(?<!\.)End\b', Keyword, 'end'), |
|
255 (r'(?<!\.)(Dim|Const)\b', Keyword, 'dim'), |
254 (r'(?<!\.)(Function|Sub|Property)(\s+)', |
256 (r'(?<!\.)(Function|Sub|Property)(\s+)', |
255 bygroups(Keyword, Text), 'funcname'), |
257 bygroups(Keyword, Text), 'funcname'), |
256 (r'(?<!\.)(Class|Structure|Enum)(\s+)', |
258 (r'(?<!\.)(Class|Structure|Enum)(\s+)', |
257 bygroups(Keyword, Text), 'classname'), |
259 bygroups(Keyword, Text), 'classname'), |
258 (r'(?<!\.)(Namespace|Imports)(\s+)', |
260 (r'(?<!\.)(Module|Namespace|Imports)(\s+)', |
259 bygroups(Keyword, Text), 'namespace'), |
261 bygroups(Keyword, Text), 'namespace'), |
260 (r'(?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|' |
262 (r'(?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|' |
261 r'Object|SByte|Short|Single|String|Variant|UInteger|ULong|' |
263 r'Object|SByte|Short|Single|String|Variant|UInteger|ULong|' |
262 r'UShort)\b', Keyword.Type), |
264 r'UShort)\b', Keyword.Type), |
263 (r'(?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|' |
265 (r'(?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|' |
277 'string': [ |
279 'string': [ |
278 (r'""', String), |
280 (r'""', String), |
279 (r'"C?', String, '#pop'), |
281 (r'"C?', String, '#pop'), |
280 (r'[^"]+', String), |
282 (r'[^"]+', String), |
281 ], |
283 ], |
|
284 'dim': [ |
|
285 (r'[a-z_][a-z0-9_]*', Name.Variable, '#pop'), |
|
286 (r'', Text, '#pop'), # any other syntax |
|
287 ], |
282 'funcname': [ |
288 'funcname': [ |
283 (r'[a-z_][a-z0-9_]*', Name.Function, '#pop') |
289 (r'[a-z_][a-z0-9_]*', Name.Function, '#pop'), |
284 ], |
290 ], |
285 'classname': [ |
291 'classname': [ |
286 (r'[a-z_][a-z0-9_]*', Name.Class, '#pop') |
292 (r'[a-z_][a-z0-9_]*', Name.Class, '#pop'), |
287 ], |
293 ], |
288 'namespace': [ |
294 'namespace': [ |
289 (r'[a-z_][a-z0-9_.]*', Name.Namespace, '#pop') |
295 (r'[a-z_][a-z0-9_.]*', Name.Namespace, '#pop'), |
290 ], |
296 ], |
|
297 'end': [ |
|
298 (r'\s+', Text), |
|
299 (r'(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\b', |
|
300 Keyword, '#pop'), |
|
301 (r'', Text, '#pop'), |
|
302 ] |
291 } |
303 } |
292 |
304 |
293 class GenericAspxLexer(RegexLexer): |
305 class GenericAspxLexer(RegexLexer): |
294 """ |
306 """ |
295 Lexer for ASP.NET pages. |
307 Lexer for ASP.NET pages. |