Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/mason.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 |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
1 package lexers | |
2 | |
3 import ( | |
4 . "github.com/alecthomas/chroma/v2" // nolint | |
5 ) | |
6 | |
7 // Mason lexer. | |
8 var Mason = Register(MustNewLexer( | |
9 &Config{ | |
10 Name: "Mason", | |
11 Aliases: []string{"mason"}, | |
12 Filenames: []string{"*.m", "*.mhtml", "*.mc", "*.mi", "autohandler", "dhandler"}, | |
13 MimeTypes: []string{"application/x-mason"}, | |
14 Priority: 0.1, | |
15 }, | |
16 masonRules, | |
17 )) | |
18 | |
19 func masonRules() Rules { | |
20 return Rules{ | |
21 "root": { | |
22 {`\s+`, Text, nil}, | |
23 {`(<%doc>)(.*?)(</%doc>)(?s)`, ByGroups(NameTag, CommentMultiline, NameTag), nil}, | |
24 {`(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, Text, NameFunction, NameTag, UsingSelf("root"), NameTag), nil}, | |
25 {`(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, NameFunction, NameTag, Using("Perl"), NameTag), nil}, | |
26 {`(<&[^|])(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using("Perl"), NameTag), nil}, | |
27 {`(<&\|)(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using("Perl"), NameTag), nil}, | |
28 {`</&>`, NameTag, nil}, | |
29 {`(<%!?)(.*?)(%>)(?s)`, ByGroups(NameTag, Using("Perl"), NameTag), nil}, | |
30 {`(?<=^)#[^\n]*(\n|\Z)`, Comment, nil}, | |
31 {`(?<=^)(%)([^\n]*)(\n|\Z)`, ByGroups(NameTag, Using("Perl"), Other), nil}, | |
32 {`(?sx) | |
33 (.+?) # anything, followed by: | |
34 (?: | |
35 (?<=\n)(?=[%#]) | # an eval or comment line | |
36 (?=</?[%&]) | # a substitution or block or | |
37 # call start or end | |
38 # - don't consume | |
39 (\\\n) | # an escaped newline | |
40 \Z # end of string | |
41 )`, ByGroups(Using("HTML"), Operator), nil}, | |
42 }, | |
43 } | |
44 } |