From c6cc0108ca7738023b45e0eeac0fa2390532dd93 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Fri, 25 Oct 2024 00:47:47 +0200 Subject: Added vendor lock on deps --- .../alecthomas/chroma/v2/lexers/typoscript.go | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 vendor/github.com/alecthomas/chroma/v2/lexers/typoscript.go (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/typoscript.go') diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/typoscript.go b/vendor/github.com/alecthomas/chroma/v2/lexers/typoscript.go new file mode 100644 index 0000000..102d995 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/typoscript.go @@ -0,0 +1,85 @@ +package lexers + +import ( + . "github.com/alecthomas/chroma/v2" // nolint +) + +// Typoscript lexer. +var Typoscript = Register(MustNewLexer( + &Config{ + Name: "TypoScript", + Aliases: []string{"typoscript"}, + Filenames: []string{"*.ts"}, + MimeTypes: []string{"text/x-typoscript"}, + DotAll: true, + Priority: 0.1, + }, + typoscriptRules, +)) + +func typoscriptRules() Rules { + return Rules{ + "root": { + Include("comment"), + Include("constant"), + Include("html"), + Include("label"), + Include("whitespace"), + Include("keywords"), + Include("punctuation"), + Include("operator"), + Include("structure"), + Include("literal"), + Include("other"), + }, + "keywords": { + {`(\[)(?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(LiteralStringSymbol, NameConstant, Text, LiteralStringSymbol), nil}, + {`(?=[\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\-])`, NameFunction, nil}, + {`(?:(=?\s*]*>`, Using("TypoScriptHTMLData"), nil}, + {`&[^;\n]*;`, LiteralString, nil}, + {`(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))`, ByGroups(NameClass, Text, LiteralStringSymbol, Using("TypoScriptCSSData")), nil}, + }, + "literal": { + {`0x[0-9A-Fa-f]+t?`, LiteralNumberHex, nil}, + {`[0-9]+`, LiteralNumberInteger, nil}, + {`(###\w+###)`, NameConstant, nil}, + }, + "label": { + {`(EXT|FILE|LLL):[^}\n"]*`, LiteralString, nil}, + {`(?![^\w\-])([\w\-]+(?:/[\w\-]+)+/?)(\S*\n)`, ByGroups(LiteralString, LiteralString), nil}, + }, + "punctuation": { + {`[,.]`, Punctuation, nil}, + }, + "operator": { + {`[<>,:=.*%+|]`, Operator, nil}, + }, + "structure": { + {`[{}()\[\]\\]`, LiteralStringSymbol, nil}, + }, + "constant": { + {`(\{)(\$)((?:[\w\-]+\.)*)([\w\-]+)(\})`, ByGroups(LiteralStringSymbol, Operator, NameConstant, NameConstant, LiteralStringSymbol), nil}, + {`(\{)([\w\-]+)(\s*:\s*)([\w\-]+)(\})`, ByGroups(LiteralStringSymbol, NameConstant, Operator, NameConstant, LiteralStringSymbol), nil}, + {`(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)`, LiteralStringChar, nil}, + }, + "comment": { + {`(?