diff options
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/myghty.go')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/myghty.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/myghty.go b/vendor/github.com/alecthomas/chroma/v2/lexers/myghty.go new file mode 100644 index 0000000..42ff0e6 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/myghty.go @@ -0,0 +1,42 @@ +package lexers + +import ( + . "github.com/alecthomas/chroma/v2" // nolint +) + +// Myghty lexer. +var Myghty = Register(MustNewLexer( + &Config{ + Name: "Myghty", + Aliases: []string{"myghty"}, + Filenames: []string{"*.myt", "autodelegate"}, + MimeTypes: []string{"application/x-myghty"}, + }, + myghtyRules, +)) + +func myghtyRules() Rules { + return Rules{ + "root": { + {`\s+`, Text, nil}, + {`(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, Text, NameFunction, NameTag, UsingSelf("root"), NameTag), nil}, + {`(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, NameFunction, NameTag, Using("Python2"), NameTag), nil}, + {`(<&[^|])(.*?)(,.*?)?(&>)`, ByGroups(NameTag, NameFunction, Using("Python2"), NameTag), nil}, + {`(<&\|)(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using("Python2"), NameTag), nil}, + {`</&>`, NameTag, nil}, + {`(<%!?)(.*?)(%>)(?s)`, ByGroups(NameTag, Using("Python2"), NameTag), nil}, + {`(?<=^)#[^\n]*(\n|\Z)`, Comment, nil}, + {`(?<=^)(%)([^\n]*)(\n|\Z)`, ByGroups(NameTag, Using("Python2"), Other), nil}, + {`(?sx) + (.+?) # anything, followed by: + (?: + (?<=\n)(?=[%#]) | # an eval or comment line + (?=</?[%&]) | # a substitution or block or + # call start or end + # - don't consume + (\\\n) | # an escaped newline + \Z # end of string + )`, ByGroups(Other, Operator), nil}, + }, + } +} |
