diff vendor/github.com/alecthomas/chroma/v2/lexers/cheetah.go @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/cheetah.go	Sun Jul 23 13:18:53 2023 +0000
@@ -0,0 +1,39 @@
+package lexers
+
+import (
+	. "github.com/alecthomas/chroma/v2" // nolint
+)
+
+// Cheetah lexer.
+var Cheetah = Register(MustNewLexer(
+	&Config{
+		Name:      "Cheetah",
+		Aliases:   []string{"cheetah", "spitfire"},
+		Filenames: []string{"*.tmpl", "*.spt"},
+		MimeTypes: []string{"application/x-cheetah", "application/x-spitfire"},
+	},
+	cheetahRules,
+))
+
+func cheetahRules() Rules {
+	return Rules{
+		"root": {
+			{`(##[^\n]*)$`, ByGroups(Comment), nil},
+			{`#[*](.|\n)*?[*]#`, Comment, nil},
+			{`#end[^#\n]*(?:#|$)`, CommentPreproc, nil},
+			{`#slurp$`, CommentPreproc, nil},
+			{`(#[a-zA-Z]+)([^#\n]*)(#|$)`, ByGroups(CommentPreproc, Using("Python"), CommentPreproc), nil},
+			{`(\$)([a-zA-Z_][\w.]*\w)`, ByGroups(CommentPreproc, Using("Python")), nil},
+			{`(\$\{!?)(.*?)(\})(?s)`, ByGroups(CommentPreproc, Using("Python"), CommentPreproc), nil},
+			{`(?sx)
+                (.+?)               # anything, followed by:
+                (?:
+                 (?=\#[#a-zA-Z]*) | # an eval comment
+                 (?=\$[a-zA-Z_{]) | # a substitution
+                 \Z                 # end of string
+                )
+            `, Other, nil},
+			{`\s+`, Text, nil},
+		},
+	}
+}