annotate vendor/github.com/alecthomas/chroma/v2/lexers/smarty.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 // Smarty lexer.
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 var Smarty = Register(MustNewLexer(
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 &Config{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 Name: "Smarty",
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 Aliases: []string{"smarty"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 Filenames: []string{"*.tpl"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 MimeTypes: []string{"application/x-smarty"},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 DotAll: true,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 smartyRules,
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 ))
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 func smartyRules() Rules {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 return Rules{
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 "root": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 {`[^{]+`, Other, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 {`(\{)(\*.*?\*)(\})`, ByGroups(CommentPreproc, Comment, CommentPreproc), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 {`(\{php\})(.*?)(\{/php\})`, ByGroups(CommentPreproc, Using("PHP"), CommentPreproc), nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 {`(\{)(/?[a-zA-Z_]\w*)(\s*)`, ByGroups(CommentPreproc, NameFunction, Text), Push("smarty")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 {`\{`, CommentPreproc, Push("smarty")},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 "smarty": {
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 {`\s+`, Text, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 {`\{`, CommentPreproc, Push()},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 {`\}`, CommentPreproc, Pop(1)},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 {`#[a-zA-Z_]\w*#`, NameVariable, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 {`\$[a-zA-Z_]\w*(\.\w+)*`, NameVariable, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 {`[~!%^&*()+=|\[\]:;,.<>/?@-]`, Operator, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 {`(true|false|null)\b`, KeywordConstant, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 {`[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?`, LiteralNumber, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 {`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 {`'(\\\\|\\'|[^'])*'`, LiteralStringSingle, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 {`[a-zA-Z_]\w*`, NameAttribute, nil},
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
40 },
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
41 }
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
42 }