annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 package lexers
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 import (
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 "strings"
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6 . "github.com/alecthomas/chroma/v2" // nolint
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 )
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 // phtml lexer is PHP in HTML.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 var _ = Register(DelegatingLexer(HTML, MustNewLexer(
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 &Config{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 Name: "PHTML",
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 Aliases: []string{"phtml"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 Filenames: []string{"*.phtml", "*.php", "*.php[345]", "*.inc"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 MimeTypes: []string{"application/x-php", "application/x-httpd-php", "application/x-httpd-php3", "application/x-httpd-php4", "application/x-httpd-php5", "text/x-php"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 DotAll: true,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 CaseInsensitive: true,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 EnsureNL: true,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 Priority: 2,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 func() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 return Get("PHP").(*RegexLexer).MustRules().
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 Rename("root", "php").
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 Merge(Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 "root": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 {`<\?(php)?`, CommentPreproc, Push("php")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 {`[^<]+`, Other, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 {`<`, Other, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 })
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 ).SetAnalyser(func(text string) float32 {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 if strings.Contains(text, "<?php") {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 return 0.5
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 return 0.0
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 })))