diff vendor/github.com/alecthomas/chroma/v2/lexers/php.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/php.go	Sun Jul 23 13:18:53 2023 +0000
@@ -0,0 +1,37 @@
+package lexers
+
+import (
+	"strings"
+
+	. "github.com/alecthomas/chroma/v2" // nolint
+)
+
+// phtml lexer is PHP in HTML.
+var _ = Register(DelegatingLexer(HTML, MustNewLexer(
+	&Config{
+		Name:            "PHTML",
+		Aliases:         []string{"phtml"},
+		Filenames:       []string{"*.phtml", "*.php", "*.php[345]", "*.inc"},
+		MimeTypes:       []string{"application/x-php", "application/x-httpd-php", "application/x-httpd-php3", "application/x-httpd-php4", "application/x-httpd-php5", "text/x-php"},
+		DotAll:          true,
+		CaseInsensitive: true,
+		EnsureNL:        true,
+		Priority:        2,
+	},
+	func() Rules {
+		return Get("PHP").(*RegexLexer).MustRules().
+			Rename("root", "php").
+			Merge(Rules{
+				"root": {
+					{`<\?(php)?`, CommentPreproc, Push("php")},
+					{`[^<]+`, Other, nil},
+					{`<`, Other, nil},
+				},
+			})
+	},
+).SetAnalyser(func(text string) float32 {
+	if strings.Contains(text, "<?php") {
+		return 0.5
+	}
+	return 0.0
+})))