...

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

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

     1<lexer>
     2  <config>
     3    <name>ActionScript 3</name>
     4    <alias>as3</alias>
     5    <alias>actionscript3</alias>
     6    <filename>*.as</filename>
     7    <mime_type>application/x-actionscript3</mime_type>
     8    <mime_type>text/x-actionscript3</mime_type>
     9    <mime_type>text/actionscript3</mime_type>
    10    <dot_all>true</dot_all>
    11  </config>
    12  <rules>
    13    <state name="funcparams">
    14      <rule pattern="\s+">
    15        <token type="Text"/>
    16      </rule>
    17      <rule pattern="(\s*)(\.\.\.)?([$a-zA-Z_]\w*)(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.&lt;\w+&gt;)?|\*)(\s*)">
    18        <bygroups>
    19          <token type="Text"/>
    20          <token type="Punctuation"/>
    21          <token type="Name"/>
    22          <token type="Text"/>
    23          <token type="Operator"/>
    24          <token type="Text"/>
    25          <token type="KeywordType"/>
    26          <token type="Text"/>
    27        </bygroups>
    28        <push state="defval"/>
    29      </rule>
    30      <rule pattern="\)">
    31        <token type="Operator"/>
    32        <push state="type"/>
    33      </rule>
    34    </state>
    35    <state name="type">
    36      <rule pattern="(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.&lt;\w+&gt;)?|\*)">
    37        <bygroups>
    38          <token type="Text"/>
    39          <token type="Operator"/>
    40          <token type="Text"/>
    41          <token type="KeywordType"/>
    42        </bygroups>
    43        <pop depth="2"/>
    44      </rule>
    45      <rule pattern="\s+">
    46        <token type="Text"/>
    47        <pop depth="2"/>
    48      </rule>
    49      <rule>
    50        <pop depth="2"/>
    51      </rule>
    52    </state>
    53    <state name="defval">
    54      <rule pattern="(=)(\s*)([^(),]+)(\s*)(,?)">
    55        <bygroups>
    56          <token type="Operator"/>
    57          <token type="Text"/>
    58          <usingself state="root"/>
    59          <token type="Text"/>
    60          <token type="Operator"/>
    61        </bygroups>
    62        <pop depth="1"/>
    63      </rule>
    64      <rule pattern=",">
    65        <token type="Operator"/>
    66        <pop depth="1"/>
    67      </rule>
    68      <rule>
    69        <pop depth="1"/>
    70      </rule>
    71    </state>
    72    <state name="root">
    73      <rule pattern="\s+">
    74        <token type="Text"/>
    75      </rule>
    76      <rule pattern="(function\s+)([$a-zA-Z_]\w*)(\s*)(\()">
    77        <bygroups>
    78          <token type="KeywordDeclaration"/>
    79          <token type="NameFunction"/>
    80          <token type="Text"/>
    81          <token type="Operator"/>
    82        </bygroups>
    83        <push state="funcparams"/>
    84      </rule>
    85      <rule pattern="(var|const)(\s+)([$a-zA-Z_]\w*)(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.&lt;\w+&gt;)?)">
    86        <bygroups>
    87          <token type="KeywordDeclaration"/>
    88          <token type="Text"/>
    89          <token type="Name"/>
    90          <token type="Text"/>
    91          <token type="Punctuation"/>
    92          <token type="Text"/>
    93          <token type="KeywordType"/>
    94        </bygroups>
    95      </rule>
    96      <rule pattern="(import|package)(\s+)((?:[$a-zA-Z_]\w*|\.)+)(\s*)">
    97        <bygroups>
    98          <token type="Keyword"/>
    99          <token type="Text"/>
   100          <token type="NameNamespace"/>
   101          <token type="Text"/>
   102        </bygroups>
   103      </rule>
   104      <rule pattern="(new)(\s+)([$a-zA-Z_]\w*(?:\.&lt;\w+&gt;)?)(\s*)(\()">
   105        <bygroups>
   106          <token type="Keyword"/>
   107          <token type="Text"/>
   108          <token type="KeywordType"/>
   109          <token type="Text"/>
   110          <token type="Operator"/>
   111        </bygroups>
   112      </rule>
   113      <rule pattern="//.*?\n">
   114        <token type="CommentSingle"/>
   115      </rule>
   116      <rule pattern="/\*.*?\*/">
   117        <token type="CommentMultiline"/>
   118      </rule>
   119      <rule pattern="/(\\\\|\\/|[^\n])*/[gisx]*">
   120        <token type="LiteralStringRegex"/>
   121      </rule>
   122      <rule pattern="(\.)([$a-zA-Z_]\w*)">
   123        <bygroups>
   124          <token type="Operator"/>
   125          <token type="NameAttribute"/>
   126        </bygroups>
   127      </rule>
   128      <rule pattern="(case|default|for|each|in|while|do|break|return|continue|if|else|throw|try|catch|with|new|typeof|arguments|instanceof|this|switch|import|include|as|is)\b">
   129        <token type="Keyword"/>
   130      </rule>
   131      <rule pattern="(class|public|final|internal|native|override|private|protected|static|import|extends|implements|interface|intrinsic|return|super|dynamic|function|const|get|namespace|package|set)\b">
   132        <token type="KeywordDeclaration"/>
   133      </rule>
   134      <rule pattern="(true|false|null|NaN|Infinity|-Infinity|undefined|void)\b">
   135        <token type="KeywordConstant"/>
   136      </rule>
   137      <rule pattern="(decodeURI|decodeURIComponent|encodeURI|escape|eval|isFinite|isNaN|isXMLName|clearInterval|fscommand|getTimer|getURL|getVersion|isFinite|parseFloat|parseInt|setInterval|trace|updateAfterEvent|unescape)\b">
   138        <token type="NameFunction"/>
   139      </rule>
   140      <rule pattern="[$a-zA-Z_]\w*">
   141        <token type="Name"/>
   142      </rule>
   143      <rule pattern="[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?">
   144        <token type="LiteralNumberFloat"/>
   145      </rule>
   146      <rule pattern="0x[0-9a-f]+">
   147        <token type="LiteralNumberHex"/>
   148      </rule>
   149      <rule pattern="[0-9]+">
   150        <token type="LiteralNumberInteger"/>
   151      </rule>
   152      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
   153        <token type="LiteralStringDouble"/>
   154      </rule>
   155      <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
   156        <token type="LiteralStringSingle"/>
   157      </rule>
   158      <rule pattern="[~^*!%&amp;&lt;&gt;|+=:;,/?\\{}\[\]().-]+">
   159        <token type="Operator"/>
   160      </rule>
   161    </state>
   162  </rules>
   163</lexer>

View as plain text