annotate 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
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 . "github.com/alecthomas/chroma/v2" // nolint
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 )
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 // Cheetah lexer.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 var Cheetah = Register(MustNewLexer(
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 &Config{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 Name: "Cheetah",
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 Aliases: []string{"cheetah", "spitfire"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 Filenames: []string{"*.tmpl", "*.spt"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 MimeTypes: []string{"application/x-cheetah", "application/x-spitfire"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 cheetahRules,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 ))
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 func cheetahRules() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 return Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 "root": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 {`(##[^\n]*)$`, ByGroups(Comment), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 {`#[*](.|\n)*?[*]#`, Comment, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 {`#end[^#\n]*(?:#|$)`, CommentPreproc, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 {`#slurp$`, CommentPreproc, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 {`(#[a-zA-Z]+)([^#\n]*)(#|$)`, ByGroups(CommentPreproc, Using("Python"), CommentPreproc), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 {`(\$)([a-zA-Z_][\w.]*\w)`, ByGroups(CommentPreproc, Using("Python")), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 {`(\$\{!?)(.*?)(\})(?s)`, ByGroups(CommentPreproc, Using("Python"), CommentPreproc), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 {`(?sx)
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 (.+?) # anything, followed by:
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 (?:
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 (?=\#[#a-zA-Z]*) | # an eval comment
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 (?=\$[a-zA-Z_{]) | # a substitution
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 \Z # end of string
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 )
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 `, Other, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 {`\s+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 }