...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/vb_net.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>VB.net</name>
     4    <alias>vb.net</alias>
     5    <alias>vbnet</alias>
     6    <filename>*.vb</filename>
     7    <filename>*.bas</filename>
     8    <mime_type>text/x-vbnet</mime_type>
     9    <mime_type>text/x-vba</mime_type>
    10    <case_insensitive>true</case_insensitive>
    11  </config>
    12  <rules>
    13    <state name="dim">
    14      <rule pattern="[_\w][\w]*">
    15        <token type="NameVariable"/>
    16        <pop depth="1"/>
    17      </rule>
    18      <rule>
    19        <pop depth="1"/>
    20      </rule>
    21    </state>
    22    <state name="funcname">
    23      <rule pattern="[_\w][\w]*">
    24        <token type="NameFunction"/>
    25        <pop depth="1"/>
    26      </rule>
    27    </state>
    28    <state name="classname">
    29      <rule pattern="[_\w][\w]*">
    30        <token type="NameClass"/>
    31        <pop depth="1"/>
    32      </rule>
    33    </state>
    34    <state name="namespace">
    35      <rule pattern="[_\w][\w]*">
    36        <token type="NameNamespace"/>
    37      </rule>
    38      <rule pattern="\.">
    39        <token type="NameNamespace"/>
    40      </rule>
    41      <rule>
    42        <pop depth="1"/>
    43      </rule>
    44    </state>
    45    <state name="end">
    46      <rule pattern="\s+">
    47        <token type="Text"/>
    48      </rule>
    49      <rule pattern="(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\b">
    50        <token type="Keyword"/>
    51        <pop depth="1"/>
    52      </rule>
    53      <rule>
    54        <pop depth="1"/>
    55      </rule>
    56    </state>
    57    <state name="root">
    58      <rule pattern="^\s*&lt;.*?&gt;">
    59        <token type="NameAttribute"/>
    60      </rule>
    61      <rule pattern="\s+">
    62        <token type="Text"/>
    63      </rule>
    64      <rule pattern="\n">
    65        <token type="Text"/>
    66      </rule>
    67      <rule pattern="rem\b.*?\n">
    68        <token type="Comment"/>
    69      </rule>
    70      <rule pattern="&#39;.*?\n">
    71        <token type="Comment"/>
    72      </rule>
    73      <rule pattern="#If\s.*?\sThen|#ElseIf\s.*?\sThen|#Else|#End\s+If|#Const|#ExternalSource.*?\n|#End\s+ExternalSource|#Region.*?\n|#End\s+Region|#ExternalChecksum">
    74        <token type="CommentPreproc"/>
    75      </rule>
    76      <rule pattern="[(){}!#,.:]">
    77        <token type="Punctuation"/>
    78      </rule>
    79      <rule pattern="Option\s+(Strict|Explicit|Compare)\s+(On|Off|Binary|Text)">
    80        <token type="KeywordDeclaration"/>
    81      </rule>
    82      <rule pattern="(?&lt;!\.)(NotOverridable|NotInheritable|RemoveHandler|MustOverride|Overridable|MustInherit|Implements|RaiseEvent|AddHandler|ParamArray|WithEvents|DirectCast|Overrides|Overloads|Protected|WriteOnly|Interface|Narrowing|Inherits|Widening|SyncLock|ReadOnly|Operator|Continue|Delegate|Optional|MyClass|Declare|CUShort|Handles|Default|Shadows|TryCast|Finally|Private|Nothing|Partial|CSByte|Select|Option|Return|Friend|Resume|ElseIf|MyBase|Shared|Single|Public|CShort|Static|Global|Catch|CType|Error|CUInt|Using|While|GoSub|False|CDate|Throw|Event|CChar|CULng|CBool|Erase|ByVal|ByRef|Alias|EndIf|CByte|ReDim|Stop|Call|Wend|Next|CLng|Loop|True|CDec|With|Then|GoTo|CObj|CSng|Exit|CStr|Else|Each|Case|CInt|Step|When|CDbl|Set|For|Let|Lib|Try|New|Not|Get|On|To|Do|If|Of|Me)\b">
    83        <token type="Keyword"/>
    84      </rule>
    85      <rule pattern="(?&lt;!\.)End\b">
    86        <token type="Keyword"/>
    87        <push state="end"/>
    88      </rule>
    89      <rule pattern="(?&lt;!\.)(Dim|Const)\b">
    90        <token type="Keyword"/>
    91        <push state="dim"/>
    92      </rule>
    93      <rule pattern="(?&lt;!\.)(Function|Sub|Property)(\s+)">
    94        <bygroups>
    95          <token type="Keyword"/>
    96          <token type="Text"/>
    97        </bygroups>
    98        <push state="funcname"/>
    99      </rule>
   100      <rule pattern="(?&lt;!\.)(Class|Structure|Enum)(\s+)">
   101        <bygroups>
   102          <token type="Keyword"/>
   103          <token type="Text"/>
   104        </bygroups>
   105        <push state="classname"/>
   106      </rule>
   107      <rule pattern="(?&lt;!\.)(Module|Namespace|Imports)(\s+)">
   108        <bygroups>
   109          <token type="Keyword"/>
   110          <token type="Text"/>
   111        </bygroups>
   112        <push state="namespace"/>
   113      </rule>
   114      <rule pattern="(?&lt;!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|Object|SByte|Short|Single|String|Variant|UInteger|ULong|UShort)\b">
   115        <token type="KeywordType"/>
   116      </rule>
   117      <rule pattern="(?&lt;!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|Or|OrElse|TypeOf|Xor)\b">
   118        <token type="OperatorWord"/>
   119      </rule>
   120      <rule pattern="&amp;=|[*]=|/=|\\=|\^=|\+=|-=|&lt;&lt;=|&gt;&gt;=|&lt;&lt;|&gt;&gt;|:=|&lt;=|&gt;=|&lt;&gt;|[-&amp;*/\\^+=&lt;&gt;\[\]]">
   121        <token type="Operator"/>
   122      </rule>
   123      <rule pattern="&#34;">
   124        <token type="LiteralString"/>
   125        <push state="string"/>
   126      </rule>
   127      <rule pattern="_\n">
   128        <token type="Text"/>
   129      </rule>
   130      <rule pattern="[_\w][\w]*">
   131        <token type="Name"/>
   132      </rule>
   133      <rule pattern="#.*?#">
   134        <token type="LiteralDate"/>
   135      </rule>
   136      <rule pattern="(\d+\.\d*|\d*\.\d+)(F[+-]?[0-9]+)?">
   137        <token type="LiteralNumberFloat"/>
   138      </rule>
   139      <rule pattern="\d+([SILDFR]|US|UI|UL)?">
   140        <token type="LiteralNumberInteger"/>
   141      </rule>
   142      <rule pattern="&amp;H[0-9a-f]+([SILDFR]|US|UI|UL)?">
   143        <token type="LiteralNumberInteger"/>
   144      </rule>
   145      <rule pattern="&amp;O[0-7]+([SILDFR]|US|UI|UL)?">
   146        <token type="LiteralNumberInteger"/>
   147      </rule>
   148    </state>
   149    <state name="string">
   150      <rule pattern="&#34;&#34;">
   151        <token type="LiteralString"/>
   152      </rule>
   153      <rule pattern="&#34;C?">
   154        <token type="LiteralString"/>
   155        <pop depth="1"/>
   156      </rule>
   157      <rule pattern="[^&#34;]+">
   158        <token type="LiteralString"/>
   159      </rule>
   160    </state>
   161  </rules>
   162</lexer>

View as plain text