cheat/vendor/github.com/alecthomas/chroma/v2/lexers/php.go

38 lines
945 B
Go
Raw Normal View History

package lexers
2020-08-08 16:29:29 +02:00
import (
"strings"
. "github.com/alecthomas/chroma/v2" // nolint
2020-08-08 16:29:29 +02:00
)
// phtml lexer is PHP in HTML.
var _ = Register(DelegatingLexer(HTML, MustNewLexer(
2020-08-08 16:29:29 +02:00
&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"},
2020-08-08 16:29:29 +02:00
DotAll: true,
CaseInsensitive: true,
EnsureNL: true,
Priority: 2,
2020-08-08 16:29:29 +02:00
},
func() Rules {
return Get("PHP").(*RegexLexer).MustRules().
Rename("root", "php").
Merge(Rules{
"root": {
{`<\?(php)?`, CommentPreproc, Push("php")},
{`[^<]+`, Other, nil},
{`<`, Other, nil},
},
})
},
2020-08-08 16:29:29 +02:00
).SetAnalyser(func(text string) float32 {
if strings.Contains(text, "<?php") {
return 0.5
}
return 0.0
})))