...

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

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

     1<lexer>
     2  <config>
     3    <name>Python 2</name>
     4    <alias>python2</alias>
     5    <alias>py2</alias>
     6    <mime_type>text/x-python2</mime_type>
     7    <mime_type>application/x-python2</mime_type>
     8  </config>
     9  <rules>
    10    <state name="tdqs">
    11      <rule pattern="&#34;&#34;&#34;">
    12        <token type="LiteralStringDouble"/>
    13        <pop depth="1"/>
    14      </rule>
    15      <rule>
    16        <include state="strings-double"/>
    17      </rule>
    18      <rule pattern="\n">
    19        <token type="LiteralStringDouble"/>
    20      </rule>
    21    </state>
    22    <state name="name">
    23      <rule pattern="@[\w.]+">
    24        <token type="NameDecorator"/>
    25      </rule>
    26      <rule pattern="[a-zA-Z_]\w*">
    27        <token type="Name"/>
    28      </rule>
    29    </state>
    30    <state name="magicfuncs">
    31      <rule pattern="(__instancecheck__|__subclasscheck__|__getattribute__|__rfloordiv__|__ifloordiv__|__setslice__|__getslice__|__contains__|__reversed__|__floordiv__|__rtruediv__|__itruediv__|__delslice__|__rlshift__|__rrshift__|__delitem__|__rdivmod__|__nonzero__|__missing__|__delattr__|__setattr__|__irshift__|__complex__|__setitem__|__getitem__|__truediv__|__unicode__|__ilshift__|__getattr__|__delete__|__coerce__|__invert__|__lshift__|__divmod__|__rshift__|__enter__|__index__|__float__|__iadd__|__rsub__|__init__|__imul__|__rpow__|__repr__|__rmul__|__isub__|__iter__|__rmod__|__ixor__|__call__|__imod__|__long__|__hash__|__rxor__|__idiv__|__iand__|__rdiv__|__ipow__|__rcmp__|__rand__|__exit__|__radd__|__str__|__cmp__|__pos__|__pow__|__oct__|__new__|__neg__|__mul__|__mod__|__set__|__xor__|__sub__|__len__|__and__|__get__|__rop__|__add__|__ior__|__div__|__iop__|__int__|__abs__|__hex__|__ror__|__del__|__eq__|__or__|__ne__|__lt__|__le__|__ge__|__gt__|__op__)\b">
    32        <token type="NameFunctionMagic"/>
    33      </rule>
    34    </state>
    35    <state name="keywords">
    36      <rule pattern="(yield from|continue|finally|lambda|assert|global|except|return|print|yield|while|break|raise|elif|pass|exec|else|with|try|for|del|as|if)\b">
    37        <token type="Keyword"/>
    38      </rule>
    39    </state>
    40    <state name="tsqs">
    41      <rule pattern="&#39;&#39;&#39;">
    42        <token type="LiteralStringSingle"/>
    43        <pop depth="1"/>
    44      </rule>
    45      <rule>
    46        <include state="strings-single"/>
    47      </rule>
    48      <rule pattern="\n">
    49        <token type="LiteralStringSingle"/>
    50      </rule>
    51    </state>
    52    <state name="stringescape">
    53      <rule pattern="\\([\\abfnrtv&#34;\&#39;]|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})">
    54        <token type="LiteralStringEscape"/>
    55      </rule>
    56    </state>
    57    <state name="numbers">
    58      <rule pattern="(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?">
    59        <token type="LiteralNumberFloat"/>
    60      </rule>
    61      <rule pattern="\d+[eE][+-]?[0-9]+j?">
    62        <token type="LiteralNumberFloat"/>
    63      </rule>
    64      <rule pattern="0[0-7]+j?">
    65        <token type="LiteralNumberOct"/>
    66      </rule>
    67      <rule pattern="0[bB][01]+">
    68        <token type="LiteralNumberBin"/>
    69      </rule>
    70      <rule pattern="0[xX][a-fA-F0-9]+">
    71        <token type="LiteralNumberHex"/>
    72      </rule>
    73      <rule pattern="\d+L">
    74        <token type="LiteralNumberIntegerLong"/>
    75      </rule>
    76      <rule pattern="\d+j?">
    77        <token type="LiteralNumberInteger"/>
    78      </rule>
    79    </state>
    80    <state name="import">
    81      <rule pattern="(?:[ \t]|\\\n)+">
    82        <token type="Text"/>
    83      </rule>
    84      <rule pattern="as\b">
    85        <token type="KeywordNamespace"/>
    86      </rule>
    87      <rule pattern=",">
    88        <token type="Operator"/>
    89      </rule>
    90      <rule pattern="[a-zA-Z_][\w.]*">
    91        <token type="NameNamespace"/>
    92      </rule>
    93      <rule>
    94        <pop depth="1"/>
    95      </rule>
    96    </state>
    97    <state name="magicvars">
    98      <rule pattern="(__metaclass__|__defaults__|__globals__|__closure__|__weakref__|__module__|__slots__|__class__|__bases__|__file__|__func__|__dict__|__name__|__self__|__code__|__mro__|__doc__)\b">
    99        <token type="NameVariableMagic"/>
   100      </rule>
   101    </state>
   102    <state name="fromimport">
   103      <rule pattern="(?:[ \t]|\\\n)+">
   104        <token type="Text"/>
   105      </rule>
   106      <rule pattern="import\b">
   107        <token type="KeywordNamespace"/>
   108        <pop depth="1"/>
   109      </rule>
   110      <rule pattern="None\b">
   111        <token type="NameBuiltinPseudo"/>
   112        <pop depth="1"/>
   113      </rule>
   114      <rule pattern="[a-zA-Z_.][\w.]*">
   115        <token type="NameNamespace"/>
   116      </rule>
   117      <rule>
   118        <pop depth="1"/>
   119      </rule>
   120    </state>
   121    <state name="strings-single">
   122      <rule pattern="%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]">
   123        <token type="LiteralStringInterpol"/>
   124      </rule>
   125      <rule pattern="[^\\\&#39;&#34;%\n]+">
   126        <token type="LiteralStringSingle"/>
   127      </rule>
   128      <rule pattern="[\&#39;&#34;\\]">
   129        <token type="LiteralStringSingle"/>
   130      </rule>
   131      <rule pattern="%">
   132        <token type="LiteralStringSingle"/>
   133      </rule>
   134    </state>
   135    <state name="funcname">
   136      <rule>
   137        <include state="magicfuncs"/>
   138      </rule>
   139      <rule pattern="[a-zA-Z_]\w*">
   140        <token type="NameFunction"/>
   141        <pop depth="1"/>
   142      </rule>
   143      <rule>
   144        <pop depth="1"/>
   145      </rule>
   146    </state>
   147    <state name="classname">
   148      <rule pattern="[a-zA-Z_]\w*">
   149        <token type="NameClass"/>
   150        <pop depth="1"/>
   151      </rule>
   152    </state>
   153    <state name="backtick">
   154      <rule pattern="`.*?`">
   155        <token type="LiteralStringBacktick"/>
   156      </rule>
   157    </state>
   158    <state name="strings-double">
   159      <rule pattern="%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]">
   160        <token type="LiteralStringInterpol"/>
   161      </rule>
   162      <rule pattern="[^\\\&#39;&#34;%\n]+">
   163        <token type="LiteralStringDouble"/>
   164      </rule>
   165      <rule pattern="[\&#39;&#34;\\]">
   166        <token type="LiteralStringDouble"/>
   167      </rule>
   168      <rule pattern="%">
   169        <token type="LiteralStringDouble"/>
   170      </rule>
   171    </state>
   172    <state name="dqs">
   173      <rule pattern="&#34;">
   174        <token type="LiteralStringDouble"/>
   175        <pop depth="1"/>
   176      </rule>
   177      <rule pattern="\\\\|\\&#34;|\\\n">
   178        <token type="LiteralStringEscape"/>
   179      </rule>
   180      <rule>
   181        <include state="strings-double"/>
   182      </rule>
   183    </state>
   184    <state name="root">
   185      <rule pattern="\n">
   186        <token type="Text"/>
   187      </rule>
   188      <rule pattern="^(\s*)([rRuUbB]{,2})(&#34;&#34;&#34;(?:.|\n)*?&#34;&#34;&#34;)">
   189        <bygroups>
   190          <token type="Text"/>
   191          <token type="LiteralStringAffix"/>
   192          <token type="LiteralStringDoc"/>
   193        </bygroups>
   194      </rule>
   195      <rule pattern="^(\s*)([rRuUbB]{,2})(&#39;&#39;&#39;(?:.|\n)*?&#39;&#39;&#39;)">
   196        <bygroups>
   197          <token type="Text"/>
   198          <token type="LiteralStringAffix"/>
   199          <token type="LiteralStringDoc"/>
   200        </bygroups>
   201      </rule>
   202      <rule pattern="[^\S\n]+">
   203        <token type="Text"/>
   204      </rule>
   205      <rule pattern="\A#!.+$">
   206        <token type="CommentHashbang"/>
   207      </rule>
   208      <rule pattern="#.*$">
   209        <token type="CommentSingle"/>
   210      </rule>
   211      <rule pattern="[]{}:(),;[]">
   212        <token type="Punctuation"/>
   213      </rule>
   214      <rule pattern="\\\n">
   215        <token type="Text"/>
   216      </rule>
   217      <rule pattern="\\">
   218        <token type="Text"/>
   219      </rule>
   220      <rule pattern="(in|is|and|or|not)\b">
   221        <token type="OperatorWord"/>
   222      </rule>
   223      <rule pattern="!=|==|&lt;&lt;|&gt;&gt;|[-~+/*%=&lt;&gt;&amp;^|.]">
   224        <token type="Operator"/>
   225      </rule>
   226      <rule>
   227        <include state="keywords"/>
   228      </rule>
   229      <rule pattern="(def)((?:\s|\\\s)+)">
   230        <bygroups>
   231          <token type="Keyword"/>
   232          <token type="Text"/>
   233        </bygroups>
   234        <push state="funcname"/>
   235      </rule>
   236      <rule pattern="(class)((?:\s|\\\s)+)">
   237        <bygroups>
   238          <token type="Keyword"/>
   239          <token type="Text"/>
   240        </bygroups>
   241        <push state="classname"/>
   242      </rule>
   243      <rule pattern="(from)((?:\s|\\\s)+)">
   244        <bygroups>
   245          <token type="KeywordNamespace"/>
   246          <token type="Text"/>
   247        </bygroups>
   248        <push state="fromimport"/>
   249      </rule>
   250      <rule pattern="(import)((?:\s|\\\s)+)">
   251        <bygroups>
   252          <token type="KeywordNamespace"/>
   253          <token type="Text"/>
   254        </bygroups>
   255        <push state="import"/>
   256      </rule>
   257      <rule>
   258        <include state="builtins"/>
   259      </rule>
   260      <rule>
   261        <include state="magicfuncs"/>
   262      </rule>
   263      <rule>
   264        <include state="magicvars"/>
   265      </rule>
   266      <rule>
   267        <include state="backtick"/>
   268      </rule>
   269      <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(&#34;&#34;&#34;)">
   270        <bygroups>
   271          <token type="LiteralStringAffix"/>
   272          <token type="LiteralStringDouble"/>
   273        </bygroups>
   274        <push state="tdqs"/>
   275      </rule>
   276      <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(&#39;&#39;&#39;)">
   277        <bygroups>
   278          <token type="LiteralStringAffix"/>
   279          <token type="LiteralStringSingle"/>
   280        </bygroups>
   281        <push state="tsqs"/>
   282      </rule>
   283      <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(&#34;)">
   284        <bygroups>
   285          <token type="LiteralStringAffix"/>
   286          <token type="LiteralStringDouble"/>
   287        </bygroups>
   288        <push state="dqs"/>
   289      </rule>
   290      <rule pattern="([rR]|[uUbB][rR]|[rR][uUbB])(&#39;)">
   291        <bygroups>
   292          <token type="LiteralStringAffix"/>
   293          <token type="LiteralStringSingle"/>
   294        </bygroups>
   295        <push state="sqs"/>
   296      </rule>
   297      <rule pattern="([uUbB]?)(&#34;&#34;&#34;)">
   298        <bygroups>
   299          <token type="LiteralStringAffix"/>
   300          <token type="LiteralStringDouble"/>
   301        </bygroups>
   302        <combined state="stringescape" state="tdqs"/>
   303      </rule>
   304      <rule pattern="([uUbB]?)(&#39;&#39;&#39;)">
   305        <bygroups>
   306          <token type="LiteralStringAffix"/>
   307          <token type="LiteralStringSingle"/>
   308        </bygroups>
   309        <combined state="stringescape" state="tsqs"/>
   310      </rule>
   311      <rule pattern="([uUbB]?)(&#34;)">
   312        <bygroups>
   313          <token type="LiteralStringAffix"/>
   314          <token type="LiteralStringDouble"/>
   315        </bygroups>
   316        <combined state="stringescape" state="dqs"/>
   317      </rule>
   318      <rule pattern="([uUbB]?)(&#39;)">
   319        <bygroups>
   320          <token type="LiteralStringAffix"/>
   321          <token type="LiteralStringSingle"/>
   322        </bygroups>
   323        <combined state="stringescape" state="sqs"/>
   324      </rule>
   325      <rule>
   326        <include state="name"/>
   327      </rule>
   328      <rule>
   329        <include state="numbers"/>
   330      </rule>
   331    </state>
   332    <state name="sqs">
   333      <rule pattern="&#39;">
   334        <token type="LiteralStringSingle"/>
   335        <pop depth="1"/>
   336      </rule>
   337      <rule pattern="\\\\|\\&#39;|\\\n">
   338        <token type="LiteralStringEscape"/>
   339      </rule>
   340      <rule>
   341        <include state="strings-single"/>
   342      </rule>
   343    </state>
   344    <state name="builtins">
   345      <rule pattern="(?&lt;!\.)(staticmethod|classmethod|__import__|isinstance|basestring|issubclass|frozenset|raw_input|bytearray|enumerate|property|callable|reversed|execfile|hasattr|setattr|compile|complex|delattr|unicode|globals|getattr|unichr|reduce|xrange|buffer|intern|filter|locals|divmod|coerce|sorted|reload|object|slice|round|float|super|input|bytes|apply|tuple|range|iter|dict|long|type|hash|vars|next|file|exit|open|repr|eval|bool|list|bin|pow|zip|ord|oct|min|set|any|max|map|all|len|sum|int|dir|hex|chr|abs|cmp|str|id)\b">
   346        <token type="NameBuiltin"/>
   347      </rule>
   348      <rule pattern="(?&lt;!\.)(self|None|Ellipsis|NotImplemented|False|True|cls)\b">
   349        <token type="NameBuiltinPseudo"/>
   350      </rule>
   351      <rule pattern="(?&lt;!\.)(PendingDeprecationWarning|UnicodeTranslateError|NotImplementedError|UnicodeDecodeError|DeprecationWarning|UnicodeEncodeError|FloatingPointError|ZeroDivisionError|UnboundLocalError|KeyboardInterrupt|EnvironmentError|IndentationError|OverflowWarning|ArithmeticError|ReferenceError|AttributeError|AssertionError|RuntimeWarning|UnicodeWarning|GeneratorExit|SyntaxWarning|StandardError|BaseException|OverflowError|FutureWarning|ImportWarning|StopIteration|UnicodeError|WindowsError|RuntimeError|ImportError|UserWarning|LookupError|SyntaxError|SystemError|MemoryError|SystemExit|ValueError|IndexError|NameError|Exception|TypeError|EOFError|KeyError|VMSError|TabError|IOError|Warning|OSError)\b">
   352        <token type="NameException"/>
   353      </rule>
   354    </state>
   355  </rules>
   356</lexer>

View as plain text