...

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

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

     1<lexer>
     2  <config>
     3    <name>PostScript</name>
     4    <alias>postscript</alias>
     5    <alias>postscr</alias>
     6    <filename>*.ps</filename>
     7    <filename>*.eps</filename>
     8    <mime_type>application/postscript</mime_type>
     9  </config>
    10  <rules>
    11    <state name="root">
    12      <rule pattern="^%!.+\n">
    13        <token type="CommentPreproc"/>
    14      </rule>
    15      <rule pattern="%%.*\n">
    16        <token type="CommentSpecial"/>
    17      </rule>
    18      <rule pattern="(^%.*\n){2,}">
    19        <token type="CommentMultiline"/>
    20      </rule>
    21      <rule pattern="%.*\n">
    22        <token type="CommentSingle"/>
    23      </rule>
    24      <rule pattern="\(">
    25        <token type="LiteralString"/>
    26        <push state="stringliteral"/>
    27      </rule>
    28      <rule pattern="[{}&lt;&gt;\[\]]">
    29        <token type="Punctuation"/>
    30      </rule>
    31      <rule pattern="&lt;[0-9A-Fa-f]+&gt;(?=[()&lt;&gt;\[\]{}/%\s])">
    32        <token type="LiteralNumberHex"/>
    33      </rule>
    34      <rule pattern="[0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?(?=[()&lt;&gt;\[\]{}/%\s])">
    35        <token type="LiteralNumberOct"/>
    36      </rule>
    37      <rule pattern="(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?(?=[()&lt;&gt;\[\]{}/%\s])">
    38        <token type="LiteralNumberFloat"/>
    39      </rule>
    40      <rule pattern="(\-|\+)?[0-9]+(?=[()&lt;&gt;\[\]{}/%\s])">
    41        <token type="LiteralNumberInteger"/>
    42      </rule>
    43      <rule pattern="\/[^()&lt;&gt;\[\]{}/%\s]+(?=[()&lt;&gt;\[\]{}/%\s])">
    44        <token type="NameVariable"/>
    45      </rule>
    46      <rule pattern="[^()&lt;&gt;\[\]{}/%\s]+(?=[()&lt;&gt;\[\]{}/%\s])">
    47        <token type="NameFunction"/>
    48      </rule>
    49      <rule pattern="(false|true)(?=[()&lt;&gt;\[\]{}/%\s])">
    50        <token type="KeywordConstant"/>
    51      </rule>
    52      <rule pattern="(eq|ne|g[et]|l[et]|and|or|not|if(?:else)?|for(?:all)?)(?=[()&lt;&gt;\[\]{}/%\s])">
    53        <token type="KeywordReserved"/>
    54      </rule>
    55      <rule pattern="(dictstackoverflow|undefinedfilename|currentlinewidth|undefinedresult|currentmatrix|defaultmatrix|invertmatrix|concatmatrix|currentpoint|setlinewidth|syntaxerror|idtransform|identmatrix|setrgbcolor|stringwidth|setlinejoin|getinterval|itransform|strokepath|pathforall|rangecheck|setlinecap|dtransform|transform|translate|setmatrix|typecheck|undefined|scalefont|closepath|findfont|showpage|rcurveto|grestore|truncate|pathbbox|charpath|rlineto|rmoveto|ceiling|newpath|setdash|setfont|restore|curveto|setgray|stroke|pstack|matrix|length|lineto|repeat|rotate|moveto|shfill|concat|gsave|aload|scale|array|round|stack|index|begin|print|floor|exch|quit|clip|copy|bind|loop|idiv|fill|show|roll|exit|load|dict|save|arcn|sqrt|exec|rand|atan|end|div|abs|run|def|cvs|exp|cvi|sin|cos|get|dup|mod|put|sub|pop|add|neg|mul|arc|log|ln|gt)(?=[()&lt;&gt;\[\]{}/%\s])">
    56        <token type="NameBuiltin"/>
    57      </rule>
    58      <rule pattern="\s+">
    59        <token type="Text"/>
    60      </rule>
    61    </state>
    62    <state name="stringliteral">
    63      <rule pattern="[^()\\]+">
    64        <token type="LiteralString"/>
    65      </rule>
    66      <rule pattern="\\">
    67        <token type="LiteralStringEscape"/>
    68        <push state="escape"/>
    69      </rule>
    70      <rule pattern="\(">
    71        <token type="LiteralString"/>
    72        <push/>
    73      </rule>
    74      <rule pattern="\)">
    75        <token type="LiteralString"/>
    76        <pop depth="1"/>
    77      </rule>
    78    </state>
    79    <state name="escape">
    80      <rule pattern="[0-8]{3}|n|r|t|b|f|\\|\(|\)">
    81        <token type="LiteralStringEscape"/>
    82        <pop depth="1"/>
    83      </rule>
    84      <rule>
    85        <pop depth="1"/>
    86      </rule>
    87    </state>
    88  </rules>
    89</lexer>

View as plain text