<lexer> <config> <name>TypoScript</name> <alias>typoscript</alias> <filename>*.ts</filename> <mime_type>text/x-typoscript</mime_type> <dot_all>true</dot_all> <priority>0.1</priority> </config> <rules> <state name="whitespace"> <rule pattern="\s+"> <token type="Text"/> </rule> </state> <state name="html"> <rule pattern="<\S[^\n>]*>"> <using lexer="TypoScriptHTMLData"/> </rule> <rule pattern="&[^;\n]*;"> <token type="LiteralString"/> </rule> <rule pattern="(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))"> <bygroups> <token type="NameClass"/> <token type="Text"/> <token type="LiteralStringSymbol"/> <using lexer="TypoScriptCSSData"/> </bygroups> </rule> </state> <state name="operator"> <rule pattern="[<>,:=.*%+|]"> <token type="Operator"/> </rule> </state> <state name="structure"> <rule pattern="[{}()\[\]\\]"> <token type="LiteralStringSymbol"/> </rule> </state> <state name="constant"> <rule pattern="(\{)(\$)((?:[\w\-]+\.)*)([\w\-]+)(\})"> <bygroups> <token type="LiteralStringSymbol"/> <token type="Operator"/> <token type="NameConstant"/> <token type="NameConstant"/> <token type="LiteralStringSymbol"/> </bygroups> </rule> <rule pattern="(\{)([\w\-]+)(\s*:\s*)([\w\-]+)(\})"> <bygroups> <token type="LiteralStringSymbol"/> <token type="NameConstant"/> <token type="Operator"/> <token type="NameConstant"/> <token type="LiteralStringSymbol"/> </bygroups> </rule> <rule pattern="(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)"> <token type="LiteralStringChar"/> </rule> </state> <state name="comment"> <rule pattern="(?<!(#|\'|"))(?:#(?!(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3}))[^\n#]+|//[^\n]*)"> <token type="Comment"/> </rule> <rule pattern="/\*(?:(?!\*/).)*\*/"> <token type="Comment"/> </rule> <rule pattern="(\s*#\s*\n)"> <token type="Comment"/> </rule> </state> <state name="root"> <rule> <include state="comment"/> </rule> <rule> <include state="constant"/> </rule> <rule> <include state="html"/> </rule> <rule> <include state="label"/> </rule> <rule> <include state="whitespace"/> </rule> <rule> <include state="keywords"/> </rule> <rule> <include state="punctuation"/> </rule> <rule> <include state="operator"/> </rule> <rule> <include state="structure"/> </rule> <rule> <include state="literal"/> </rule> <rule> <include state="other"/> </rule> </state> <state name="literal"> <rule pattern="0x[0-9A-Fa-f]+t?"> <token type="LiteralNumberHex"/> </rule> <rule pattern="[0-9]+"> <token type="LiteralNumberInteger"/> </rule> <rule pattern="(###\w+###)"> <token type="NameConstant"/> </rule> </state> <state name="label"> <rule pattern="(EXT|FILE|LLL):[^}\n"]*"> <token type="LiteralString"/> </rule> <rule pattern="(?![^\w\-])([\w\-]+(?:/[\w\-]+)+/?)(\S*\n)"> <bygroups> <token type="LiteralString"/> <token type="LiteralString"/> </bygroups> </rule> </state> <state name="punctuation"> <rule pattern="[,.]"> <token type="Punctuation"/> </rule> </state> <state name="other"> <rule pattern="[\w"\-!/&;]+"> <token type="Text"/> </rule> </state> <state name="keywords"> <rule pattern="(\[)(?i)(browser|compatVersion|dayofmonth|dayofweek|dayofyear|device|ELSE|END|GLOBAL|globalString|globalVar|hostname|hour|IP|language|loginUser|loginuser|minute|month|page|PIDinRootline|PIDupinRootline|system|treeLevel|useragent|userFunc|usergroup|version)([^\]]*)(\])"> <bygroups> <token type="LiteralStringSymbol"/> <token type="NameConstant"/> <token type="Text"/> <token type="LiteralStringSymbol"/> </bygroups> </rule> <rule pattern="(?=[\w\-])(HTMLparser|HTMLparser_tags|addParams|cache|encapsLines|filelink|if|imageLinkWrap|imgResource|makelinks|numRows|numberFormat|parseFunc|replacement|round|select|split|stdWrap|strPad|tableStyle|tags|textStyle|typolink)(?![\w\-])"> <token type="NameFunction"/> </rule> <rule pattern="(?:(=?\s*<?\s+|^\s*))(cObj|field|config|content|constants|FEData|file|frameset|includeLibs|lib|page|plugin|register|resources|sitemap|sitetitle|styles|temp|tt_[^:.\s]*|types|xmlnews|INCLUDE_TYPOSCRIPT|_CSS_DEFAULT_STYLE|_DEFAULT_PI_VARS|_LOCAL_LANG)(?![\w\-])"> <bygroups> <token type="Operator"/> <token type="NameBuiltin"/> </bygroups> </rule> <rule pattern="(?=[\w\-])(CASE|CLEARGIF|COA|COA_INT|COBJ_ARRAY|COLUMNS|CONTENT|CTABLE|EDITPANEL|FILE|FILES|FLUIDTEMPLATE|FORM|HMENU|HRULER|HTML|IMAGE|IMGTEXT|IMG_RESOURCE|LOAD_REGISTER|MEDIA|MULTIMEDIA|OTABLE|PAGE|QTOBJECT|RECORDS|RESTORE_REGISTER|SEARCHRESULT|SVG|SWFOBJECT|TEMPLATE|TEXT|USER|USER_INT)(?![\w\-])"> <token type="NameClass"/> </rule> <rule pattern="(?=[\w\-])(ACTIFSUBRO|ACTIFSUB|ACTRO|ACT|CURIFSUBRO|CURIFSUB|CURRO|CUR|IFSUBRO|IFSUB|NO|SPC|USERDEF1RO|USERDEF1|USERDEF2RO|USERDEF2|USRRO|USR)"> <token type="NameClass"/> </rule> <rule pattern="(?=[\w\-])(GMENU_FOLDOUT|GMENU_LAYERS|GMENU|IMGMENUITEM|IMGMENU|JSMENUITEM|JSMENU|TMENUITEM|TMENU_LAYERS|TMENU)"> <token type="NameClass"/> </rule> <rule pattern="(?=[\w\-])(PHP_SCRIPT(_EXT|_INT)?)"> <token type="NameClass"/> </rule> <rule pattern="(?=[\w\-])(userFunc)(?![\w\-])"> <token type="NameFunction"/> </rule> </state> </rules> </lexer>