`, styleAttr)
}
- return fmt.Sprintf(``, styleAttr)
+ return fmt.Sprintf(``, styleAttr)
},
end: func(code bool) string {
if code {
@@ -156,19 +188,22 @@ var (
// Formatter that generates HTML.
type Formatter struct {
- standalone bool
- prefix string
- Classes bool // Exported field to detect when classes are being used
- allClasses bool
- preWrapper PreWrapper
- tabWidth int
- wrapLongLines bool
- lineNumbers bool
- lineNumbersInTable bool
- linkableLineNumbers bool
- lineNumbersIDPrefix string
- highlightRanges highlightRanges
- baseLineNumber int
+ standalone bool
+ prefix string
+ Classes bool // Exported field to detect when classes are being used
+ allClasses bool
+ customCSS map[chroma.TokenType]string
+ preWrapper PreWrapper
+ inlineCode bool
+ preventSurroundingPre bool
+ tabWidth int
+ wrapLongLines bool
+ lineNumbers bool
+ lineNumbersInTable bool
+ linkableLineNumbers bool
+ lineNumbersIDPrefix string
+ highlightRanges highlightRanges
+ baseLineNumber int
}
type highlightRanges [][2]int
@@ -227,7 +262,7 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.
fmt.Fprintf(w, "", f.styleAttr(css, chroma.LineHighlight))
}
- fmt.Fprintf(w, "%s\n", f.styleAttr(css, chroma.LineNumbersTable), f.lineIDAttribute(line), f.lineTitleWithLinkIfNeeded(lineDigits, line))
+ fmt.Fprintf(w, "%s\n", f.styleAttr(css, chroma.LineNumbersTable), f.lineIDAttribute(line), f.lineTitleWithLinkIfNeeded(css, lineDigits, line))
if highlight {
fmt.Fprintf(w, "")
@@ -249,26 +284,29 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.
highlightIndex++
}
- // Start of Line
- fmt.Fprint(w, ``)
} else {
- fmt.Fprintf(w, ` style="%s %s"`, css[chroma.Line], css[chroma.LineHighlight])
+ fmt.Fprintf(w, "%s>", f.styleAttr(css, chroma.Line))
}
- fmt.Fprint(w, `>`)
- } else {
- fmt.Fprintf(w, "%s>", f.styleAttr(css, chroma.Line))
- }
- // Line number
- if f.lineNumbers && !wrapInTable {
- fmt.Fprintf(w, "%s", f.styleAttr(css, chroma.LineNumbers), f.lineIDAttribute(line), f.lineTitleWithLinkIfNeeded(lineDigits, line))
- }
+ // Line number
+ if f.lineNumbers && !wrapInTable {
+ fmt.Fprintf(w, "%s", f.styleAttr(css, chroma.LineNumbers), f.lineIDAttribute(line), f.lineTitleWithLinkIfNeeded(css, lineDigits, line))
+ }
- fmt.Fprintf(w, ``, f.styleAttr(css, chroma.CodeLine))
+ fmt.Fprintf(w, ``, f.styleAttr(css, chroma.CodeLine))
+ }
for _, token := range tokens {
html := html.EscapeString(token.String())
@@ -279,11 +317,12 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.
fmt.Fprint(w, html)
}
- fmt.Fprint(w, ``) // End of CodeLine
+ if !(f.preventSurroundingPre || f.inlineCode) {
+ fmt.Fprint(w, ``) // End of CodeLine
- fmt.Fprint(w, ``) // End of Line
+ fmt.Fprint(w, ``) // End of Line
+ }
}
-
fmt.Fprintf(w, f.preWrapper.End(true))
if wrapInTable {
@@ -306,12 +345,12 @@ func (f *Formatter) lineIDAttribute(line int) string {
return fmt.Sprintf(" id=\"%s\"", f.lineID(line))
}
-func (f *Formatter) lineTitleWithLinkIfNeeded(lineDigits, line int) string {
+func (f *Formatter) lineTitleWithLinkIfNeeded(css map[chroma.TokenType]string, lineDigits, line int) string {
title := fmt.Sprintf("%*d", lineDigits, line)
if !f.linkableLineNumbers {
return title
}
- return fmt.Sprintf("%s", f.lineID(line), title)
+ return fmt.Sprintf("%s", f.styleAttr(css, chroma.LineLink), f.lineID(line), title)
}
func (f *Formatter) lineID(line int) string {
@@ -373,7 +412,7 @@ func (f *Formatter) styleAttr(styles map[chroma.TokenType]string, tt chroma.Toke
func (f *Formatter) tabWidthStyle() string {
if f.tabWidth != 0 && f.tabWidth != 8 {
- return fmt.Sprintf("; -moz-tab-size: %[1]d; -o-tab-size: %[1]d; tab-size: %[1]d", f.tabWidth)
+ return fmt.Sprintf("-moz-tab-size: %[1]d; -o-tab-size: %[1]d; tab-size: %[1]d;", f.tabWidth)
}
return ""
}
@@ -435,28 +474,53 @@ func (f *Formatter) styleToCSS(style *chroma.Style) map[chroma.TokenType]string
if t != chroma.Background {
entry = entry.Sub(bg)
}
- if !f.allClasses && entry.IsZero() {
+
+ // Inherit from custom CSS provided by user
+ tokenCategory := t.Category()
+ tokenSubCategory := t.SubCategory()
+ if t != tokenCategory {
+ if css, ok := f.customCSS[tokenCategory]; ok {
+ classes[t] = css
+ }
+ }
+ if tokenCategory != tokenSubCategory {
+ if css, ok := f.customCSS[tokenSubCategory]; ok {
+ classes[t] += css
+ }
+ }
+ // Add custom CSS provided by user
+ if css, ok := f.customCSS[t]; ok {
+ classes[t] += css
+ }
+
+ if !f.allClasses && entry.IsZero() && classes[t] == `` {
continue
}
- classes[t] = StyleEntryToCSS(entry)
+
+ styleEntryCSS := StyleEntryToCSS(entry)
+ if styleEntryCSS != `` && classes[t] != `` {
+ styleEntryCSS += `;`
+ }
+ classes[t] = styleEntryCSS + classes[t]
}
- classes[chroma.Background] += f.tabWidthStyle()
- classes[chroma.PreWrapper] += classes[chroma.Background] + `;`
+ classes[chroma.Background] += `;` + f.tabWidthStyle()
+ classes[chroma.PreWrapper] += classes[chroma.Background]
// Make PreWrapper a grid to show highlight style with full width.
- if len(f.highlightRanges) > 0 {
+ if len(f.highlightRanges) > 0 && f.customCSS[chroma.PreWrapper] == `` {
classes[chroma.PreWrapper] += `display: grid;`
}
// Make PreWrapper wrap long lines.
if f.wrapLongLines {
classes[chroma.PreWrapper] += `white-space: pre-wrap; word-break: break-word;`
}
- lineNumbersStyle := `white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;`
+ lineNumbersStyle := `white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;`
// All rules begin with default rules followed by user provided rules
classes[chroma.Line] = `display: flex;` + classes[chroma.Line]
classes[chroma.LineNumbers] = lineNumbersStyle + classes[chroma.LineNumbers]
classes[chroma.LineNumbersTable] = lineNumbersStyle + classes[chroma.LineNumbersTable]
classes[chroma.LineTable] = "border-spacing: 0; padding: 0; margin: 0; border: 0;" + classes[chroma.LineTable]
classes[chroma.LineTableTD] = "vertical-align: top; padding: 0; margin: 0; border: 0;" + classes[chroma.LineTableTD]
+ classes[chroma.LineLink] = "outline: none; text-decoration: none; color: inherit" + classes[chroma.LineLink]
return classes
}
diff --git a/vendor/github.com/alecthomas/chroma/iterator.go b/vendor/github.com/alecthomas/chroma/v2/iterator.go
similarity index 100%
rename from vendor/github.com/alecthomas/chroma/iterator.go
rename to vendor/github.com/alecthomas/chroma/v2/iterator.go
diff --git a/vendor/github.com/alecthomas/chroma/lexer.go b/vendor/github.com/alecthomas/chroma/v2/lexer.go
similarity index 59%
rename from vendor/github.com/alecthomas/chroma/lexer.go
rename to vendor/github.com/alecthomas/chroma/v2/lexer.go
index fe62519..eb027bf 100644
--- a/vendor/github.com/alecthomas/chroma/lexer.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexer.go
@@ -15,30 +15,30 @@ var (
// Config for a lexer.
type Config struct {
// Name of the lexer.
- Name string
+ Name string `xml:"name,omitempty"`
// Shortcuts for the lexer
- Aliases []string
+ Aliases []string `xml:"alias,omitempty"`
// File name globs
- Filenames []string
+ Filenames []string `xml:"filename,omitempty"`
// Secondary file name globs
- AliasFilenames []string
+ AliasFilenames []string `xml:"alias_filename,omitempty"`
// MIME types
- MimeTypes []string
+ MimeTypes []string `xml:"mime_type,omitempty"`
// Regex matching is case-insensitive.
- CaseInsensitive bool
+ CaseInsensitive bool `xml:"case_insensitive,omitempty"`
// Regex matches all characters.
- DotAll bool
+ DotAll bool `xml:"dot_all,omitempty"`
// Regex does not match across lines ($ matches EOL).
//
// Defaults to multiline.
- NotMultiline bool
+ NotMultiline bool `xml:"not_multiline,omitempty"`
// Don't strip leading and trailing newlines from the input.
// DontStripNL bool
@@ -48,7 +48,7 @@ type Config struct {
// Make sure that the input ends with a newline. This
// is required for some lexers that consume input linewise.
- EnsureNL bool
+ EnsureNL bool `xml:"ensure_nl,omitempty"`
// If given and greater than 0, expand tabs in the input.
// TabSize int
@@ -56,7 +56,27 @@ type Config struct {
// Priority of lexer.
//
// If this is 0 it will be treated as a default of 1.
- Priority float32
+ Priority float32 `xml:"priority,omitempty"`
+
+ // Analyse is a list of regexes to match against the input.
+ //
+ // If a match is found, the score is returned if single attribute is set to true,
+ // otherwise the sum of all the score of matching patterns will be
+ // used as the final score.
+ Analyse *AnalyseConfig `xml:"analyse,omitempty"`
+}
+
+// AnalyseConfig defines the list of regexes analysers.
+type AnalyseConfig struct {
+ Regexes []RegexConfig `xml:"regex,omitempty"`
+ // If true, the first matching score is returned.
+ First bool `xml:"first,attr"`
+}
+
+// RegexConfig defines a single regex pattern and its score in case of match.
+type RegexConfig struct {
+ Pattern string `xml:"pattern,attr"`
+ Score float32 `xml:"score,attr"`
}
// Token output to formatter.
@@ -94,6 +114,20 @@ type Lexer interface {
Config() *Config
// Tokenise returns an Iterator over tokens in text.
Tokenise(options *TokeniseOptions, text string) (Iterator, error)
+ // SetRegistry sets the registry this Lexer is associated with.
+ //
+ // The registry should be used by the Lexer if it needs to look up other
+ // lexers.
+ SetRegistry(registry *LexerRegistry) Lexer
+ // SetAnalyser sets a function the Lexer should use for scoring how
+ // likely a fragment of text is to match this lexer, between 0.0 and 1.0.
+ // A value of 1 indicates high confidence.
+ //
+ // Lexers may ignore this if they implement their own analysers.
+ SetAnalyser(analyser func(text string) float32) Lexer
+ // AnalyseText scores how likely a fragment of text is to match
+ // this lexer, between 0.0 and 1.0. A value of 1 indicates high confidence.
+ AnalyseText(text string) float32
}
// Lexers is a slice of lexers sortable by name.
diff --git a/vendor/github.com/alecthomas/chroma/lexers/README.md b/vendor/github.com/alecthomas/chroma/v2/lexers/README.md
similarity index 85%
rename from vendor/github.com/alecthomas/chroma/lexers/README.md
rename to vendor/github.com/alecthomas/chroma/v2/lexers/README.md
index b4ed292..60a0055 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/README.md
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/README.md
@@ -1,19 +1,24 @@
-# Lexer tests
+# Chroma lexers
+
+All lexers in Chroma should now be defined in XML unless they require custom code.
+
+## Lexer tests
The tests in this directory feed a known input `testdata/.actual` into the parser for `` and check
-that its output matches `.exported`.
+that its output matches `.expected`.
It is also possible to perform several tests on a same parser ``, by placing know inputs `*.actual` into a
directory `testdata//`.
-## Running the tests
+### Running the tests
Run the tests as normal:
```go
go test ./lexers
```
-## Update existing tests
+### Update existing tests
+
When you add a new test data file (`*.actual`), you need to regenerate all tests. That's how Chroma creates the `*.expected` test file based on the corresponding lexer.
To regenerate all tests, type in your terminal:
@@ -26,7 +31,8 @@ This first sets the `RECORD` environment variable to `true`. Then it runs `go te
(That environment variable tells Chroma it needs to output test data. After running `go test ./lexers` you can remove or reset that variable.)
-### Windows users
+#### Windows users
+
Windows users will find that the `RECORD=true go test ./lexers` command fails in both the standard command prompt terminal and in PowerShell.
Instead we have to perform both steps separately:
@@ -35,6 +41,6 @@ Instead we have to perform both steps separately:
+ In the regular command prompt window, the `set` command sets an environment variable for the current session: `set RECORD=true`. See [this page](https://superuser.com/questions/212150/how-to-set-env-variable-in-windows-cmd-line) for more.
+ In PowerShell, you can use the `$env:RECORD = 'true'` command for that. See [this article](https://mcpmag.com/articles/2019/03/28/environment-variables-in-powershell.aspx) for more.
+ You can also make a persistent environment variable by hand in the Windows computer settings. See [this article](https://www.computerhope.com/issues/ch000549.htm) for how.
-- When the environment variable is set, run `go tests ./lexers`.
+- When the environment variable is set, run `go test ./lexers`.
Chroma will now regenerate the test files and print its results to the console window.
diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/caddyfile.go b/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go
similarity index 96%
rename from vendor/github.com/alecthomas/chroma/lexers/c/caddyfile.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go
index 765947a..9100efa 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/c/caddyfile.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go
@@ -1,8 +1,7 @@
-package c
+package lexers
import (
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
// caddyfileCommon are the rules common to both of the lexer variants
@@ -137,7 +136,7 @@ func caddyfileCommonRules() Rules {
}
// Caddyfile lexer.
-var Caddyfile = internal.Register(MustNewLazyLexer(
+var Caddyfile = Register(MustNewLexer(
&Config{
Name: "Caddyfile",
Aliases: []string{"caddyfile", "caddy"},
@@ -196,7 +195,7 @@ func caddyfileRules() Rules {
}
// Caddyfile directive-only lexer.
-var CaddyfileDirectives = internal.Register(MustNewLazyLexer(
+var CaddyfileDirectives = Register(MustNewLexer(
&Config{
Name: "Caddyfile Directives",
Aliases: []string{"caddyfile-directives", "caddyfile-d", "caddy-d"},
diff --git a/vendor/github.com/alecthomas/chroma/lexers/c/cl.go b/vendor/github.com/alecthomas/chroma/v2/lexers/cl.go
similarity index 80%
rename from vendor/github.com/alecthomas/chroma/lexers/c/cl.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/cl.go
index bb16273..3eb0c23 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/c/cl.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/cl.go
@@ -1,8 +1,7 @@
-package c
+package lexers
import (
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
var (
@@ -230,15 +229,9 @@ var (
)
// Common Lisp lexer.
-var CommonLisp = internal.Register(TypeRemappingLexer(MustNewLazyLexer(
- &Config{
- Name: "Common Lisp",
- Aliases: []string{"common-lisp", "cl", "lisp"},
- Filenames: []string{"*.cl", "*.lisp"},
- MimeTypes: []string{"text/x-common-lisp"},
- CaseInsensitive: true,
- },
- commonLispRules,
+var CommonLisp = Register(TypeRemappingLexer(MustNewXMLLexer(
+ embedded,
+ "embedded/common_lisp.xml",
), TypeMapping{
{NameVariable, NameFunction, clBuiltinFunctions},
{NameVariable, Keyword, clSpecialForms},
@@ -248,63 +241,3 @@ var CommonLisp = internal.Register(TypeRemappingLexer(MustNewLazyLexer(
{NameVariable, KeywordType, clBuiltinTypes},
{NameVariable, NameClass, clBuiltinClasses},
}))
-
-func commonLispRules() Rules {
- return Rules{
- "root": {
- Default(Push("body")),
- },
- "multiline-comment": {
- {`#\|`, CommentMultiline, Push()},
- {`\|#`, CommentMultiline, Pop(1)},
- {`[^|#]+`, CommentMultiline, nil},
- {`[|#]`, CommentMultiline, nil},
- },
- "commented-form": {
- {`\(`, CommentPreproc, Push()},
- {`\)`, CommentPreproc, Pop(1)},
- {`[^()]+`, CommentPreproc, nil},
- },
- "body": {
- {`\s+`, Text, nil},
- {`;.*$`, CommentSingle, nil},
- {`#\|`, CommentMultiline, Push("multiline-comment")},
- {`#\d*Y.*$`, CommentSpecial, nil},
- {`"(\\.|\\\n|[^"\\])*"`, LiteralString, nil},
- {`:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil},
- {`::(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil},
- {`:#(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil},
- {`'(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil},
- {`'`, Operator, nil},
- {"`", Operator, nil},
- {"[-+]?\\d+\\.?(?=[ \"()\\'\\n,;`])", LiteralNumberInteger, nil},
- {"[-+]?\\d+/\\d+(?=[ \"()\\'\\n,;`])", LiteralNumber, nil},
- {"[-+]?(\\d*\\.\\d+([defls][-+]?\\d+)?|\\d+(\\.\\d*)?[defls][-+]?\\d+)(?=[ \"()\\'\\n,;`])", LiteralNumberFloat, nil},
- {"#\\\\.(?=[ \"()\\'\\n,;`])", LiteralStringChar, nil},
- {`#\\(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringChar, nil},
- {`#\(`, Operator, Push("body")},
- {`#\d*\*[01]*`, LiteralOther, nil},
- {`#:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, LiteralStringSymbol, nil},
- {`#[.,]`, Operator, nil},
- {`#\'`, NameFunction, nil},
- {`#b[+-]?[01]+(/[01]+)?`, LiteralNumberBin, nil},
- {`#o[+-]?[0-7]+(/[0-7]+)?`, LiteralNumberOct, nil},
- {`#x[+-]?[0-9a-f]+(/[0-9a-f]+)?`, LiteralNumberHex, nil},
- {`#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?`, LiteralNumber, nil},
- {`(#c)(\()`, ByGroups(LiteralNumber, Punctuation), Push("body")},
- {`(#\d+a)(\()`, ByGroups(LiteralOther, Punctuation), Push("body")},
- {`(#s)(\()`, ByGroups(LiteralOther, Punctuation), Push("body")},
- {`#p?"(\\.|[^"])*"`, LiteralOther, nil},
- {`#\d+=`, Operator, nil},
- {`#\d+#`, Operator, nil},
- {"#+nil(?=[ \"()\\'\\n,;`])\\s*\\(", CommentPreproc, Push("commented-form")},
- {`#[+-]`, Operator, nil},
- {`(,@|,|\.)`, Operator, nil},
- {"(t|nil)(?=[ \"()\\'\\n,;`])", NameConstant, nil},
- {`\*(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)\*`, NameVariableGlobal, nil},
- {`(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)`, NameVariable, nil},
- {`\(`, Punctuation, Push("body")},
- {`\)`, Punctuation, Pop(1)},
- },
- }
-}
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/dns.go b/vendor/github.com/alecthomas/chroma/v2/lexers/dns.go
new file mode 100644
index 0000000..7e69962
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/dns.go
@@ -0,0 +1,17 @@
+package lexers
+
+import (
+ "regexp"
+)
+
+// TODO(moorereason): can this be factored away?
+var zoneAnalyserRe = regexp.MustCompile(`(?m)^@\s+IN\s+SOA\s+`)
+
+func init() { // nolint: gochecknoinits
+ Get("dns").SetAnalyser(func(text string) float32 {
+ if zoneAnalyserRe.FindString(text) != "" {
+ return 1.0
+ }
+ return 0.0
+ })
+}
diff --git a/vendor/github.com/alecthomas/chroma/lexers/e/emacs.go b/vendor/github.com/alecthomas/chroma/v2/lexers/emacs.go
similarity index 92%
rename from vendor/github.com/alecthomas/chroma/lexers/e/emacs.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/emacs.go
index 51c4910..869b0f3 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/e/emacs.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/emacs.go
@@ -1,8 +1,7 @@
-package e
+package lexers
import (
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
var (
@@ -522,14 +521,9 @@ var (
)
// EmacsLisp lexer.
-var EmacsLisp = internal.Register(TypeRemappingLexer(MustNewLazyLexer(
- &Config{
- Name: "EmacsLisp",
- Aliases: []string{"emacs", "elisp", "emacs-lisp"},
- Filenames: []string{"*.el"},
- MimeTypes: []string{"text/x-elisp", "application/x-elisp"},
- },
- emacsLispRules,
+var EmacsLisp = Register(TypeRemappingLexer(MustNewXMLLexer(
+ embedded,
+ "embedded/emacslisp.xml",
), TypeMapping{
{NameVariable, NameFunction, emacsBuiltinFunction},
{NameVariable, NameBuiltin, emacsSpecialForms},
@@ -537,50 +531,3 @@ var EmacsLisp = internal.Register(TypeRemappingLexer(MustNewLazyLexer(
{NameVariable, NameBuiltin, append(emacsBuiltinFunctionHighlighted, emacsMacros...)},
{NameVariable, KeywordPseudo, emacsLambdaListKeywords},
}))
-
-func emacsLispRules() Rules {
- return Rules{
- "root": {
- Default(Push("body")),
- },
- "body": {
- {`\s+`, Text, nil},
- {`;.*$`, CommentSingle, nil},
- {`"`, LiteralString, Push("string")},
- {`\?([^\\]|\\.)`, LiteralStringChar, nil},
- {`:((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, NameBuiltin, nil},
- {`::((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, LiteralStringSymbol, nil},
- {`'((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, LiteralStringSymbol, nil},
- {`'`, Operator, nil},
- {"`", Operator, nil},
- {"[-+]?\\d+\\.?(?=[ \"()\\]\\'\\n,;`])", LiteralNumberInteger, nil},
- {"[-+]?\\d+/\\d+(?=[ \"()\\]\\'\\n,;`])", LiteralNumber, nil},
- {"[-+]?(\\d*\\.\\d+([defls][-+]?\\d+)?|\\d+(\\.\\d*)?[defls][-+]?\\d+)(?=[ \"()\\]\\'\\n,;`])", LiteralNumberFloat, nil},
- {`\[|\]`, Punctuation, nil},
- {`#:((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, LiteralStringSymbol, nil},
- {`#\^\^?`, Operator, nil},
- {`#\'`, NameFunction, nil},
- {`#[bB][+-]?[01]+(/[01]+)?`, LiteralNumberBin, nil},
- {`#[oO][+-]?[0-7]+(/[0-7]+)?`, LiteralNumberOct, nil},
- {`#[xX][+-]?[0-9a-fA-F]+(/[0-9a-fA-F]+)?`, LiteralNumberHex, nil},
- {`#\d+r[+-]?[0-9a-zA-Z]+(/[0-9a-zA-Z]+)?`, LiteralNumber, nil},
- {`#\d+=`, Operator, nil},
- {`#\d+#`, Operator, nil},
- {`(,@|,|\.|:)`, Operator, nil},
- {"(t|nil)(?=[ \"()\\]\\'\\n,;`])", NameConstant, nil},
- {`\*((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)\*`, NameVariableGlobal, nil},
- {`((?:\\.|[\w!$%&*+-/<=>?@^{}~|])(?:\\.|[\w!$%&*+-/<=>?@^{}~|]|[#.:])*)`, NameVariable, nil},
- {`#\(`, Operator, Push("body")},
- {`\(`, Punctuation, Push("body")},
- {`\)`, Punctuation, Pop(1)},
- },
- "string": {
- {"[^\"\\\\`]+", LiteralString, nil},
- {"`((?:\\\\.|[\\w!$%&*+-/<=>?@^{}~|])(?:\\\\.|[\\w!$%&*+-/<=>?@^{}~|]|[#.:])*)\\'", LiteralStringSymbol, nil},
- {"`", LiteralString, nil},
- {`\\.`, LiteralString, nil},
- {`\\\n`, LiteralString, nil},
- {`"`, LiteralString, Pop(1)},
- },
- }
-}
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/abap.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/abap.xml
new file mode 100644
index 0000000..e8140b7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/abap.xml
@@ -0,0 +1,154 @@
+
+
+ ABAP
+ abap
+ *.abap
+ *.ABAP
+ text/x-abap
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/abnf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/abnf.xml
new file mode 100644
index 0000000..3ffd51c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/abnf.xml
@@ -0,0 +1,66 @@
+
+
+ ABNF
+ abnf
+ *.abnf
+ text/x-abnf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/actionscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/actionscript.xml
new file mode 100644
index 0000000..d6727a1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/actionscript.xml
@@ -0,0 +1,68 @@
+
+
+ ActionScript
+ as
+ actionscript
+ *.as
+ application/x-actionscript
+ text/x-actionscript
+ text/actionscript
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/actionscript_3.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/actionscript_3.xml
new file mode 100644
index 0000000..e5f6538
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/actionscript_3.xml
@@ -0,0 +1,163 @@
+
+
+ ActionScript 3
+ as3
+ actionscript3
+ *.as
+ application/x-actionscript3
+ text/x-actionscript3
+ text/actionscript3
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ada.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ada.xml
new file mode 100644
index 0000000..5854a20
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ada.xml
@@ -0,0 +1,321 @@
+
+
+ Ada
+ ada
+ ada95
+ ada2005
+ *.adb
+ *.ads
+ *.ada
+ text/x-ada
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/al.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/al.xml
new file mode 100644
index 0000000..30bad5a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/al.xml
@@ -0,0 +1,75 @@
+
+
+ AL
+ al
+ *.al
+ *.dal
+ text/x-al
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/angular2.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/angular2.xml
new file mode 100644
index 0000000..84fe20b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/angular2.xml
@@ -0,0 +1,108 @@
+
+
+ Angular2
+ ng2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/antlr.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/antlr.xml
new file mode 100644
index 0000000..e57edd4
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/antlr.xml
@@ -0,0 +1,317 @@
+
+
+ ANTLR
+ antlr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/apacheconf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/apacheconf.xml
new file mode 100644
index 0000000..7643541
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/apacheconf.xml
@@ -0,0 +1,74 @@
+
+
+ ApacheConf
+ apacheconf
+ aconf
+ apache
+ .htaccess
+ apache.conf
+ apache2.conf
+ text/x-apacheconf
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/apl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/apl.xml
new file mode 100644
index 0000000..959448c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/apl.xml
@@ -0,0 +1,59 @@
+
+
+ APL
+ apl
+ *.apl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/applescript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/applescript.xml
new file mode 100644
index 0000000..1de6c67
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/applescript.xml
@@ -0,0 +1,130 @@
+
+
+ AppleScript
+ applescript
+ *.applescript
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arangodb_aql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arangodb_aql.xml
new file mode 100644
index 0000000..e711973
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arangodb_aql.xml
@@ -0,0 +1,174 @@
+
+
+ ArangoDB AQL
+ aql
+ *.aql
+ text/x-aql
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arduino.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arduino.xml
new file mode 100644
index 0000000..00399c2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arduino.xml
@@ -0,0 +1,309 @@
+
+
+ Arduino
+ arduino
+ *.ino
+ text/x-arduino
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml
new file mode 100644
index 0000000..e5966cf
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/armasm.xml
@@ -0,0 +1,126 @@
+
+
+ ArmAsm
+ armasm
+ *.s
+ *.S
+ text/x-armasm
+ text/x-asm
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/autohotkey.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/autohotkey.xml
new file mode 100644
index 0000000..6ec94ed
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/autohotkey.xml
@@ -0,0 +1,78 @@
+
+
+
+ AutoHotkey
+ autohotkey
+ ahk
+ *.ahk
+ *.ahkl
+ text/x-autohotkey
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/autoit.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/autoit.xml
new file mode 100644
index 0000000..1f7e15d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/autoit.xml
@@ -0,0 +1,70 @@
+
+
+
+ AutoIt
+ autoit
+ *.au3
+ text/x-autoit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml
new file mode 100644
index 0000000..07476ff
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml
@@ -0,0 +1,95 @@
+
+
+ Awk
+ awk
+ gawk
+ mawk
+ nawk
+ *.awk
+ application/x-awk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ballerina.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ballerina.xml
new file mode 100644
index 0000000..d13c123
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ballerina.xml
@@ -0,0 +1,97 @@
+
+
+ Ballerina
+ ballerina
+ *.bal
+ text/x-ballerina
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bash.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bash.xml
new file mode 100644
index 0000000..d704a8f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bash.xml
@@ -0,0 +1,220 @@
+
+
+ Bash
+ bash
+ sh
+ ksh
+ zsh
+ shell
+ *.sh
+ *.ksh
+ *.bash
+ *.ebuild
+ *.eclass
+ .env
+ *.env
+ *.exheres-0
+ *.exlib
+ *.zsh
+ *.zshrc
+ .bashrc
+ bashrc
+ .bash_*
+ bash_*
+ zshrc
+ .zshrc
+ PKGBUILD
+ application/x-sh
+ application/x-shellscript
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bash_session.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bash_session.xml
new file mode 100644
index 0000000..82c5fd6
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bash_session.xml
@@ -0,0 +1,25 @@
+
+
+ Bash Session
+ bash-session
+ console
+ shell-session
+ *.sh-session
+ text/x-sh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/batchfile.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/batchfile.xml
new file mode 100644
index 0000000..d3e0627
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/batchfile.xml
@@ -0,0 +1,660 @@
+
+
+ Batchfile
+ bat
+ batch
+ dosbatch
+ winbatch
+ *.bat
+ *.cmd
+ application/x-dos-batch
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bibtex.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bibtex.xml
new file mode 100644
index 0000000..8fde161
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bibtex.xml
@@ -0,0 +1,152 @@
+
+
+ BibTeX
+ bib
+ bibtex
+ *.bib
+ text/x-bibtex
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bicep.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bicep.xml
new file mode 100644
index 0000000..db90f31
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bicep.xml
@@ -0,0 +1,84 @@
+
+
+ Bicep
+ bicep
+ *.bicep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/blitzbasic.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/blitzbasic.xml
new file mode 100644
index 0000000..591b1ad
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/blitzbasic.xml
@@ -0,0 +1,141 @@
+
+
+ BlitzBasic
+ blitzbasic
+ b3d
+ bplus
+ *.bb
+ *.decls
+ text/x-bb
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bnf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bnf.xml
new file mode 100644
index 0000000..5c98424
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bnf.xml
@@ -0,0 +1,28 @@
+
+
+ BNF
+ bnf
+ *.bnf
+ text/x-bnf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bqn.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bqn.xml
new file mode 100644
index 0000000..c1090ea
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bqn.xml
@@ -0,0 +1,83 @@
+
+
+ BQN
+ bqn
+ *.bqn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/brainfuck.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/brainfuck.xml
new file mode 100644
index 0000000..4c84c33
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/brainfuck.xml
@@ -0,0 +1,51 @@
+
+
+ Brainfuck
+ brainfuck
+ bf
+ *.bf
+ *.b
+ application/x-brainfuck
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml
new file mode 100644
index 0000000..801a954
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml
@@ -0,0 +1,121 @@
+
+
+ C#
+ csharp
+ c#
+ *.cs
+ text/x-csharp
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c++.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c++.xml
new file mode 100644
index 0000000..680a19a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c++.xml
@@ -0,0 +1,331 @@
+
+
+ C++
+ cpp
+ c++
+ *.cpp
+ *.hpp
+ *.c++
+ *.h++
+ *.cc
+ *.hh
+ *.cxx
+ *.hxx
+ *.C
+ *.H
+ *.cp
+ *.CPP
+ *.tpp
+ text/x-c++hdr
+ text/x-c++src
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c.xml
new file mode 100644
index 0000000..35ee32d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c.xml
@@ -0,0 +1,260 @@
+
+
+ C
+ c
+ *.c
+ *.h
+ *.idc
+ *.x[bp]m
+ text/x-chdr
+ text/x-csrc
+ image/x-xbitmap
+ image/x-xpixmap
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cap_n_proto.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cap_n_proto.xml
new file mode 100644
index 0000000..3e7d147
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cap_n_proto.xml
@@ -0,0 +1,122 @@
+
+
+ Cap'n Proto
+ capnp
+ *.capnp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cassandra_cql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cassandra_cql.xml
new file mode 100644
index 0000000..1a78f99
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cassandra_cql.xml
@@ -0,0 +1,137 @@
+
+
+ Cassandra CQL
+ cassandra
+ cql
+ *.cql
+ text/x-cql
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ceylon.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ceylon.xml
new file mode 100644
index 0000000..4c41218
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ceylon.xml
@@ -0,0 +1,151 @@
+
+
+ Ceylon
+ ceylon
+ *.ceylon
+ text/x-ceylon
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml
new file mode 100644
index 0000000..4950305
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml
@@ -0,0 +1,197 @@
+
+
+ CFEngine3
+ cfengine3
+ cf3
+ *.cf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfstatement.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfstatement.xml
new file mode 100644
index 0000000..46a84cf
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfstatement.xml
@@ -0,0 +1,92 @@
+
+
+ cfstatement
+ cfs
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/chaiscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/chaiscript.xml
new file mode 100644
index 0000000..860439a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/chaiscript.xml
@@ -0,0 +1,134 @@
+
+
+ ChaiScript
+ chai
+ chaiscript
+ *.chai
+ text/x-chaiscript
+ application/x-chaiscript
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/chapel.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/chapel.xml
new file mode 100644
index 0000000..c89cafc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/chapel.xml
@@ -0,0 +1,143 @@
+
+
+ Chapel
+ chapel
+ chpl
+ *.chpl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cheetah.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cheetah.xml
new file mode 100644
index 0000000..284457c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cheetah.xml
@@ -0,0 +1,55 @@
+
+
+ Cheetah
+ cheetah
+ spitfire
+ *.tmpl
+ *.spt
+ application/x-cheetah
+ application/x-spitfire
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/clojure.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/clojure.xml
new file mode 100644
index 0000000..967ba39
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/clojure.xml
@@ -0,0 +1,71 @@
+
+
+ Clojure
+ clojure
+ clj
+ edn
+ *.clj
+ *.edn
+ text/x-clojure
+ application/x-clojure
+ application/edn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cmake.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cmake.xml
new file mode 100644
index 0000000..b041cfd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cmake.xml
@@ -0,0 +1,90 @@
+
+
+ CMake
+ cmake
+ *.cmake
+ CMakeLists.txt
+ text/x-cmake
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cobol.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cobol.xml
new file mode 100644
index 0000000..a8a8029
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cobol.xml
@@ -0,0 +1,90 @@
+
+
+ COBOL
+ cobol
+ *.cob
+ *.COB
+ *.cpy
+ *.CPY
+ text/x-cobol
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/coffeescript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/coffeescript.xml
new file mode 100644
index 0000000..e29722f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/coffeescript.xml
@@ -0,0 +1,210 @@
+
+
+ CoffeeScript
+ coffee-script
+ coffeescript
+ coffee
+ *.coffee
+ text/coffeescript
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/common_lisp.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/common_lisp.xml
new file mode 100644
index 0000000..0fb9a7a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/common_lisp.xml
@@ -0,0 +1,184 @@
+
+
+ Common Lisp
+ common-lisp
+ cl
+ lisp
+ *.cl
+ *.lisp
+ text/x-common-lisp
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/coq.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/coq.xml
new file mode 100644
index 0000000..62f64ff
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/coq.xml
@@ -0,0 +1,136 @@
+
+
+ Coq
+ coq
+ *.v
+ text/x-coq
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/crystal.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/crystal.xml
new file mode 100644
index 0000000..94853db
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/crystal.xml
@@ -0,0 +1,762 @@
+
+
+ Crystal
+ cr
+ crystal
+ *.cr
+ text/x-crystal
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml
new file mode 100644
index 0000000..6e370c7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml
@@ -0,0 +1,323 @@
+
+
+ CSS
+ css
+ *.css
+ text/css
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml
new file mode 100644
index 0000000..16d7387
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml
@@ -0,0 +1,85 @@
+
+
+ CUE
+ cue
+ *.cue
+ text/x-cue
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cython.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cython.xml
new file mode 100644
index 0000000..15dfe4d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cython.xml
@@ -0,0 +1,372 @@
+
+
+ Cython
+ cython
+ pyx
+ pyrex
+ *.pyx
+ *.pxd
+ *.pxi
+ text/x-cython
+ application/x-cython
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml
new file mode 100644
index 0000000..3c030e2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml
@@ -0,0 +1,133 @@
+
+
+ D
+ d
+ *.d
+ *.di
+ text/x-d
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dart.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dart.xml
new file mode 100644
index 0000000..f1b454f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dart.xml
@@ -0,0 +1,213 @@
+
+
+ Dart
+ dart
+ *.dart
+ text/x-dart
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/diff.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/diff.xml
new file mode 100644
index 0000000..dc0beb7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/diff.xml
@@ -0,0 +1,52 @@
+
+
+ Diff
+ diff
+ udiff
+ *.diff
+ *.patch
+ text/x-diff
+ text/x-patch
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/django_jinja.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/django_jinja.xml
new file mode 100644
index 0000000..3c97c22
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/django_jinja.xml
@@ -0,0 +1,153 @@
+
+
+ Django/Jinja
+ django
+ jinja
+ application/x-django-templating
+ application/x-jinja
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dns.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dns.xml
new file mode 100644
index 0000000..5ac3c25
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dns.xml
@@ -0,0 +1,44 @@
+
+
+
+ dns
+ zone
+ bind
+ *.zone
+ text/dns
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml
new file mode 100644
index 0000000..a73c52c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml
@@ -0,0 +1,57 @@
+
+
+ Docker
+ docker
+ dockerfile
+ Dockerfile
+ Dockerfile.*
+ *.Dockerfile
+ *.docker
+ text/x-dockerfile-config
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dtd.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dtd.xml
new file mode 100644
index 0000000..0edbbde
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dtd.xml
@@ -0,0 +1,168 @@
+
+
+ DTD
+ dtd
+ *.dtd
+ application/xml-dtd
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dylan.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dylan.xml
new file mode 100644
index 0000000..3660d14
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dylan.xml
@@ -0,0 +1,176 @@
+
+
+ Dylan
+ dylan
+ *.dylan
+ *.dyl
+ *.intr
+ text/x-dylan
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ebnf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ebnf.xml
new file mode 100644
index 0000000..df5d62f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ebnf.xml
@@ -0,0 +1,90 @@
+
+
+ EBNF
+ ebnf
+ *.ebnf
+ text/x-ebnf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elixir.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elixir.xml
new file mode 100644
index 0000000..286f53a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elixir.xml
@@ -0,0 +1,744 @@
+
+
+ Elixir
+ elixir
+ ex
+ exs
+ *.ex
+ *.eex
+ *.exs
+ text/x-elixir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elm.xml
new file mode 100644
index 0000000..ed65efc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/elm.xml
@@ -0,0 +1,119 @@
+
+
+ Elm
+ elm
+ *.elm
+ text/x-elm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/emacslisp.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/emacslisp.xml
new file mode 100644
index 0000000..668bc62
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/emacslisp.xml
@@ -0,0 +1,132 @@
+
+
+ EmacsLisp
+ emacs
+ elisp
+ emacs-lisp
+ *.el
+ text/x-elisp
+ application/x-elisp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/erlang.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/erlang.xml
new file mode 100644
index 0000000..b186588
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/erlang.xml
@@ -0,0 +1,166 @@
+
+
+ Erlang
+ erlang
+ *.erl
+ *.hrl
+ *.es
+ *.escript
+ text/x-erlang
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/factor.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/factor.xml
new file mode 100644
index 0000000..4743b9a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/factor.xml
@@ -0,0 +1,412 @@
+
+
+ Factor
+ factor
+ *.factor
+ text/x-factor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fennel.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fennel.xml
new file mode 100644
index 0000000..b9b6d59
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fennel.xml
@@ -0,0 +1,68 @@
+
+
+ Fennel
+ fennel
+ fnl
+ *.fennel
+ text/x-fennel
+ application/x-fennel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fish.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fish.xml
new file mode 100644
index 0000000..deb7814
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fish.xml
@@ -0,0 +1,159 @@
+
+
+ Fish
+ fish
+ fishshell
+ *.fish
+ *.load
+ application/x-fish
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/forth.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/forth.xml
new file mode 100644
index 0000000..31096a2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/forth.xml
@@ -0,0 +1,78 @@
+
+
+ Forth
+ forth
+ *.frt
+ *.fth
+ *.fs
+ application/x-forth
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fortran.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fortran.xml
new file mode 100644
index 0000000..6140e70
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fortran.xml
@@ -0,0 +1,102 @@
+
+
+ Fortran
+ fortran
+ f90
+ *.f03
+ *.f90
+ *.f95
+ *.F03
+ *.F90
+ *.F95
+ text/x-fortran
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fortranfixed.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fortranfixed.xml
new file mode 100644
index 0000000..11343c0
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fortranfixed.xml
@@ -0,0 +1,71 @@
+
+
+ FortranFixed
+ fortranfixed
+ *.f
+ *.F
+ text/x-fortran
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fsharp.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fsharp.xml
new file mode 100644
index 0000000..e1c19ff
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fsharp.xml
@@ -0,0 +1,245 @@
+
+
+ FSharp
+ fsharp
+ *.fs
+ *.fsi
+ text/x-fsharp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gas.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gas.xml
new file mode 100644
index 0000000..7557bce
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gas.xml
@@ -0,0 +1,150 @@
+
+
+ GAS
+ gas
+ asm
+ *.s
+ *.S
+ text/x-gas
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml
new file mode 100644
index 0000000..811f38d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml
@@ -0,0 +1,259 @@
+
+
+ GDScript
+ gdscript
+ gd
+ *.gd
+ text/x-gdscript
+ application/x-gdscript
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml
new file mode 100644
index 0000000..b50c9dd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml
@@ -0,0 +1,270 @@
+
+
+ GDScript3
+ gdscript3
+ gd3
+ *.gd
+ text/x-gdscript
+ application/x-gdscript
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gherkin.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gherkin.xml
new file mode 100644
index 0000000..c53a2cb
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gherkin.xml
@@ -0,0 +1,263 @@
+
+
+ Gherkin
+ cucumber
+ Cucumber
+ gherkin
+ Gherkin
+ *.feature
+ *.FEATURE
+ text/x-gherkin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/glsl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/glsl.xml
new file mode 100644
index 0000000..ca0b696
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/glsl.xml
@@ -0,0 +1,65 @@
+
+
+ GLSL
+ glsl
+ *.vert
+ *.frag
+ *.geo
+ text/x-glslsrc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gnuplot.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gnuplot.xml
new file mode 100644
index 0000000..ee6a245
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gnuplot.xml
@@ -0,0 +1,289 @@
+
+
+ Gnuplot
+ gnuplot
+ *.plot
+ *.plt
+ text/x-gnuplot
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/go_template.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/go_template.xml
new file mode 100644
index 0000000..36f737b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/go_template.xml
@@ -0,0 +1,114 @@
+
+
+ Go Template
+ go-template
+ *.gotmpl
+ *.go.tmpl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/graphql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/graphql.xml
new file mode 100644
index 0000000..b062273
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/graphql.xml
@@ -0,0 +1,88 @@
+
+
+ GraphQL
+ graphql
+ graphqls
+ gql
+ *.graphql
+ *.graphqls
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/groff.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/groff.xml
new file mode 100644
index 0000000..3af0a43
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/groff.xml
@@ -0,0 +1,90 @@
+
+
+ Groff
+ groff
+ nroff
+ man
+ *.[1-9]
+ *.1p
+ *.3pm
+ *.man
+ application/x-troff
+ text/troff
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/groovy.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/groovy.xml
new file mode 100644
index 0000000..3cca2e9
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/groovy.xml
@@ -0,0 +1,135 @@
+
+
+ Groovy
+ groovy
+ *.groovy
+ *.gradle
+ text/x-groovy
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/handlebars.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/handlebars.xml
new file mode 100644
index 0000000..7cf2a64
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/handlebars.xml
@@ -0,0 +1,147 @@
+
+
+ Handlebars
+ handlebars
+ hbs
+ *.handlebars
+ *.hbs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml
new file mode 100644
index 0000000..6dc6912
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml
@@ -0,0 +1,272 @@
+
+
+ Haskell
+ haskell
+ hs
+ *.hs
+ text/x-haskell
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hcl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hcl.xml
new file mode 100644
index 0000000..d3ed208
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hcl.xml
@@ -0,0 +1,143 @@
+
+
+ HCL
+ hcl
+ *.hcl
+ application/x-hcl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hexdump.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hexdump.xml
new file mode 100644
index 0000000..a6f28ea
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hexdump.xml
@@ -0,0 +1,189 @@
+
+
+ Hexdump
+ hexdump
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hlb.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hlb.xml
new file mode 100644
index 0000000..64e667d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hlb.xml
@@ -0,0 +1,149 @@
+
+
+ HLB
+ hlb
+ *.hlb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hlsl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hlsl.xml
new file mode 100644
index 0000000..41ab323
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hlsl.xml
@@ -0,0 +1,110 @@
+
+
+ HLSL
+ hlsl
+ *.hlsl
+ *.hlsli
+ *.cginc
+ *.fx
+ *.fxh
+ text/x-hlsl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/holyc.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/holyc.xml
new file mode 100644
index 0000000..cd2d9d1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/holyc.xml
@@ -0,0 +1,252 @@
+
+
+ HolyC
+ holyc
+ *.HC
+ *.hc
+ *.HH
+ *.hh
+ *.hc.z
+ *.HC.Z
+ text/x-chdr
+ text/x-csrc
+ image/x-xbitmap
+ image/x-xpixmap
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/html.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/html.xml
new file mode 100644
index 0000000..2f1a8a9
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/html.xml
@@ -0,0 +1,159 @@
+
+
+ HTML
+ html
+ *.html
+ *.htm
+ *.xhtml
+ *.xslt
+ text/html
+ application/xhtml+xml
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hy.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hy.xml
new file mode 100644
index 0000000..a0dae46
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hy.xml
@@ -0,0 +1,104 @@
+
+
+ Hy
+ hylang
+ *.hy
+ text/x-hy
+ application/x-hy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml
new file mode 100644
index 0000000..9592d88
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/idris.xml
@@ -0,0 +1,216 @@
+
+
+ Idris
+ idris
+ idr
+ *.idr
+ text/x-idris
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/igor.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/igor.xml
new file mode 100644
index 0000000..1cc0205
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/igor.xml
@@ -0,0 +1,47 @@
+
+
+ Igor
+ igor
+ igorpro
+ *.ipf
+ text/ipf
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml
new file mode 100644
index 0000000..08f3870
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml
@@ -0,0 +1,45 @@
+
+
+ INI
+ ini
+ cfg
+ dosini
+ *.ini
+ *.cfg
+ *.inf
+ *.service
+ *.socket
+ .gitconfig
+ .editorconfig
+ pylintrc
+ .pylintrc
+ text/x-ini
+ text/inf
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/io.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/io.xml
new file mode 100644
index 0000000..9ad94fa
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/io.xml
@@ -0,0 +1,71 @@
+
+
+ Io
+ io
+ *.io
+ text/x-iosrc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/iscdhcpd.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/iscdhcpd.xml
new file mode 100644
index 0000000..645cb05
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/iscdhcpd.xml
@@ -0,0 +1,96 @@
+
+
+ ISCdhcpd
+ iscdhcpd
+ dhcpd.conf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/j.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/j.xml
new file mode 100644
index 0000000..872d081
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/j.xml
@@ -0,0 +1,157 @@
+
+
+ J
+ j
+ *.ijs
+ text/x-j
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml
new file mode 100644
index 0000000..3ce33ff
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml
@@ -0,0 +1,193 @@
+
+
+ Java
+ java
+ *.java
+ text/x-java
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml
new file mode 100644
index 0000000..efe80ed
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml
@@ -0,0 +1,160 @@
+
+
+ JavaScript
+ js
+ javascript
+ *.js
+ *.jsm
+ *.mjs
+ *.cjs
+ application/javascript
+ application/x-javascript
+ text/x-javascript
+ text/javascript
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml
new file mode 100644
index 0000000..bbe10b1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml
@@ -0,0 +1,110 @@
+
+
+ JSON
+ json
+ *.json
+ application/json
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/julia.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/julia.xml
new file mode 100644
index 0000000..776dcdb
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/julia.xml
@@ -0,0 +1,400 @@
+
+
+ Julia
+ julia
+ jl
+ *.jl
+ text/x-julia
+ application/x-julia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jungle.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jungle.xml
new file mode 100644
index 0000000..92c785d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jungle.xml
@@ -0,0 +1,98 @@
+
+
+ Jungle
+ jungle
+ *.jungle
+ text/x-jungle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml
new file mode 100644
index 0000000..09c638a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml
@@ -0,0 +1,223 @@
+
+
+ Kotlin
+ kotlin
+ *.kt
+ text/x-kotlin
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lighttpd_configuration_file.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lighttpd_configuration_file.xml
new file mode 100644
index 0000000..1319e5c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lighttpd_configuration_file.xml
@@ -0,0 +1,42 @@
+
+
+ Lighttpd configuration file
+ lighty
+ lighttpd
+ text/x-lighttpd-conf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/llvm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/llvm.xml
new file mode 100644
index 0000000..f24f152
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/llvm.xml
@@ -0,0 +1,73 @@
+
+
+ LLVM
+ llvm
+ *.ll
+ text/x-llvm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml
new file mode 100644
index 0000000..903d458
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml
@@ -0,0 +1,158 @@
+
+
+ Lua
+ lua
+ *.lua
+ *.wlua
+ text/x-lua
+ application/x-lua
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml
new file mode 100644
index 0000000..a82a7f8
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml
@@ -0,0 +1,131 @@
+
+
+ Makefile
+ make
+ makefile
+ mf
+ bsdmake
+ *.mak
+ *.mk
+ Makefile
+ makefile
+ Makefile.*
+ GNUmakefile
+ BSDmakefile
+ Justfile
+ justfile
+ .justfile
+ text/x-makefile
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mako.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mako.xml
new file mode 100644
index 0000000..7824140
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mako.xml
@@ -0,0 +1,120 @@
+
+
+ Mako
+ mako
+ *.mao
+ application/x-mako
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mason.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mason.xml
new file mode 100644
index 0000000..5873f2a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mason.xml
@@ -0,0 +1,89 @@
+
+
+ Mason
+ mason
+ *.m
+ *.mhtml
+ *.mc
+ *.mi
+ autohandler
+ dhandler
+ application/x-mason
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mathematica.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mathematica.xml
new file mode 100644
index 0000000..0b8dfb6
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mathematica.xml
@@ -0,0 +1,60 @@
+
+
+ Mathematica
+ mathematica
+ mma
+ nb
+ *.cdf
+ *.m
+ *.ma
+ *.mt
+ *.mx
+ *.nb
+ *.nbp
+ *.wl
+ application/mathematica
+ application/vnd.wolfram.mathematica
+ application/vnd.wolfram.mathematica.package
+ application/vnd.wolfram.cdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/matlab.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/matlab.xml
new file mode 100644
index 0000000..ebb4e2c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/matlab.xml
@@ -0,0 +1,114 @@
+
+
+ Matlab
+ matlab
+ *.m
+ text/matlab
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mcfunction.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mcfunction.xml
new file mode 100644
index 0000000..3310520
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mcfunction.xml
@@ -0,0 +1,182 @@
+
+
+ mcfunction
+ mcfunction
+ *.mcfunction
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/meson.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/meson.xml
new file mode 100644
index 0000000..130047d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/meson.xml
@@ -0,0 +1,85 @@
+
+
+ Meson
+ meson
+ meson.build
+ meson.build
+ meson_options.txt
+ text/x-meson
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/metal.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/metal.xml
new file mode 100644
index 0000000..62d04ba
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/metal.xml
@@ -0,0 +1,270 @@
+
+
+ Metal
+ metal
+ *.metal
+ text/x-metal
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/minizinc.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/minizinc.xml
new file mode 100644
index 0000000..1ad6860
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/minizinc.xml
@@ -0,0 +1,82 @@
+
+
+ MiniZinc
+ minizinc
+ MZN
+ mzn
+ *.mzn
+ *.dzn
+ *.fzn
+ text/minizinc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mlir.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mlir.xml
new file mode 100644
index 0000000..025c3dc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mlir.xml
@@ -0,0 +1,73 @@
+
+
+ MLIR
+ mlir
+ *.mlir
+ text/x-mlir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml
new file mode 100644
index 0000000..0bf37bc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modula-2.xml
@@ -0,0 +1,245 @@
+
+
+ Modula-2
+ modula2
+ m2
+ *.def
+ *.mod
+ text/x-modula2
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/monkeyc.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/monkeyc.xml
new file mode 100644
index 0000000..7445a63
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/monkeyc.xml
@@ -0,0 +1,153 @@
+
+
+ MonkeyC
+ monkeyc
+ *.mc
+ text/x-monkeyc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/morrowindscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/morrowindscript.xml
new file mode 100644
index 0000000..724a19f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/morrowindscript.xml
@@ -0,0 +1,90 @@
+
+
+ MorrowindScript
+ morrowind
+ mwscript
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/myghty.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/myghty.xml
new file mode 100644
index 0000000..6d03917
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/myghty.xml
@@ -0,0 +1,77 @@
+
+
+ Myghty
+ myghty
+ *.myt
+ autodelegate
+ application/x-myghty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mysql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mysql.xml
new file mode 100644
index 0000000..b6c2046
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mysql.xml
@@ -0,0 +1,121 @@
+
+
+ MySQL
+ mysql
+ mariadb
+ *.sql
+ text/x-mysql
+ text/x-mariadb
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nasm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nasm.xml
new file mode 100644
index 0000000..defe65b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nasm.xml
@@ -0,0 +1,126 @@
+
+
+ NASM
+ nasm
+ *.asm
+ *.ASM
+ *.nasm
+ text/x-nasm
+ true
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/natural.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/natural.xml
new file mode 100644
index 0000000..707252b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/natural.xml
@@ -0,0 +1,143 @@
+
+
+ Natural
+ natural
+ *.NSN
+ *.NSP
+ *.NSS
+ *.NSH
+ *.NSG
+ *.NSL
+ *.NSA
+ *.NSM
+ *.NSC
+ *.NS7
+ text/x-natural
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/newspeak.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/newspeak.xml
new file mode 100644
index 0000000..b932657
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/newspeak.xml
@@ -0,0 +1,121 @@
+
+
+ Newspeak
+ newspeak
+ *.ns2
+ text/x-newspeak
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nginx_configuration_file.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nginx_configuration_file.xml
new file mode 100644
index 0000000..46bdf57
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nginx_configuration_file.xml
@@ -0,0 +1,98 @@
+
+
+ Nginx configuration file
+ nginx
+ nginx.conf
+ text/x-nginx-conf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nim.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nim.xml
new file mode 100644
index 0000000..bfdd615
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nim.xml
@@ -0,0 +1,211 @@
+
+
+ Nim
+ nim
+ nimrod
+ *.nim
+ *.nimrod
+ text/x-nim
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml
new file mode 100644
index 0000000..0ed040c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml
@@ -0,0 +1,258 @@
+
+
+ Nix
+ nixos
+ nix
+ *.nix
+ text/x-nix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/objective-c.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/objective-c.xml
new file mode 100644
index 0000000..0dc9328
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/objective-c.xml
@@ -0,0 +1,510 @@
+
+
+ Objective-C
+ objective-c
+ objectivec
+ obj-c
+ objc
+ *.m
+ *.h
+ text/x-objective-c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ocaml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ocaml.xml
new file mode 100644
index 0000000..77f67ac
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ocaml.xml
@@ -0,0 +1,145 @@
+
+
+ OCaml
+ ocaml
+ *.ml
+ *.mli
+ *.mll
+ *.mly
+ text/x-ocaml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/octave.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/octave.xml
new file mode 100644
index 0000000..0515d28
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/octave.xml
@@ -0,0 +1,101 @@
+
+
+ Octave
+ octave
+ *.m
+ text/octave
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/odin.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/odin.xml
new file mode 100644
index 0000000..b984263
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/odin.xml
@@ -0,0 +1,113 @@
+
+
+ Odin
+ odin
+ *.odin
+ text/odin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/onesenterprise.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/onesenterprise.xml
new file mode 100644
index 0000000..530bad7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/onesenterprise.xml
@@ -0,0 +1,92 @@
+
+
+ OnesEnterprise
+ ones
+ onesenterprise
+ 1S
+ 1S:Enterprise
+ *.EPF
+ *.epf
+ *.ERF
+ *.erf
+ application/octet-stream
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openedge_abl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openedge_abl.xml
new file mode 100644
index 0000000..04a80f3
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openedge_abl.xml
@@ -0,0 +1,101 @@
+
+
+ OpenEdge ABL
+ openedge
+ abl
+ progress
+ openedgeabl
+ *.p
+ *.cls
+ *.w
+ *.i
+ text/x-openedge
+ application/x-openedge
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml
new file mode 100644
index 0000000..84d0fe1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml
@@ -0,0 +1,96 @@
+
+
+ OpenSCAD
+ openscad
+ *.scad
+ text/x-scad
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/org_mode.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/org_mode.xml
new file mode 100644
index 0000000..3f227ad
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/org_mode.xml
@@ -0,0 +1,329 @@
+
+
+ Org Mode
+ org
+ orgmode
+ *.org
+ text/org
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pacmanconf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pacmanconf.xml
new file mode 100644
index 0000000..caf7236
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pacmanconf.xml
@@ -0,0 +1,37 @@
+
+
+ PacmanConf
+ pacmanconf
+ pacman.conf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/perl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/perl.xml
new file mode 100644
index 0000000..8ac02ab
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/perl.xml
@@ -0,0 +1,400 @@
+
+
+ Perl
+ perl
+ pl
+ *.pl
+ *.pm
+ *.t
+ text/x-perl
+ application/x-perl
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/php.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/php.xml
new file mode 100644
index 0000000..c9e22ea
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/php.xml
@@ -0,0 +1,212 @@
+
+
+ PHP
+ php
+ php3
+ php4
+ php5
+ *.php
+ *.php[345]
+ *.inc
+ text/x-php
+ true
+ true
+ true
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pig.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pig.xml
new file mode 100644
index 0000000..5acd773
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pig.xml
@@ -0,0 +1,105 @@
+
+
+ Pig
+ pig
+ *.pig
+ text/x-pig
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pkgconfig.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pkgconfig.xml
new file mode 100644
index 0000000..875dcba
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pkgconfig.xml
@@ -0,0 +1,73 @@
+
+
+ PkgConfig
+ pkgconfig
+ *.pc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pl_pgsql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pl_pgsql.xml
new file mode 100644
index 0000000..e3e813a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pl_pgsql.xml
@@ -0,0 +1,119 @@
+
+
+ PL/pgSQL
+ plpgsql
+ text/x-plpgsql
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/plaintext.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/plaintext.xml
new file mode 100644
index 0000000..d5e3243
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/plaintext.xml
@@ -0,0 +1,21 @@
+
+
+ plaintext
+ text
+ plain
+ no-highlight
+ *.txt
+ text/plain
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/plutus_core.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/plutus_core.xml
new file mode 100644
index 0000000..4ff5a97
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/plutus_core.xml
@@ -0,0 +1,105 @@
+
+
+ Plutus Core
+ plutus-core
+ plc
+ *.plc
+ text/x-plutus-core
+ application/x-plutus-core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pony.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pony.xml
new file mode 100644
index 0000000..4efa9db
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/pony.xml
@@ -0,0 +1,135 @@
+
+
+ Pony
+ pony
+ *.pony
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/postgresql_sql_dialect.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/postgresql_sql_dialect.xml
new file mode 100644
index 0000000..e901c18
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/postgresql_sql_dialect.xml
@@ -0,0 +1,155 @@
+
+
+ PostgreSQL SQL dialect
+ postgresql
+ postgres
+ text/x-postgresql
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6
+ 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 12
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/postscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/postscript.xml
new file mode 100644
index 0000000..15a3422
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/postscript.xml
@@ -0,0 +1,89 @@
+
+
+ PostScript
+ postscript
+ postscr
+ *.ps
+ *.eps
+ application/postscript
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/povray.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/povray.xml
new file mode 100644
index 0000000..f37dab9
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/povray.xml
@@ -0,0 +1,58 @@
+
+
+ POVRay
+ pov
+ *.pov
+ *.inc
+ text/x-povray
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/powerquery.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/powerquery.xml
new file mode 100644
index 0000000..0ff1e35
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/powerquery.xml
@@ -0,0 +1,51 @@
+
+
+ PowerQuery
+ powerquery
+ pq
+ *.pq
+ text/x-powerquery
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/powershell.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/powershell.xml
new file mode 100644
index 0000000..b63a150
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/powershell.xml
@@ -0,0 +1,230 @@
+
+
+ PowerShell
+ powershell
+ posh
+ ps1
+ psm1
+ psd1
+ pwsh
+ *.ps1
+ *.psm1
+ *.psd1
+ text/x-powershell
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/prolog.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/prolog.xml
new file mode 100644
index 0000000..391bae3
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/prolog.xml
@@ -0,0 +1,115 @@
+
+
+ Prolog
+ prolog
+ *.ecl
+ *.prolog
+ *.pro
+ *.pl
+ text/x-prolog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promql.xml
new file mode 100644
index 0000000..e95e333
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promql.xml
@@ -0,0 +1,123 @@
+
+
+ PromQL
+ promql
+ *.promql
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/properties.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/properties.xml
new file mode 100644
index 0000000..d5ae0a2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/properties.xml
@@ -0,0 +1,45 @@
+
+
+ properties
+ java-properties
+ *.properties
+ text/x-java-properties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protocol_buffer.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protocol_buffer.xml
new file mode 100644
index 0000000..157d321
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protocol_buffer.xml
@@ -0,0 +1,118 @@
+
+
+ Protocol Buffer
+ protobuf
+ proto
+ *.proto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/prql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/prql.xml
new file mode 100644
index 0000000..21f21c6
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/prql.xml
@@ -0,0 +1,161 @@
+
+
+ PRQL
+ prql
+ *.prql
+ application/prql
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/psl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/psl.xml
new file mode 100644
index 0000000..ab375da
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/psl.xml
@@ -0,0 +1,213 @@
+
+
+ PSL
+ psl
+ *.psl
+ *.BATCH
+ *.TRIG
+ *.PROC
+ text/x-psl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/puppet.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/puppet.xml
new file mode 100644
index 0000000..fbb587c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/puppet.xml
@@ -0,0 +1,100 @@
+
+
+ Puppet
+ puppet
+ *.pp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml
new file mode 100644
index 0000000..3c6af86
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml
@@ -0,0 +1,589 @@
+
+
+ Python
+ python
+ py
+ sage
+ python3
+ py3
+ *.py
+ *.pyi
+ *.pyw
+ *.jy
+ *.sage
+ *.sc
+ SConstruct
+ SConscript
+ *.bzl
+ BUCK
+ BUILD
+ BUILD.bazel
+ WORKSPACE
+ *.tac
+ text/x-python
+ application/x-python
+ text/x-python3
+ application/x-python3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python_2.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python_2.xml
new file mode 100644
index 0000000..3297a22
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python_2.xml
@@ -0,0 +1,356 @@
+
+
+ Python 2
+ python2
+ py2
+ text/x-python2
+ application/x-python2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/qbasic.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/qbasic.xml
new file mode 100644
index 0000000..193fe18
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/qbasic.xml
@@ -0,0 +1,173 @@
+
+
+ QBasic
+ qbasic
+ basic
+ *.BAS
+ *.bas
+ text/basic
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/qml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/qml.xml
new file mode 100644
index 0000000..43eb3eb
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/qml.xml
@@ -0,0 +1,113 @@
+
+
+ QML
+ qml
+ qbs
+ *.qml
+ *.qbs
+ application/x-qml
+ application/x-qt.qbs+qml
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml
new file mode 100644
index 0000000..c1fba4e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml
@@ -0,0 +1,128 @@
+
+
+ R
+ splus
+ s
+ r
+ *.S
+ *.R
+ *.r
+ .Rhistory
+ .Rprofile
+ .Renviron
+ text/S-plus
+ text/S
+ text/x-r-source
+ text/x-r
+ text/x-R
+ text/x-r-history
+ text/x-r-profile
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/racket.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/racket.xml
new file mode 100644
index 0000000..6cdd303
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/racket.xml
@@ -0,0 +1,260 @@
+
+
+ Racket
+ racket
+ rkt
+ *.rkt
+ *.rktd
+ *.rktl
+ text/x-racket
+ application/x-racket
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ragel.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ragel.xml
new file mode 100644
index 0000000..69638d2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ragel.xml
@@ -0,0 +1,149 @@
+
+
+ Ragel
+ ragel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/react.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/react.xml
new file mode 100644
index 0000000..a4109b0
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/react.xml
@@ -0,0 +1,236 @@
+
+
+ react
+ jsx
+ react
+ *.jsx
+ *.react
+ text/jsx
+ text/typescript-jsx
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/reasonml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/reasonml.xml
new file mode 100644
index 0000000..8b7bcc5
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/reasonml.xml
@@ -0,0 +1,147 @@
+
+
+ ReasonML
+ reason
+ reasonml
+ *.re
+ *.rei
+ text/x-reasonml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/reg.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/reg.xml
new file mode 100644
index 0000000..501d380
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/reg.xml
@@ -0,0 +1,68 @@
+
+
+ reg
+ registry
+ *.reg
+ text/x-windows-registry
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rexx.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rexx.xml
new file mode 100644
index 0000000..e682500
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rexx.xml
@@ -0,0 +1,127 @@
+
+
+ Rexx
+ rexx
+ arexx
+ *.rexx
+ *.rex
+ *.rx
+ *.arexx
+ text/x-rexx
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml
new file mode 100644
index 0000000..b47b1ab
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml
@@ -0,0 +1,723 @@
+
+
+ Ruby
+ rb
+ ruby
+ duby
+ *.rb
+ *.rbw
+ Rakefile
+ *.rake
+ *.gemspec
+ *.rbx
+ *.duby
+ Gemfile
+ text/x-ruby
+ application/x-ruby
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml
new file mode 100644
index 0000000..083b96f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml
@@ -0,0 +1,375 @@
+
+
+ Rust
+ rust
+ rs
+ *.rs
+ *.rs.in
+ text/rust
+ text/x-rust
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sas.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sas.xml
new file mode 100644
index 0000000..af1107b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sas.xml
@@ -0,0 +1,191 @@
+
+
+ SAS
+ sas
+ *.SAS
+ *.sas
+ text/x-sas
+ text/sas
+ application/x-sas
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sass.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sass.xml
new file mode 100644
index 0000000..f801594
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sass.xml
@@ -0,0 +1,362 @@
+
+
+ Sass
+ sass
+ *.sass
+ text/x-sass
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scala.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scala.xml
new file mode 100644
index 0000000..2f8ddd4
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scala.xml
@@ -0,0 +1,274 @@
+
+
+ Scala
+ scala
+ *.scala
+ text/x-scala
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scheme.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scheme.xml
new file mode 100644
index 0000000..0198bd7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scheme.xml
@@ -0,0 +1,106 @@
+
+
+ Scheme
+ scheme
+ scm
+ *.scm
+ *.ss
+ text/x-scheme
+ application/x-scheme
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scilab.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scilab.xml
new file mode 100644
index 0000000..9e10949
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scilab.xml
@@ -0,0 +1,98 @@
+
+
+ Scilab
+ scilab
+ *.sci
+ *.sce
+ *.tst
+ text/scilab
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scss.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scss.xml
new file mode 100644
index 0000000..ee060fc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/scss.xml
@@ -0,0 +1,373 @@
+
+
+ SCSS
+ scss
+ *.scss
+ text/x-scss
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sed.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sed.xml
new file mode 100644
index 0000000..2209aa7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sed.xml
@@ -0,0 +1,28 @@
+
+
+ Sed
+ sed
+ gsed
+ ssed
+ *.sed
+ *.[gs]sed
+ text/x-sed
+
+
+
+
+
+
+
+
+
+
+
+
+
+ None
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sieve.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sieve.xml
new file mode 100644
index 0000000..fc60563
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sieve.xml
@@ -0,0 +1,61 @@
+
+
+ Sieve
+ sieve
+ *.siv
+ *.sieve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smali.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smali.xml
new file mode 100644
index 0000000..e468766
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smali.xml
@@ -0,0 +1,73 @@
+
+
+
+ Smali
+ smali
+ *.smali
+ text/smali
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smalltalk.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smalltalk.xml
new file mode 100644
index 0000000..0027111
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smalltalk.xml
@@ -0,0 +1,294 @@
+
+
+ Smalltalk
+ smalltalk
+ squeak
+ st
+ *.st
+ text/x-smalltalk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smarty.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smarty.xml
new file mode 100644
index 0000000..dd7752c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smarty.xml
@@ -0,0 +1,79 @@
+
+
+ Smarty
+ smarty
+ *.tpl
+ application/x-smarty
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml
new file mode 100644
index 0000000..f53dbcb
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snobol.xml
@@ -0,0 +1,95 @@
+
+
+ Snobol
+ snobol
+ *.snobol
+ text/x-snobol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/solidity.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/solidity.xml
new file mode 100644
index 0000000..04403c8
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/solidity.xml
@@ -0,0 +1,279 @@
+
+
+ Solidity
+ sol
+ solidity
+ *.sol
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sourcepawn.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sourcepawn.xml
new file mode 100644
index 0000000..caca401
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sourcepawn.xml
@@ -0,0 +1,59 @@
+
+
+ SourcePawn
+ sp
+ *.sp
+ *.inc
+ text/x-sourcepawn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sparql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sparql.xml
new file mode 100644
index 0000000..7dc65af
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sparql.xml
@@ -0,0 +1,160 @@
+
+
+ SPARQL
+ sparql
+ *.rq
+ *.sparql
+ application/sparql-query
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sql.xml
new file mode 100644
index 0000000..b542b65
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/sql.xml
@@ -0,0 +1,90 @@
+
+
+ SQL
+ sql
+ *.sql
+ text/x-sql
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/squidconf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/squidconf.xml
new file mode 100644
index 0000000..cbd8dbc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/squidconf.xml
@@ -0,0 +1,63 @@
+
+
+ SquidConf
+ squidconf
+ squid.conf
+ squid
+ squid.conf
+ text/x-squidconf
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/standard_ml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/standard_ml.xml
new file mode 100644
index 0000000..39cf4f2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/standard_ml.xml
@@ -0,0 +1,548 @@
+
+
+ Standard ML
+ sml
+ *.sml
+ *.sig
+ *.fun
+ text/x-standardml
+ application/x-standardml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/stas.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/stas.xml
new file mode 100644
index 0000000..56b4f92
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/stas.xml
@@ -0,0 +1,85 @@
+
+
+ stas
+ *.stas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/stylus.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/stylus.xml
new file mode 100644
index 0000000..c2d8807
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/stylus.xml
@@ -0,0 +1,132 @@
+
+
+ Stylus
+ stylus
+ *.styl
+ text/x-styl
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/swift.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/swift.xml
new file mode 100644
index 0000000..416bf90
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/swift.xml
@@ -0,0 +1,207 @@
+
+
+ Swift
+ swift
+ *.swift
+ text/x-swift
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/systemd.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/systemd.xml
new file mode 100644
index 0000000..e31bfc2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/systemd.xml
@@ -0,0 +1,63 @@
+
+
+ SYSTEMD
+ systemd
+ *.automount
+ *.device
+ *.dnssd
+ *.link
+ *.mount
+ *.netdev
+ *.network
+ *.path
+ *.scope
+ *.service
+ *.slice
+ *.socket
+ *.swap
+ *.target
+ *.timer
+ text/plain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/systemverilog.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/systemverilog.xml
new file mode 100644
index 0000000..fac3da2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/systemverilog.xml
@@ -0,0 +1,181 @@
+
+
+ systemverilog
+ systemverilog
+ sv
+ *.sv
+ *.svh
+ text/x-systemverilog
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tablegen.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tablegen.xml
new file mode 100644
index 0000000..a020ce8
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tablegen.xml
@@ -0,0 +1,69 @@
+
+
+ TableGen
+ tablegen
+ *.td
+ text/x-tablegen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tal.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tal.xml
new file mode 100644
index 0000000..a071d4c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tal.xml
@@ -0,0 +1,43 @@
+
+
+
+ Tal
+ tal
+ uxntal
+ *.tal
+ text/x-uxntal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tasm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tasm.xml
new file mode 100644
index 0000000..1347f53
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tasm.xml
@@ -0,0 +1,135 @@
+
+
+ TASM
+ tasm
+ *.asm
+ *.ASM
+ *.tasm
+ text/x-tasm
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcl.xml
new file mode 100644
index 0000000..7ed69bc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcl.xml
@@ -0,0 +1,272 @@
+
+
+ Tcl
+ tcl
+ *.tcl
+ *.rvt
+ text/x-tcl
+ text/x-script.tcl
+ application/x-tcl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcsh.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcsh.xml
new file mode 100644
index 0000000..9895643
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcsh.xml
@@ -0,0 +1,121 @@
+
+
+ Tcsh
+ tcsh
+ csh
+ *.tcsh
+ *.csh
+ application/x-csh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/termcap.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/termcap.xml
new file mode 100644
index 0000000..e863bbd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/termcap.xml
@@ -0,0 +1,75 @@
+
+
+ Termcap
+ termcap
+ termcap
+ termcap.src
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terminfo.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terminfo.xml
new file mode 100644
index 0000000..9e8f56e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terminfo.xml
@@ -0,0 +1,84 @@
+
+
+ Terminfo
+ terminfo
+ terminfo
+ terminfo.src
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml
new file mode 100644
index 0000000..452f211
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml
@@ -0,0 +1,140 @@
+
+
+ Terraform
+ terraform
+ tf
+ *.tf
+ application/x-tf
+ application/x-terraform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tex.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tex.xml
new file mode 100644
index 0000000..809bb9a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tex.xml
@@ -0,0 +1,113 @@
+
+
+ TeX
+ tex
+ latex
+ *.tex
+ *.aux
+ *.toc
+ text/x-tex
+ text/x-latex
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/thrift.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/thrift.xml
new file mode 100644
index 0000000..f14257d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/thrift.xml
@@ -0,0 +1,154 @@
+
+
+ Thrift
+ thrift
+ *.thrift
+ application/x-thrift
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/toml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/toml.xml
new file mode 100644
index 0000000..9c98ba5
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/toml.xml
@@ -0,0 +1,44 @@
+
+
+ TOML
+ toml
+ *.toml
+ Pipfile
+ poetry.lock
+ text/x-toml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tradingview.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tradingview.xml
new file mode 100644
index 0000000..3671f61
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tradingview.xml
@@ -0,0 +1,81 @@
+
+
+ TradingView
+ tradingview
+ tv
+ *.tv
+ text/x-tradingview
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/transact-sql.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/transact-sql.xml
new file mode 100644
index 0000000..b0490aa
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/transact-sql.xml
@@ -0,0 +1,137 @@
+
+
+ Transact-SQL
+ tsql
+ t-sql
+ text/x-tsql
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/turing.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/turing.xml
new file mode 100644
index 0000000..4eab69b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/turing.xml
@@ -0,0 +1,82 @@
+
+
+ Turing
+ turing
+ *.turing
+ *.tu
+ text/x-turing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/turtle.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/turtle.xml
new file mode 100644
index 0000000..7c572f9
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/turtle.xml
@@ -0,0 +1,170 @@
+
+
+ Turtle
+ turtle
+ *.ttl
+ text/turtle
+ application/x-turtle
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/twig.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/twig.xml
new file mode 100644
index 0000000..de95c5f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/twig.xml
@@ -0,0 +1,155 @@
+
+
+ Twig
+ twig
+ *.twig
+ application/x-twig
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml
new file mode 100644
index 0000000..d49241e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml
@@ -0,0 +1,263 @@
+
+
+ TypeScript
+ ts
+ tsx
+ typescript
+ *.ts
+ *.tsx
+ *.mts
+ *.cts
+ text/x-typescript
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscript.xml
new file mode 100644
index 0000000..bc416d4
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscript.xml
@@ -0,0 +1,178 @@
+
+
+ TypoScript
+ typoscript
+ *.ts
+ text/x-typoscript
+ true
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscriptcssdata.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscriptcssdata.xml
new file mode 100644
index 0000000..62c42c1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscriptcssdata.xml
@@ -0,0 +1,52 @@
+
+
+ TypoScriptCssData
+ typoscriptcssdata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscripthtmldata.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscripthtmldata.xml
new file mode 100644
index 0000000..1b0af3a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typoscripthtmldata.xml
@@ -0,0 +1,52 @@
+
+
+ TypoScriptHtmlData
+ typoscripthtmldata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ucode.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ucode.xml
new file mode 100644
index 0000000..054fa89
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ucode.xml
@@ -0,0 +1,147 @@
+
+
+ ucode
+ *.uc
+ application/x.ucode
+ text/x.ucode
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/v.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/v.xml
new file mode 100644
index 0000000..e1af3d1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/v.xml
@@ -0,0 +1,355 @@
+
+
+ V
+ v
+ vlang
+ *.v
+ *.vv
+ v.mod
+ text/x-v
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/v_shell.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/v_shell.xml
new file mode 100644
index 0000000..34ce610
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/v_shell.xml
@@ -0,0 +1,365 @@
+
+
+ V shell
+ vsh
+ vshell
+ *.vsh
+ text/x-vsh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vala.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vala.xml
new file mode 100644
index 0000000..17c1acf
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vala.xml
@@ -0,0 +1,72 @@
+
+
+
+ Vala
+ vala
+ vapi
+ *.vala
+ *.vapi
+ text/x-vala
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vb_net.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vb_net.xml
new file mode 100644
index 0000000..9f85afd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vb_net.xml
@@ -0,0 +1,162 @@
+
+
+ VB.net
+ vb.net
+ vbnet
+ *.vb
+ *.bas
+ text/x-vbnet
+ text/x-vba
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/verilog.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/verilog.xml
new file mode 100644
index 0000000..cd4b9ff
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/verilog.xml
@@ -0,0 +1,158 @@
+
+
+ verilog
+ verilog
+ v
+ *.v
+ text/x-verilog
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhdl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhdl.xml
new file mode 100644
index 0000000..aa42044
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhdl.xml
@@ -0,0 +1,171 @@
+
+
+ VHDL
+ vhdl
+ *.vhdl
+ *.vhd
+ text/x-vhdl
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhs.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhs.xml
new file mode 100644
index 0000000..ee84d12
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhs.xml
@@ -0,0 +1,48 @@
+
+
+ VHS
+ vhs
+ tape
+ cassette
+ *.tape
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/viml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/viml.xml
new file mode 100644
index 0000000..43e6bfa
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/viml.xml
@@ -0,0 +1,85 @@
+
+
+ VimL
+ vim
+ *.vim
+ .vimrc
+ .exrc
+ .gvimrc
+ _vimrc
+ _exrc
+ _gvimrc
+ vimrc
+ gvimrc
+ text/x-vim
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml
new file mode 100644
index 0000000..7518020
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml
@@ -0,0 +1,305 @@
+
+
+ vue
+ vue
+ vuejs
+ *.vue
+ text/x-vue
+ application/x-vue
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wdte.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wdte.xml
new file mode 100644
index 0000000..c663ee2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wdte.xml
@@ -0,0 +1,43 @@
+
+
+ WDTE
+ *.wdte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/webgpu_shading_language.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/webgpu_shading_language.xml
new file mode 100644
index 0000000..ea2b6e1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/webgpu_shading_language.xml
@@ -0,0 +1,142 @@
+
+
+ WebGPU Shading Language
+ wgsl
+ *.wgsl
+ text/wgsl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/whiley.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/whiley.xml
new file mode 100644
index 0000000..1762c96
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/whiley.xml
@@ -0,0 +1,57 @@
+
+
+ Whiley
+ whiley
+ *.whiley
+ text/x-whiley
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/xml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/xml.xml
new file mode 100644
index 0000000..2c6a4d9
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/xml.xml
@@ -0,0 +1,95 @@
+
+
+ XML
+ xml
+ *.xml
+ *.xsl
+ *.rss
+ *.xslt
+ *.xsd
+ *.wsdl
+ *.wsf
+ *.svg
+ *.csproj
+ *.vcxproj
+ *.fsproj
+ text/xml
+ application/xml
+ image/svg+xml
+ application/rss+xml
+ application/atom+xml
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/xorg.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/xorg.xml
new file mode 100644
index 0000000..53bf432
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/xorg.xml
@@ -0,0 +1,35 @@
+
+
+ Xorg
+ xorg.conf
+ xorg.conf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml
new file mode 100644
index 0000000..97a0b6e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml
@@ -0,0 +1,122 @@
+
+
+ YAML
+ yaml
+ *.yaml
+ *.yml
+ text/x-yaml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yang.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yang.xml
new file mode 100644
index 0000000..f3da7ce
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yang.xml
@@ -0,0 +1,99 @@
+
+
+ YANG
+ yang
+ *.yang
+ application/yang
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/z80_assembly.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/z80_assembly.xml
new file mode 100644
index 0000000..5bb77a9
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/z80_assembly.xml
@@ -0,0 +1,74 @@
+
+
+ Z80 Assembly
+ z80
+ *.z80
+ *.asm
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/zed.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/zed.xml
new file mode 100644
index 0000000..929f495
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/zed.xml
@@ -0,0 +1,51 @@
+
+
+ Zed
+ zed
+ *.zed
+ text/zed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/zig.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/zig.xml
new file mode 100644
index 0000000..fb51cc1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/zig.xml
@@ -0,0 +1,112 @@
+
+
+ Zig
+ zig
+ *.zig
+ text/zig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/lexers/g/genshi.go b/vendor/github.com/alecthomas/chroma/v2/lexers/genshi.go
similarity index 75%
rename from vendor/github.com/alecthomas/chroma/lexers/g/genshi.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/genshi.go
index dc4d4b1..7f396f4 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/g/genshi.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/genshi.go
@@ -1,13 +1,11 @@
-package g
+package lexers
import (
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/internal"
- . "github.com/alecthomas/chroma/lexers/p"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
// Genshi Text lexer.
-var GenshiText = internal.Register(MustNewLazyLexer(
+var GenshiText = Register(MustNewLexer(
&Config{
Name: "Genshi Text",
Aliases: []string{"genshitext"},
@@ -28,20 +26,20 @@ func genshiTextRules() Rules {
},
"directive": {
{`\n`, Text, Pop(1)},
- {`(?:def|for|if)\s+.*`, Using(Python), Pop(1)},
- {`(choose|when|with)([^\S\n]+)(.*)`, ByGroups(Keyword, Text, Using(Python)), Pop(1)},
+ {`(?:def|for|if)\s+.*`, Using("Python"), Pop(1)},
+ {`(choose|when|with)([^\S\n]+)(.*)`, ByGroups(Keyword, Text, Using("Python")), Pop(1)},
{`(choose|otherwise)\b`, Keyword, Pop(1)},
{`(end\w*)([^\S\n]*)(.*)`, ByGroups(Keyword, Text, Comment), Pop(1)},
},
"variable": {
- {`(?)`, ByGroups(CommentPreproc, Using(Python), CommentPreproc), nil},
+ {`(<\?python)(.*?)(\?>)`, ByGroups(CommentPreproc, Using("Python"), CommentPreproc), nil},
{`<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>`, Other, nil},
{`<\s*py:[a-zA-Z0-9]+`, NameTag, Push("pytag")},
{`<\s*[a-zA-Z0-9:.]+`, NameTag, Push("tag")},
@@ -83,8 +81,8 @@ func genshiMarkupRules() Rules {
{`/?\s*>`, NameTag, Pop(1)},
},
"pyattr": {
- {`(")(.*?)(")`, ByGroups(LiteralString, Using(Python), LiteralString), Pop(1)},
- {`(')(.*?)(')`, ByGroups(LiteralString, Using(Python), LiteralString), Pop(1)},
+ {`(")(.*?)(")`, ByGroups(LiteralString, Using("Python"), LiteralString), Pop(1)},
+ {`(')(.*?)(')`, ByGroups(LiteralString, Using("Python"), LiteralString), Pop(1)},
{`[^\s>]+`, LiteralString, Pop(1)},
},
"tag": {
@@ -113,7 +111,7 @@ func genshiMarkupRules() Rules {
Include("variable"),
},
"variable": {
- {`(?>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\||<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])`, Operator, nil},
{`([a-zA-Z_]\w*)(\s*)(\()`, ByGroups(NameFunction, UsingSelf("root"), Punctuation), nil},
@@ -63,61 +61,22 @@ func goRules() Rules {
}
}
-func goTemplateRules() Rules {
- return Rules{
- "root": {
- {`{{(- )?/\*(.|\n)*?\*/( -)?}}`, CommentMultiline, nil},
- {`{{[-]?`, CommentPreproc, Push("template")},
- {`[^{]+`, Other, nil},
- {`{`, Other, nil},
- },
- "template": {
- {`[-]?}}`, CommentPreproc, Pop(1)},
- {`(?=}})`, CommentPreproc, Pop(1)}, // Terminate the pipeline
- {`\(`, Operator, Push("subexpression")},
- {`"(\\\\|\\"|[^"])*"`, LiteralString, nil},
- Include("expression"),
- },
- "subexpression": {
- {`\)`, Operator, Pop(1)},
- Include("expression"),
- },
- "expression": {
- {`\s+`, Whitespace, nil},
- {`\(`, Operator, Push("subexpression")},
- {`(range|if|else|while|with|template|end|true|false|nil|and|call|html|index|js|len|not|or|print|printf|println|urlquery|eq|ne|lt|le|gt|ge)\b`, Keyword, nil},
- {`\||:?=|,`, Operator, nil},
- {`[$]?[^\W\d]\w*`, NameOther, nil},
- {`\$|[$]?\.(?:[^\W\d]\w*)?`, NameAttribute, nil},
- {`"(\\\\|\\"|[^"])*"`, LiteralString, nil},
- {`-?\d+i`, LiteralNumber, nil},
- {`-?\d+\.\d*([Ee][-+]\d+)?i`, LiteralNumber, nil},
- {`\.\d+([Ee][-+]\d+)?i`, LiteralNumber, nil},
- {`-?\d+[Ee][-+]\d+i`, LiteralNumber, nil},
- {`-?\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)`, LiteralNumberFloat, nil},
- {`-?\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil},
- {`-?0[0-7]+`, LiteralNumberOct, nil},
- {`-?0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil},
- {`-?0b[01_]+`, LiteralNumberBin, nil},
- {`-?(0|[1-9][0-9]*)`, LiteralNumberInteger, nil},
- {`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil},
- {"`[^`]*`", LiteralString, nil},
- },
- }
-}
-
-var GoHTMLTemplate = internal.Register(DelegatingLexer(h.HTML, MustNewLazyLexer(
+var GoHTMLTemplate = Register(DelegatingLexer(HTML, MustNewXMLLexer(
+ embedded,
+ "embedded/go_template.xml",
+).SetConfig(
&Config{
Name: "Go HTML Template",
Aliases: []string{"go-html-template"},
},
- goTemplateRules,
)))
-var GoTextTemplate = internal.Register(MustNewLazyLexer(
+var GoTextTemplate = Register(MustNewXMLLexer(
+ embedded,
+ "embedded/go_template.xml",
+).SetConfig(
&Config{
Name: "Go Text Template",
Aliases: []string{"go-text-template"},
},
- goTemplateRules,
))
diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/haxe.go b/vendor/github.com/alecthomas/chroma/v2/lexers/haxe.go
similarity index 99%
rename from vendor/github.com/alecthomas/chroma/lexers/h/haxe.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/haxe.go
index cc8c693..9a72de8 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/h/haxe.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/haxe.go
@@ -1,12 +1,11 @@
-package h
+package lexers
import (
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
// Haxe lexer.
-var Haxe = internal.Register(MustNewLazyLexer(
+var Haxe = Register(MustNewLexer(
&Config{
Name: "Haxe",
Aliases: []string{"hx", "haxe", "hxsl"},
@@ -631,7 +630,9 @@ func haxePreProcMutator(state *LexerState) error {
state.Stack = stack[len(stack)-1]
}
case "end":
- stack = stack[:len(stack)-1]
+ if len(stack) > 0 {
+ stack = stack[:len(stack)-1]
+ }
}
if proc == "if" || proc == "elseif" {
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/html.go b/vendor/github.com/alecthomas/chroma/v2/lexers/html.go
new file mode 100644
index 0000000..c858042
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/html.go
@@ -0,0 +1,8 @@
+package lexers
+
+import (
+ "github.com/alecthomas/chroma/v2"
+)
+
+// HTML lexer.
+var HTML = chroma.MustNewXMLLexer(embedded, "embedded/html.xml")
diff --git a/vendor/github.com/alecthomas/chroma/lexers/h/http.go b/vendor/github.com/alecthomas/chroma/v2/lexers/http.go
similarity index 81%
rename from vendor/github.com/alecthomas/chroma/lexers/h/http.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/http.go
index c515ed4..b57cb1b 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/h/http.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/http.go
@@ -1,14 +1,13 @@
-package h
+package lexers
import (
"strings"
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
// HTTP lexer.
-var HTTP = internal.Register(httpBodyContentTypeLexer(MustNewLazyLexer(
+var HTTP = Register(httpBodyContentTypeLexer(MustNewLexer(
&Config{
Name: "HTTP",
Aliases: []string{"http"},
@@ -23,8 +22,8 @@ var HTTP = internal.Register(httpBodyContentTypeLexer(MustNewLazyLexer(
func httpRules() Rules {
return Rules{
"root": {
- {`(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH|CONNECT)( +)([^ ]+)( +)(HTTP)(/)([12]\.[01])(\r?\n|\Z)`, ByGroups(NameFunction, Text, NameNamespace, Text, KeywordReserved, Operator, LiteralNumber, Text), Push("headers")},
- {`(HTTP)(/)([12]\.[01])( +)(\d{3})( +)([^\r\n]+)(\r?\n|\Z)`, ByGroups(KeywordReserved, Operator, LiteralNumber, Text, LiteralNumber, Text, NameException, Text), Push("headers")},
+ {`(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH|CONNECT)( +)([^ ]+)( +)(HTTP)(/)([123](?:\.[01])?)(\r?\n|\Z)`, ByGroups(NameFunction, Text, NameNamespace, Text, KeywordReserved, Operator, LiteralNumber, Text), Push("headers")},
+ {`(HTTP)(/)([123](?:\.[01])?)( +)(\d{3})( *)([^\r\n]*)(\r?\n|\Z)`, ByGroups(KeywordReserved, Operator, LiteralNumber, Text, LiteralNumber, Text, NameException, Text), Push("headers")},
},
"headers": {
{`([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|\Z)`, EmitterFunc(httpHeaderBlock), nil},
@@ -105,7 +104,7 @@ func (d *httpBodyContentTyper) Tokenise(options *TokeniseOptions, text string) (
}
case token.Type == Generic && contentType != "":
{
- lexer := internal.MatchMimeType(contentType)
+ lexer := MatchMimeType(contentType)
// application/calendar+xml can be treated as application/xml
// if there's not a better match.
@@ -113,7 +112,7 @@ func (d *httpBodyContentTyper) Tokenise(options *TokeniseOptions, text string) (
slashPos := strings.Index(contentType, "/")
plusPos := strings.LastIndex(contentType, "+")
contentType = contentType[:slashPos+1] + contentType[plusPos+1:]
- lexer = internal.MatchMimeType(contentType)
+ lexer = MatchMimeType(contentType)
}
if lexer == nil {
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go b/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go
new file mode 100644
index 0000000..4fa35ad
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go
@@ -0,0 +1,79 @@
+package lexers
+
+import (
+ "embed"
+ "io/fs"
+
+ "github.com/alecthomas/chroma/v2"
+)
+
+//go:embed embedded
+var embedded embed.FS
+
+// GlobalLexerRegistry is the global LexerRegistry of Lexers.
+var GlobalLexerRegistry = func() *chroma.LexerRegistry {
+ reg := chroma.NewLexerRegistry()
+ // index(reg)
+ paths, err := fs.Glob(embedded, "embedded/*.xml")
+ if err != nil {
+ panic(err)
+ }
+ for _, path := range paths {
+ reg.Register(chroma.MustNewXMLLexer(embedded, path))
+ }
+ return reg
+}()
+
+// Names of all lexers, optionally including aliases.
+func Names(withAliases bool) []string {
+ return GlobalLexerRegistry.Names(withAliases)
+}
+
+// Get a Lexer by name, alias or file extension.
+//
+// Note that this if there isn't an exact match on name or alias, this will
+// call Match(), so it is not efficient.
+func Get(name string) chroma.Lexer {
+ return GlobalLexerRegistry.Get(name)
+}
+
+// MatchMimeType attempts to find a lexer for the given MIME type.
+func MatchMimeType(mimeType string) chroma.Lexer {
+ return GlobalLexerRegistry.MatchMimeType(mimeType)
+}
+
+// Match returns the first lexer matching filename.
+//
+// Note that this iterates over all file patterns in all lexers, so it's not
+// particularly efficient.
+func Match(filename string) chroma.Lexer {
+ return GlobalLexerRegistry.Match(filename)
+}
+
+// Register a Lexer with the global registry.
+func Register(lexer chroma.Lexer) chroma.Lexer {
+ return GlobalLexerRegistry.Register(lexer)
+}
+
+// Analyse text content and return the "best" lexer..
+func Analyse(text string) chroma.Lexer {
+ return GlobalLexerRegistry.Analyse(text)
+}
+
+// PlaintextRules is used for the fallback lexer as well as the explicit
+// plaintext lexer.
+func PlaintextRules() chroma.Rules {
+ return chroma.Rules{
+ "root": []chroma.Rule{
+ {`.+`, chroma.Text, nil},
+ {`\n`, chroma.Text, nil},
+ },
+ }
+}
+
+// Fallback lexer if no other is found.
+var Fallback chroma.Lexer = chroma.MustNewLexer(&chroma.Config{
+ Name: "fallback",
+ Filenames: []string{"*"},
+ Priority: -1,
+}, PlaintextRules)
diff --git a/vendor/github.com/alecthomas/chroma/lexers/m/markdown.go b/vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go
similarity index 82%
rename from vendor/github.com/alecthomas/chroma/lexers/m/markdown.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go
index e50e470..1fb9f5b 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/m/markdown.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go
@@ -1,13 +1,11 @@
-package m
+package lexers
import (
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/h"
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
// Markdown lexer.
-var Markdown = internal.Register(DelegatingLexer(h.HTML, MustNewLazyLexer(
+var Markdown = Register(DelegatingLexer(HTML, MustNewLexer(
&Config{
Name: "markdown",
Aliases: []string{"md", "mkd"},
@@ -29,11 +27,7 @@ func markdownRules() Rules {
{"^(```\\n)([\\w\\W]*?)(^```$)", ByGroups(String, Text, String), nil},
{
"^(```)(\\w+)(\\n)([\\w\\W]*?)(^```$)",
- UsingByGroup(
- internal.Get,
- 2, 4,
- String, String, String, Text, String,
- ),
+ UsingByGroup(2, 4, String, String, String, Text, String),
nil,
},
Include("inline"),
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/mysql.go b/vendor/github.com/alecthomas/chroma/v2/lexers/mysql.go
new file mode 100644
index 0000000..32e94c2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/mysql.go
@@ -0,0 +1,33 @@
+package lexers
+
+import (
+ "regexp"
+)
+
+var (
+ mysqlAnalyserNameBetweenBacktickRe = regexp.MustCompile("`[a-zA-Z_]\\w*`")
+ mysqlAnalyserNameBetweenBracketRe = regexp.MustCompile(`\[[a-zA-Z_]\w*\]`)
+)
+
+func init() { // nolint: gochecknoinits
+ Get("mysql").
+ SetAnalyser(func(text string) float32 {
+ nameBetweenBacktickCount := len(mysqlAnalyserNameBetweenBacktickRe.FindAllString(text, -1))
+ nameBetweenBracketCount := len(mysqlAnalyserNameBetweenBracketRe.FindAllString(text, -1))
+
+ var result float32
+
+ // Same logic as above in the TSQL analysis.
+ dialectNameCount := nameBetweenBacktickCount + nameBetweenBracketCount
+ if dialectNameCount >= 1 && nameBetweenBacktickCount >= (2*nameBetweenBracketCount) {
+ // Found at least twice as many `name` as [name].
+ result += 0.5
+ } else if nameBetweenBacktickCount > nameBetweenBracketCount {
+ result += 0.2
+ } else if nameBetweenBacktickCount > 0 {
+ result += 0.1
+ }
+
+ return result
+ })
+}
diff --git a/vendor/github.com/alecthomas/chroma/lexers/circular/phtml.go b/vendor/github.com/alecthomas/chroma/v2/lexers/php.go
similarity index 55%
rename from vendor/github.com/alecthomas/chroma/lexers/circular/phtml.go
rename to vendor/github.com/alecthomas/chroma/v2/lexers/php.go
index fc2e2ea..ff82f6e 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/circular/phtml.go
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/php.go
@@ -1,15 +1,13 @@
-package circular
+package lexers
import (
"strings"
- . "github.com/alecthomas/chroma" // nolint
- "github.com/alecthomas/chroma/lexers/h"
- "github.com/alecthomas/chroma/lexers/internal"
+ . "github.com/alecthomas/chroma/v2" // nolint
)
-// PHTML lexer is PHP in HTML.
-var PHTML = internal.Register(DelegatingLexer(h.HTML, MustNewLazyLexer(
+// phtml lexer is PHP in HTML.
+var _ = Register(DelegatingLexer(HTML, MustNewLexer(
&Config{
Name: "PHTML",
Aliases: []string{"phtml"},
@@ -20,20 +18,20 @@ var PHTML = internal.Register(DelegatingLexer(h.HTML, MustNewLazyLexer(
EnsureNL: true,
Priority: 2,
},
- phtmlRules,
+ func() Rules {
+ return Get("PHP").(*RegexLexer).MustRules().
+ Rename("root", "php").
+ Merge(Rules{
+ "root": {
+ {`<\?(php)?`, CommentPreproc, Push("php")},
+ {`[^<]+`, Other, nil},
+ {`<`, Other, nil},
+ },
+ })
+ },
).SetAnalyser(func(text string) float32 {
if strings.Contains(text, ")` +
`(.+?)` +
`(<\s*/\s*(?:script|style)\s*>)`,
- UsingByGroup(internal.Get, 2, 4, Other, Other, Other, Other, Other),
+ UsingByGroup(2, 4, Other, Other, Other, Other, Other),
nil,
},
{
@@ -53,21 +50,21 @@ func svelteRules() Rules {
"templates": {
{`}`, Punctuation, Pop(1)},
// Let TypeScript handle strings and the curly braces inside them
- {`(?]*>`, Using(TypoScriptHTMLData), nil},
+ {`<\S[^\n>]*>`, Using("TypoScriptHTMLData"), nil},
{`&[^;\n]*;`, LiteralString, nil},
- {`(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))`, ByGroups(NameClass, Text, LiteralStringSymbol, Using(TypoScriptCSSData)), nil},
+ {`(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))`, ByGroups(NameClass, Text, LiteralStringSymbol, Using("TypoScriptCSSData")), nil},
},
"literal": {
{`0x[0-9A-Fa-f]+t?`, LiteralNumberHex, nil},
@@ -84,55 +83,3 @@ func typoscriptRules() Rules {
},
}
}
-
-// TypoScriptCSSData lexer.
-var TypoScriptCSSData = internal.Register(MustNewLazyLexer(
- &Config{
- Name: "TypoScriptCssData",
- Aliases: []string{"typoscriptcssdata"},
- Filenames: []string{},
- MimeTypes: []string{},
- },
- typoScriptCSSDataRules,
-))
-
-func typoScriptCSSDataRules() Rules {
- return Rules{
- "root": {
- {`(.*)(###\w+###)(.*)`, ByGroups(LiteralString, NameConstant, LiteralString), nil},
- {`(\{)(\$)((?:[\w\-]+\.)*)([\w\-]+)(\})`, ByGroups(LiteralStringSymbol, Operator, NameConstant, NameConstant, LiteralStringSymbol), nil},
- {`(.*)(\{)([\w\-]+)(\s*:\s*)([\w\-]+)(\})(.*)`, ByGroups(LiteralString, LiteralStringSymbol, NameConstant, Operator, NameConstant, LiteralStringSymbol, LiteralString), nil},
- {`\s+`, Text, nil},
- {`/\*(?:(?!\*/).)*\*/`, Comment, nil},
- {`(?,:=.*%+|]`, LiteralString, nil},
- {`[\w"\-!/&;(){}]+`, LiteralString, nil},
- },
- }
-}
-
-// TypoScriptHTMLData lexer.
-var TypoScriptHTMLData = internal.Register(MustNewLazyLexer(
- &Config{
- Name: "TypoScriptHtmlData",
- Aliases: []string{"typoscripthtmldata"},
- Filenames: []string{},
- MimeTypes: []string{},
- },
- typoScriptHTMLDataRules,
-))
-
-func typoScriptHTMLDataRules() Rules {
- return Rules{
- "root": {
- {`(INCLUDE_TYPOSCRIPT)`, NameClass, nil},
- {`(EXT|FILE|LLL):[^}\n"]*`, LiteralString, nil},
- {`(.*)(###\w+###)(.*)`, ByGroups(LiteralString, NameConstant, LiteralString), nil},
- {`(\{)(\$)((?:[\w\-]+\.)*)([\w\-]+)(\})`, ByGroups(LiteralStringSymbol, Operator, NameConstant, NameConstant, LiteralStringSymbol), nil},
- {`(.*)(\{)([\w\-]+)(\s*:\s*)([\w\-]+)(\})(.*)`, ByGroups(LiteralString, LiteralStringSymbol, NameConstant, Operator, NameConstant, LiteralStringSymbol, LiteralString), nil},
- {`\s+`, Text, nil},
- {`[<>,:=.*%+|]`, LiteralString, nil},
- {`[\w"\-!/&;(){}#]+`, LiteralString, nil},
- },
- }
-}
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/zed.go b/vendor/github.com/alecthomas/chroma/v2/lexers/zed.go
new file mode 100644
index 0000000..aadc80f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/zed.go
@@ -0,0 +1,24 @@
+package lexers
+
+import (
+ "strings"
+)
+
+// Zed lexer.
+func init() { // nolint: gochecknoinits
+ Get("Zed").SetAnalyser(func(text string) float32 {
+ if strings.Contains(text, "definition ") && strings.Contains(text, "relation ") && strings.Contains(text, "permission ") {
+ return 0.9
+ }
+ if strings.Contains(text, "definition ") {
+ return 0.5
+ }
+ if strings.Contains(text, "relation ") {
+ return 0.5
+ }
+ if strings.Contains(text, "permission ") {
+ return 0.25
+ }
+ return 0.0
+ })
+}
diff --git a/vendor/github.com/alecthomas/chroma/v2/mutators.go b/vendor/github.com/alecthomas/chroma/v2/mutators.go
new file mode 100644
index 0000000..e80ad97
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/mutators.go
@@ -0,0 +1,201 @@
+package chroma
+
+import (
+ "encoding/xml"
+ "fmt"
+ "strings"
+)
+
+// A Mutator modifies the behaviour of the lexer.
+type Mutator interface {
+ // Mutate the lexer state machine as it is processing.
+ Mutate(state *LexerState) error
+}
+
+// SerialisableMutator is a Mutator that can be serialised and deserialised.
+type SerialisableMutator interface {
+ Mutator
+ MutatorKind() string
+}
+
+// A LexerMutator is an additional interface that a Mutator can implement
+// to modify the lexer when it is compiled.
+type LexerMutator interface {
+ // MutateLexer can be implemented to mutate the lexer itself.
+ //
+ // Rules are the lexer rules, state is the state key for the rule the mutator is associated with.
+ MutateLexer(rules CompiledRules, state string, rule int) error
+}
+
+// A MutatorFunc is a Mutator that mutates the lexer state machine as it is processing.
+type MutatorFunc func(state *LexerState) error
+
+func (m MutatorFunc) Mutate(state *LexerState) error { return m(state) } // nolint
+
+type multiMutator struct {
+ Mutators []Mutator `xml:"mutator"`
+}
+
+func (m *multiMutator) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ for {
+ token, err := d.Token()
+ if err != nil {
+ return err
+ }
+ switch token := token.(type) {
+ case xml.StartElement:
+ mutator, err := unmarshalMutator(d, token)
+ if err != nil {
+ return err
+ }
+ m.Mutators = append(m.Mutators, mutator)
+
+ case xml.EndElement:
+ return nil
+ }
+ }
+}
+
+func (m *multiMutator) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ name := xml.Name{Local: "mutators"}
+ if err := e.EncodeToken(xml.StartElement{Name: name}); err != nil {
+ return err
+ }
+ for _, m := range m.Mutators {
+ if err := marshalMutator(e, m); err != nil {
+ return err
+ }
+ }
+ return e.EncodeToken(xml.EndElement{Name: name})
+}
+
+func (m *multiMutator) MutatorKind() string { return "mutators" }
+
+func (m *multiMutator) Mutate(state *LexerState) error {
+ for _, modifier := range m.Mutators {
+ if err := modifier.Mutate(state); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// Mutators applies a set of Mutators in order.
+func Mutators(modifiers ...Mutator) Mutator {
+ return &multiMutator{modifiers}
+}
+
+type includeMutator struct {
+ State string `xml:"state,attr"`
+}
+
+// Include the given state.
+func Include(state string) Rule {
+ return Rule{Mutator: &includeMutator{state}}
+}
+
+func (i *includeMutator) MutatorKind() string { return "include" }
+
+func (i *includeMutator) Mutate(s *LexerState) error {
+ return fmt.Errorf("should never reach here Include(%q)", i.State)
+}
+
+func (i *includeMutator) MutateLexer(rules CompiledRules, state string, rule int) error {
+ includedRules, ok := rules[i.State]
+ if !ok {
+ return fmt.Errorf("invalid include state %q", i.State)
+ }
+ rules[state] = append(rules[state][:rule], append(includedRules, rules[state][rule+1:]...)...)
+ return nil
+}
+
+type combinedMutator struct {
+ States []string `xml:"state,attr"`
+}
+
+func (c *combinedMutator) MutatorKind() string { return "combined" }
+
+// Combined creates a new anonymous state from the given states, and pushes that state.
+func Combined(states ...string) Mutator {
+ return &combinedMutator{states}
+}
+
+func (c *combinedMutator) Mutate(s *LexerState) error {
+ return fmt.Errorf("should never reach here Combined(%v)", c.States)
+}
+
+func (c *combinedMutator) MutateLexer(rules CompiledRules, state string, rule int) error {
+ name := "__combined_" + strings.Join(c.States, "__")
+ if _, ok := rules[name]; !ok {
+ combined := []*CompiledRule{}
+ for _, state := range c.States {
+ rules, ok := rules[state]
+ if !ok {
+ return fmt.Errorf("invalid combine state %q", state)
+ }
+ combined = append(combined, rules...)
+ }
+ rules[name] = combined
+ }
+ rules[state][rule].Mutator = Push(name)
+ return nil
+}
+
+type pushMutator struct {
+ States []string `xml:"state,attr"`
+}
+
+func (p *pushMutator) MutatorKind() string { return "push" }
+
+func (p *pushMutator) Mutate(s *LexerState) error {
+ if len(p.States) == 0 {
+ s.Stack = append(s.Stack, s.State)
+ } else {
+ for _, state := range p.States {
+ if state == "#pop" {
+ s.Stack = s.Stack[:len(s.Stack)-1]
+ } else {
+ s.Stack = append(s.Stack, state)
+ }
+ }
+ }
+ return nil
+}
+
+// Push states onto the stack.
+func Push(states ...string) Mutator {
+ return &pushMutator{states}
+}
+
+type popMutator struct {
+ Depth int `xml:"depth,attr"`
+}
+
+func (p *popMutator) MutatorKind() string { return "pop" }
+
+func (p *popMutator) Mutate(state *LexerState) error {
+ if len(state.Stack) == 0 {
+ return fmt.Errorf("nothing to pop")
+ }
+ state.Stack = state.Stack[:len(state.Stack)-p.Depth]
+ return nil
+}
+
+// Pop state from the stack when rule matches.
+func Pop(n int) Mutator {
+ return &popMutator{n}
+}
+
+// Default returns a Rule that applies a set of Mutators.
+func Default(mutators ...Mutator) Rule {
+ return Rule{Mutator: Mutators(mutators...)}
+}
+
+// Stringify returns the raw string for a set of tokens.
+func Stringify(tokens ...Token) string {
+ out := []string{}
+ for _, t := range tokens {
+ out = append(out, t.Value)
+ }
+ return strings.Join(out, "")
+}
diff --git a/vendor/github.com/alecthomas/chroma/pygments-lexers.txt b/vendor/github.com/alecthomas/chroma/v2/pygments-lexers.txt
similarity index 100%
rename from vendor/github.com/alecthomas/chroma/pygments-lexers.txt
rename to vendor/github.com/alecthomas/chroma/v2/pygments-lexers.txt
diff --git a/vendor/github.com/alecthomas/chroma/regexp.go b/vendor/github.com/alecthomas/chroma/v2/regexp.go
similarity index 58%
rename from vendor/github.com/alecthomas/chroma/regexp.go
rename to vendor/github.com/alecthomas/chroma/v2/regexp.go
index 4096dfc..0dcb077 100644
--- a/vendor/github.com/alecthomas/chroma/regexp.go
+++ b/vendor/github.com/alecthomas/chroma/v2/regexp.go
@@ -21,156 +21,6 @@ type Rule struct {
Mutator Mutator
}
-// An Emitter takes group matches and returns tokens.
-type Emitter interface {
- // Emit tokens for the given regex groups.
- Emit(groups []string, state *LexerState) Iterator
-}
-
-// EmitterFunc is a function that is an Emitter.
-type EmitterFunc func(groups []string, state *LexerState) Iterator
-
-// Emit tokens for groups.
-func (e EmitterFunc) Emit(groups []string, state *LexerState) Iterator {
- return e(groups, state)
-}
-
-// ByGroups emits a token for each matching group in the rule's regex.
-func ByGroups(emitters ...Emitter) Emitter {
- return EmitterFunc(func(groups []string, state *LexerState) Iterator {
- iterators := make([]Iterator, 0, len(groups)-1)
- if len(emitters) != len(groups)-1 {
- iterators = append(iterators, Error.Emit(groups, state))
- // panic(errors.Errorf("number of groups %q does not match number of emitters %v", groups, emitters))
- } else {
- for i, group := range groups[1:] {
- if emitters[i] != nil {
- iterators = append(iterators, emitters[i].Emit([]string{group}, state))
- }
- }
- }
- return Concaterator(iterators...)
- })
-}
-
-// ByGroupNames emits a token for each named matching group in the rule's regex.
-func ByGroupNames(emitters map[string]Emitter) Emitter {
- return EmitterFunc(func(groups []string, state *LexerState) Iterator {
- iterators := make([]Iterator, 0, len(state.NamedGroups)-1)
- if len(state.NamedGroups)-1 == 0 {
- if emitter, ok := emitters[`0`]; ok {
- iterators = append(iterators, emitter.Emit(groups, state))
- } else {
- iterators = append(iterators, Error.Emit(groups, state))
- }
- } else {
- ruleRegex := state.Rules[state.State][state.Rule].Regexp
- for i := 1; i < len(state.NamedGroups); i++ {
- groupName := ruleRegex.GroupNameFromNumber(i)
- group := state.NamedGroups[groupName]
- if emitter, ok := emitters[groupName]; ok {
- if emitter != nil {
- iterators = append(iterators, emitter.Emit([]string{group}, state))
- }
- } else {
- iterators = append(iterators, Error.Emit([]string{group}, state))
- }
- }
- }
- return Concaterator(iterators...)
- })
-}
-
-// UsingByGroup emits tokens for the matched groups in the regex using a
-// "sublexer". Used when lexing code blocks where the name of a sublexer is
-// contained within the block, for example on a Markdown text block or SQL
-// language block.
-//
-// The sublexer will be retrieved using sublexerGetFunc (typically
-// internal.Get), using the captured value from the matched sublexerNameGroup.
-//
-// If sublexerGetFunc returns a non-nil lexer for the captured sublexerNameGroup,
-// then tokens for the matched codeGroup will be emitted using the retrieved
-// lexer. Otherwise, if the sublexer is nil, then tokens will be emitted from
-// the passed emitter.
-//
-// Example:
-//
-// var Markdown = internal.Register(MustNewLexer(
-// &Config{
-// Name: "markdown",
-// Aliases: []string{"md", "mkd"},
-// Filenames: []string{"*.md", "*.mkd", "*.markdown"},
-// MimeTypes: []string{"text/x-markdown"},
-// },
-// Rules{
-// "root": {
-// {"^(```)(\\w+)(\\n)([\\w\\W]*?)(^```$)",
-// UsingByGroup(
-// internal.Get,
-// 2, 4,
-// String, String, String, Text, String,
-// ),
-// nil,
-// },
-// },
-// },
-// ))
-//
-// See the lexers/m/markdown.go for the complete example.
-//
-// Note: panic's if the number emitters does not equal the number of matched
-// groups in the regex.
-func UsingByGroup(sublexerGetFunc func(string) Lexer, sublexerNameGroup, codeGroup int, emitters ...Emitter) Emitter {
- return EmitterFunc(func(groups []string, state *LexerState) Iterator {
- // bounds check
- if len(emitters) != len(groups)-1 {
- panic("UsingByGroup expects number of emitters to be the same as len(groups)-1")
- }
-
- // grab sublexer
- sublexer := sublexerGetFunc(groups[sublexerNameGroup])
-
- // build iterators
- iterators := make([]Iterator, len(groups)-1)
- for i, group := range groups[1:] {
- if i == codeGroup-1 && sublexer != nil {
- var err error
- iterators[i], err = sublexer.Tokenise(nil, groups[codeGroup])
- if err != nil {
- panic(err)
- }
- } else if emitters[i] != nil {
- iterators[i] = emitters[i].Emit([]string{group}, state)
- }
- }
-
- return Concaterator(iterators...)
- })
-}
-
-// Using returns an Emitter that uses a given Lexer for parsing and emitting.
-func Using(lexer Lexer) Emitter {
- return EmitterFunc(func(groups []string, _ *LexerState) Iterator {
- it, err := lexer.Tokenise(&TokeniseOptions{State: "root", Nested: true}, groups[0])
- if err != nil {
- panic(err)
- }
- return it
- })
-}
-
-// UsingSelf is like Using, but uses the current Lexer.
-func UsingSelf(stateName string) Emitter {
- return EmitterFunc(func(groups []string, state *LexerState) Iterator {
- it, err := state.Lexer.Tokenise(&TokeniseOptions{State: stateName, Nested: true}, groups[0])
- if err != nil {
- panic(err)
- }
- return it
- })
-}
-
// Words creates a regex that matches any of the given literal words.
func Words(prefix, suffix string, words ...string) string {
sort.Slice(words, func(i, j int) bool {
@@ -225,17 +75,20 @@ func (r Rules) Merge(rules Rules) Rules {
return out
}
-// MustNewLazyLexer creates a new Lexer with deferred rules generation or panics.
-func MustNewLazyLexer(config *Config, rulesFunc func() Rules) *RegexLexer {
- lexer, err := NewLazyLexer(config, rulesFunc)
+// MustNewLexer creates a new Lexer with deferred rules generation or panics.
+func MustNewLexer(config *Config, rules func() Rules) *RegexLexer {
+ lexer, err := NewLexer(config, rules)
if err != nil {
panic(err)
}
return lexer
}
-// NewLazyLexer creates a new regex-based Lexer with deferred rules generation.
-func NewLazyLexer(config *Config, rulesFunc func() Rules) (*RegexLexer, error) {
+// NewLexer creates a new regex-based Lexer.
+//
+// "rules" is a state machine transition map. Each key is a state. Values are sets of rules
+// that match input, optionally modify lexer state, and output tokens.
+func NewLexer(config *Config, rulesFunc func() Rules) (*RegexLexer, error) {
if config == nil {
config = &Config{}
}
@@ -245,31 +98,40 @@ func NewLazyLexer(config *Config, rulesFunc func() Rules) (*RegexLexer, error) {
return nil, fmt.Errorf("%s: %q is not a valid glob: %w", config.Name, glob, err)
}
}
- return &RegexLexer{
- config: config,
- compilerFunc: rulesFunc,
- }, nil
-}
-
-// MustNewLexer creates a new Lexer or panics.
-//
-// Deprecated: Use MustNewLazyLexer instead.
-func MustNewLexer(config *Config, rules Rules) *RegexLexer { // nolint: forbidigo
- lexer, err := NewLexer(config, rules) // nolint: forbidigo
- if err != nil {
- panic(err)
+ r := &RegexLexer{
+ config: config,
+ fetchRulesFunc: func() (Rules, error) { return rulesFunc(), nil },
}
- return lexer
-}
-
-// NewLexer creates a new regex-based Lexer.
-//
-// "rules" is a state machine transitition map. Each key is a state. Values are sets of rules
-// that match input, optionally modify lexer state, and output tokens.
-//
-// Deprecated: Use NewLazyLexer instead.
-func NewLexer(config *Config, rules Rules) (*RegexLexer, error) { // nolint: forbidigo
- return NewLazyLexer(config, func() Rules { return rules })
+ // One-off code to generate XML lexers in the Chroma source tree.
+ // var nameCleanRe = regexp.MustCompile(`[^-+A-Za-z0-9_]`)
+ // name := strings.ToLower(nameCleanRe.ReplaceAllString(config.Name, "_"))
+ // data, err := Marshal(r)
+ // if err != nil {
+ // if errors.Is(err, ErrNotSerialisable) {
+ // fmt.Fprintf(os.Stderr, "warning: %q: %s\n", name, err)
+ // return r, nil
+ // }
+ // return nil, err
+ // }
+ // _, file, _, ok := runtime.Caller(2)
+ // if !ok {
+ // panic("??")
+ // }
+ // fmt.Println(file)
+ // if strings.Contains(file, "/lexers/") {
+ // dir := filepath.Join(filepath.Dir(file), "embedded")
+ // err = os.MkdirAll(dir, 0700)
+ // if err != nil {
+ // return nil, err
+ // }
+ // filename := filepath.Join(dir, name) + ".xml"
+ // fmt.Println(filename)
+ // err = ioutil.WriteFile(filename, data, 0600)
+ // if err != nil {
+ // return nil, err
+ // }
+ // }
+ return r, nil
}
// Trace enables debug tracing.
@@ -292,13 +154,14 @@ type CompiledRules map[string][]*CompiledRule
// LexerState contains the state for a single lex.
type LexerState struct {
- Lexer *RegexLexer
- Text []rune
- Pos int
- Rules CompiledRules
- Stack []string
- State string
- Rule int
+ Lexer *RegexLexer
+ Registry *LexerRegistry
+ Text []rune
+ Pos int
+ Rules CompiledRules
+ Stack []string
+ State string
+ Rule int
// Group matches.
Groups []string
// Named Group matches.
@@ -398,31 +261,59 @@ func (l *LexerState) Iterator() Token { // nolint: gocognit
// RegexLexer is the default lexer implementation used in Chroma.
type RegexLexer struct {
+ registry *LexerRegistry // The LexerRegistry this Lexer is associated with, if any.
config *Config
analyser func(text string) float32
trace bool
- mu sync.Mutex
- compiled bool
- rules map[string][]*CompiledRule
- compilerFunc func() Rules
- compileOnce sync.Once
+ mu sync.Mutex
+ compiled bool
+ rawRules Rules
+ rules map[string][]*CompiledRule
+ fetchRulesFunc func() (Rules, error)
+ compileOnce sync.Once
+}
+
+func (r *RegexLexer) String() string {
+ return r.config.Name
+}
+
+// Rules in the Lexer.
+func (r *RegexLexer) Rules() (Rules, error) {
+ if err := r.needRules(); err != nil {
+ return nil, err
+ }
+ return r.rawRules, nil
+}
+
+// SetRegistry the lexer will use to lookup other lexers if necessary.
+func (r *RegexLexer) SetRegistry(registry *LexerRegistry) Lexer {
+ r.registry = registry
+ return r
}
// SetAnalyser sets the analyser function used to perform content inspection.
-func (r *RegexLexer) SetAnalyser(analyser func(text string) float32) *RegexLexer {
+func (r *RegexLexer) SetAnalyser(analyser func(text string) float32) Lexer {
r.analyser = analyser
return r
}
-func (r *RegexLexer) AnalyseText(text string) float32 { // nolint
+// AnalyseText scores how likely a fragment of text is to match this lexer, between 0.0 and 1.0.
+func (r *RegexLexer) AnalyseText(text string) float32 {
if r.analyser != nil {
return r.analyser(text)
}
- return 0.0
+ return 0
}
-func (r *RegexLexer) Config() *Config { // nolint
+// SetConfig replaces the Config for this Lexer.
+func (r *RegexLexer) SetConfig(config *Config) *RegexLexer {
+ r.config = config
+ return r
+}
+
+// Config returns the Config for this Lexer.
+func (r *RegexLexer) Config() *Config {
return r.config
}
@@ -441,7 +332,7 @@ func (r *RegexLexer) maybeCompile() (err error) {
pattern = "(?" + rule.flags + ")" + pattern
}
pattern = `\G` + pattern
- rule.Regexp, err = regexp2.Compile(pattern, regexp2.RE2)
+ rule.Regexp, err = regexp2.Compile(pattern, 0)
if err != nil {
return fmt.Errorf("failed to compile rule %s.%d: %s", state, i, err)
}
@@ -473,8 +364,11 @@ restart:
return nil
}
-func (r *RegexLexer) compileRules() error {
- rules := r.compilerFunc()
+func (r *RegexLexer) fetchRules() error {
+ rules, err := r.fetchRulesFunc()
+ if err != nil {
+ return fmt.Errorf("%s: failed to compile rules: %w", r.config.Name, err)
+ }
if _, ok := rules["root"]; !ok {
return fmt.Errorf("no \"root\" state")
}
@@ -496,21 +390,28 @@ func (r *RegexLexer) compileRules() error {
}
}
+ r.rawRules = rules
r.rules = compiledRules
return nil
}
-func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) { // nolint
+func (r *RegexLexer) needRules() error {
var err error
- if r.compilerFunc != nil {
+ if r.fetchRulesFunc != nil {
r.compileOnce.Do(func() {
- err = r.compileRules()
+ err = r.fetchRules()
})
}
- if err != nil {
- return nil, err
- }
if err := r.maybeCompile(); err != nil {
+ return err
+ }
+ return err
+}
+
+// Tokenise text using lexer, returning an iterator.
+func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator, error) {
+ err := r.needRules()
+ if err != nil {
return nil, err
}
if options == nil {
@@ -525,6 +426,7 @@ func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator,
newlineAdded = true
}
state := &LexerState{
+ Registry: r.registry,
newlineAdded: newlineAdded,
options: options,
Lexer: r,
@@ -536,6 +438,15 @@ func (r *RegexLexer) Tokenise(options *TokeniseOptions, text string) (Iterator,
return state.Iterator, nil
}
+// MustRules is like Rules() but will panic on error.
+func (r *RegexLexer) MustRules() Rules {
+ rules, err := r.Rules()
+ if err != nil {
+ panic(err)
+ }
+ return rules
+}
+
func matchRules(text []rune, pos int, rules []*CompiledRule) (int, *CompiledRule, []string, map[string]string) {
for i, rule := range rules {
match, err := rule.Regexp.FindRunesMatchStartingAt(text, pos)
diff --git a/vendor/github.com/alecthomas/chroma/lexers/internal/api.go b/vendor/github.com/alecthomas/chroma/v2/registry.go
similarity index 57%
rename from vendor/github.com/alecthomas/chroma/lexers/internal/api.go
rename to vendor/github.com/alecthomas/chroma/v2/registry.go
index 12fa45f..4742e8c 100644
--- a/vendor/github.com/alecthomas/chroma/lexers/internal/api.go
+++ b/vendor/github.com/alecthomas/chroma/v2/registry.go
@@ -1,12 +1,9 @@
-// Package internal contains common API functions and structures shared between lexer packages.
-package internal
+package chroma
import (
"path/filepath"
"sort"
"strings"
-
- "github.com/alecthomas/chroma"
)
var (
@@ -22,20 +19,25 @@ var (
}
)
-// Registry of Lexers.
-var Registry = struct {
- Lexers chroma.Lexers
- byName map[string]chroma.Lexer
- byAlias map[string]chroma.Lexer
-}{
- byName: map[string]chroma.Lexer{},
- byAlias: map[string]chroma.Lexer{},
+// LexerRegistry is a registry of Lexers.
+type LexerRegistry struct {
+ Lexers Lexers
+ byName map[string]Lexer
+ byAlias map[string]Lexer
+}
+
+// NewLexerRegistry creates a new LexerRegistry of Lexers.
+func NewLexerRegistry() *LexerRegistry {
+ return &LexerRegistry{
+ byName: map[string]Lexer{},
+ byAlias: map[string]Lexer{},
+ }
}
// Names of all lexers, optionally including aliases.
-func Names(withAliases bool) []string {
+func (l *LexerRegistry) Names(withAliases bool) []string {
out := []string{}
- for _, lexer := range Registry.Lexers {
+ for _, lexer := range l.Lexers {
config := lexer.Config()
out = append(out, config.Name)
if withAliases {
@@ -47,27 +49,27 @@ func Names(withAliases bool) []string {
}
// Get a Lexer by name, alias or file extension.
-func Get(name string) chroma.Lexer {
- if lexer := Registry.byName[name]; lexer != nil {
+func (l *LexerRegistry) Get(name string) Lexer {
+ if lexer := l.byName[name]; lexer != nil {
return lexer
}
- if lexer := Registry.byAlias[name]; lexer != nil {
+ if lexer := l.byAlias[name]; lexer != nil {
return lexer
}
- if lexer := Registry.byName[strings.ToLower(name)]; lexer != nil {
+ if lexer := l.byName[strings.ToLower(name)]; lexer != nil {
return lexer
}
- if lexer := Registry.byAlias[strings.ToLower(name)]; lexer != nil {
+ if lexer := l.byAlias[strings.ToLower(name)]; lexer != nil {
return lexer
}
- candidates := chroma.PrioritisedLexers{}
+ candidates := PrioritisedLexers{}
// Try file extension.
- if lexer := Match("filename." + name); lexer != nil {
+ if lexer := l.Match("filename." + name); lexer != nil {
candidates = append(candidates, lexer)
}
// Try exact filename.
- if lexer := Match(name); lexer != nil {
+ if lexer := l.Match(name); lexer != nil {
candidates = append(candidates, lexer)
}
if len(candidates) == 0 {
@@ -78,9 +80,9 @@ func Get(name string) chroma.Lexer {
}
// MatchMimeType attempts to find a lexer for the given MIME type.
-func MatchMimeType(mimeType string) chroma.Lexer {
- matched := chroma.PrioritisedLexers{}
- for _, l := range Registry.Lexers {
+func (l *LexerRegistry) MatchMimeType(mimeType string) Lexer {
+ matched := PrioritisedLexers{}
+ for _, l := range l.Lexers {
for _, lmt := range l.Config().MimeTypes {
if mimeType == lmt {
matched = append(matched, l)
@@ -95,11 +97,13 @@ func MatchMimeType(mimeType string) chroma.Lexer {
}
// Match returns the first lexer matching filename.
-func Match(filename string) chroma.Lexer {
+//
+// Note that this iterates over all file patterns in all lexers, so is not fast.
+func (l *LexerRegistry) Match(filename string) Lexer {
filename = filepath.Base(filename)
- matched := chroma.PrioritisedLexers{}
+ matched := PrioritisedLexers{}
// First, try primary filename matches.
- for _, lexer := range Registry.Lexers {
+ for _, lexer := range l.Lexers {
config := lexer.Config()
for _, glob := range config.Filenames {
ok, err := filepath.Match(glob, filename)
@@ -126,7 +130,7 @@ func Match(filename string) chroma.Lexer {
}
matched = nil
// Next, try filename aliases.
- for _, lexer := range Registry.Lexers {
+ for _, lexer := range l.Lexers {
config := lexer.Config()
for _, glob := range config.AliasFilenames {
ok, err := filepath.Match(glob, filename)
@@ -155,11 +159,11 @@ func Match(filename string) chroma.Lexer {
}
// Analyse text content and return the "best" lexer..
-func Analyse(text string) chroma.Lexer {
- var picked chroma.Lexer
+func (l *LexerRegistry) Analyse(text string) Lexer {
+ var picked Lexer
highest := float32(0.0)
- for _, lexer := range Registry.Lexers {
- if analyser, ok := lexer.(chroma.Analyser); ok {
+ for _, lexer := range l.Lexers {
+ if analyser, ok := lexer.(Analyser); ok {
weight := analyser.AnalyseText(text)
if weight > highest {
picked = lexer
@@ -170,32 +174,37 @@ func Analyse(text string) chroma.Lexer {
return picked
}
-// Register a Lexer with the global registry.
-func Register(lexer chroma.Lexer) chroma.Lexer {
+// Register a Lexer with the LexerRegistry. If the lexer is already registered
+// it will be replaced.
+func (l *LexerRegistry) Register(lexer Lexer) Lexer {
+ lexer.SetRegistry(l)
config := lexer.Config()
- Registry.byName[config.Name] = lexer
- Registry.byName[strings.ToLower(config.Name)] = lexer
+
+ l.byName[config.Name] = lexer
+ l.byName[strings.ToLower(config.Name)] = lexer
+
for _, alias := range config.Aliases {
- Registry.byAlias[alias] = lexer
- Registry.byAlias[strings.ToLower(alias)] = lexer
+ l.byAlias[alias] = lexer
+ l.byAlias[strings.ToLower(alias)] = lexer
}
- Registry.Lexers = append(Registry.Lexers, lexer)
+
+ l.Lexers = add(l.Lexers, lexer)
+
return lexer
}
-// PlaintextRules is used for the fallback lexer as well as the explicit
-// plaintext lexer.
-func PlaintextRules() chroma.Rules {
- return chroma.Rules{
- "root": []chroma.Rule{
- {`.+`, chroma.Text, nil},
- {`\n`, chroma.Text, nil},
- },
- }
-}
+// add adds a lexer to a slice of lexers if it doesn't already exist, or if found will replace it.
+func add(lexers Lexers, lexer Lexer) Lexers {
+ for i, val := range lexers {
+ if val == nil {
+ continue
+ }
-// Fallback lexer if no other is found.
-var Fallback chroma.Lexer = chroma.MustNewLazyLexer(&chroma.Config{
- Name: "fallback",
- Filenames: []string{"*"},
-}, PlaintextRules)
+ if val.Config().Name == lexer.Config().Name {
+ lexers[i] = lexer
+ return lexers
+ }
+ }
+
+ return append(lexers, lexer)
+}
diff --git a/vendor/github.com/alecthomas/chroma/remap.go b/vendor/github.com/alecthomas/chroma/v2/remap.go
similarity index 77%
rename from vendor/github.com/alecthomas/chroma/remap.go
rename to vendor/github.com/alecthomas/chroma/v2/remap.go
index cfb5c38..bcf5e66 100644
--- a/vendor/github.com/alecthomas/chroma/remap.go
+++ b/vendor/github.com/alecthomas/chroma/v2/remap.go
@@ -10,6 +10,20 @@ func RemappingLexer(lexer Lexer, mapper func(Token) []Token) Lexer {
return &remappingLexer{lexer, mapper}
}
+func (r *remappingLexer) AnalyseText(text string) float32 {
+ return r.lexer.AnalyseText(text)
+}
+
+func (r *remappingLexer) SetAnalyser(analyser func(text string) float32) Lexer {
+ r.lexer.SetAnalyser(analyser)
+ return r
+}
+
+func (r *remappingLexer) SetRegistry(registry *LexerRegistry) Lexer {
+ r.lexer.SetRegistry(registry)
+ return r
+}
+
func (r *remappingLexer) Config() *Config {
return r.lexer.Config()
}
@@ -46,10 +60,10 @@ type TypeMapping []struct {
//
// eg. Map "defvaralias" tokens of type NameVariable to NameFunction:
//
-// mapping := TypeMapping{
-// {NameVariable, NameFunction, []string{"defvaralias"},
-// }
-// lexer = TypeRemappingLexer(lexer, mapping)
+// mapping := TypeMapping{
+// {NameVariable, NameFunction, []string{"defvaralias"},
+// }
+// lexer = TypeRemappingLexer(lexer, mapping)
func TypeRemappingLexer(lexer Lexer, mapping TypeMapping) Lexer {
// Lookup table for fast remapping.
lut := map[TokenType]map[string]TokenType{}
diff --git a/vendor/github.com/alecthomas/chroma/v2/serialise.go b/vendor/github.com/alecthomas/chroma/v2/serialise.go
new file mode 100644
index 0000000..645a5fa
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/serialise.go
@@ -0,0 +1,479 @@
+package chroma
+
+import (
+ "compress/gzip"
+ "encoding/xml"
+ "errors"
+ "fmt"
+ "io"
+ "io/fs"
+ "math"
+ "path/filepath"
+ "reflect"
+ "regexp"
+ "strings"
+
+ "github.com/dlclark/regexp2"
+)
+
+// Serialisation of Chroma rules to XML. The format is:
+//
+//
+//
+//
+// [<$EMITTER ...>]
+// [<$MUTATOR ...>]
+//
+//
+//
+//
+// eg. Include("String") would become:
+//
+//
+//
+//
+//
+// [null, null, {"kind": "include", "state": "String"}]
+//
+// eg. Rule{`\d+`, Text, nil} would become:
+//
+//
+//
+//
+//
+// eg. Rule{`"`, String, Push("String")}
+//
+//
+//
+//
+//
+//
+// eg. Rule{`(\w+)(\n)`, ByGroups(Keyword, Whitespace), nil},
+//
+//
+//
+//
+//
+var (
+ // ErrNotSerialisable is returned if a lexer contains Rules that cannot be serialised.
+ ErrNotSerialisable = fmt.Errorf("not serialisable")
+ emitterTemplates = func() map[string]SerialisableEmitter {
+ out := map[string]SerialisableEmitter{}
+ for _, emitter := range []SerialisableEmitter{
+ &byGroupsEmitter{},
+ &usingSelfEmitter{},
+ TokenType(0),
+ &usingEmitter{},
+ &usingByGroup{},
+ } {
+ out[emitter.EmitterKind()] = emitter
+ }
+ return out
+ }()
+ mutatorTemplates = func() map[string]SerialisableMutator {
+ out := map[string]SerialisableMutator{}
+ for _, mutator := range []SerialisableMutator{
+ &includeMutator{},
+ &combinedMutator{},
+ &multiMutator{},
+ &pushMutator{},
+ &popMutator{},
+ } {
+ out[mutator.MutatorKind()] = mutator
+ }
+ return out
+ }()
+)
+
+// fastUnmarshalConfig unmarshals only the Config from a serialised lexer.
+func fastUnmarshalConfig(from fs.FS, path string) (*Config, error) {
+ r, err := from.Open(path)
+ if err != nil {
+ return nil, err
+ }
+ defer r.Close()
+ dec := xml.NewDecoder(r)
+ for {
+ token, err := dec.Token()
+ if err != nil {
+ if errors.Is(err, io.EOF) {
+ return nil, fmt.Errorf("could not find element")
+ }
+ return nil, err
+ }
+ switch se := token.(type) {
+ case xml.StartElement:
+ if se.Name.Local != "config" {
+ break
+ }
+
+ var config Config
+ err = dec.DecodeElement(&config, &se)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %w", path, err)
+ }
+ return &config, nil
+ }
+ }
+}
+
+// MustNewXMLLexer constructs a new RegexLexer from an XML file or panics.
+func MustNewXMLLexer(from fs.FS, path string) *RegexLexer {
+ lex, err := NewXMLLexer(from, path)
+ if err != nil {
+ panic(err)
+ }
+ return lex
+}
+
+// NewXMLLexer creates a new RegexLexer from a serialised RegexLexer.
+func NewXMLLexer(from fs.FS, path string) (*RegexLexer, error) {
+ config, err := fastUnmarshalConfig(from, path)
+ if err != nil {
+ return nil, err
+ }
+
+ for _, glob := range append(config.Filenames, config.AliasFilenames...) {
+ _, err := filepath.Match(glob, "")
+ if err != nil {
+ return nil, fmt.Errorf("%s: %q is not a valid glob: %w", config.Name, glob, err)
+ }
+ }
+
+ var analyserFn func(string) float32
+
+ if config.Analyse != nil {
+ type regexAnalyse struct {
+ re *regexp2.Regexp
+ score float32
+ }
+
+ regexAnalysers := make([]regexAnalyse, 0, len(config.Analyse.Regexes))
+
+ for _, ra := range config.Analyse.Regexes {
+ re, err := regexp2.Compile(ra.Pattern, regexp2.None)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %q is not a valid analyser regex: %w", config.Name, ra.Pattern, err)
+ }
+
+ regexAnalysers = append(regexAnalysers, regexAnalyse{re, ra.Score})
+ }
+
+ analyserFn = func(text string) float32 {
+ var score float32
+
+ for _, ra := range regexAnalysers {
+ ok, err := ra.re.MatchString(text)
+ if err != nil {
+ return 0
+ }
+
+ if ok && config.Analyse.First {
+ return float32(math.Min(float64(ra.score), 1.0))
+ }
+
+ if ok {
+ score += ra.score
+ }
+ }
+
+ return float32(math.Min(float64(score), 1.0))
+ }
+ }
+
+ return &RegexLexer{
+ config: config,
+ analyser: analyserFn,
+ fetchRulesFunc: func() (Rules, error) {
+ var lexer struct {
+ Config
+ Rules Rules `xml:"rules"`
+ }
+ // Try to open .xml fallback to .xml.gz
+ fr, err := from.Open(path)
+ if err != nil {
+ if errors.Is(err, fs.ErrNotExist) {
+ path += ".gz"
+ fr, err = from.Open(path)
+ if err != nil {
+ return nil, err
+ }
+ } else {
+ return nil, err
+ }
+ }
+ defer fr.Close()
+ var r io.Reader = fr
+ if strings.HasSuffix(path, ".gz") {
+ r, err = gzip.NewReader(r)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %w", path, err)
+ }
+ }
+ err = xml.NewDecoder(r).Decode(&lexer)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %w", path, err)
+ }
+ return lexer.Rules, nil
+ },
+ }, nil
+}
+
+// Marshal a RegexLexer to XML.
+func Marshal(l *RegexLexer) ([]byte, error) {
+ type lexer struct {
+ Config Config `xml:"config"`
+ Rules Rules `xml:"rules"`
+ }
+
+ rules, err := l.Rules()
+ if err != nil {
+ return nil, err
+ }
+ root := &lexer{
+ Config: *l.Config(),
+ Rules: rules,
+ }
+ data, err := xml.MarshalIndent(root, "", " ")
+ if err != nil {
+ return nil, err
+ }
+ re := regexp.MustCompile(`>[a-zA-Z]+>`)
+ data = re.ReplaceAll(data, []byte(`/>`))
+ return data, nil
+}
+
+// Unmarshal a RegexLexer from XML.
+func Unmarshal(data []byte) (*RegexLexer, error) {
+ type lexer struct {
+ Config Config `xml:"config"`
+ Rules Rules `xml:"rules"`
+ }
+ root := &lexer{}
+ err := xml.Unmarshal(data, root)
+ if err != nil {
+ return nil, fmt.Errorf("invalid Lexer XML: %w", err)
+ }
+ lex, err := NewLexer(&root.Config, func() Rules { return root.Rules })
+ if err != nil {
+ return nil, err
+ }
+ return lex, nil
+}
+
+func marshalMutator(e *xml.Encoder, mutator Mutator) error {
+ if mutator == nil {
+ return nil
+ }
+ smutator, ok := mutator.(SerialisableMutator)
+ if !ok {
+ return fmt.Errorf("unsupported mutator: %w", ErrNotSerialisable)
+ }
+ return e.EncodeElement(mutator, xml.StartElement{Name: xml.Name{Local: smutator.MutatorKind()}})
+}
+
+func unmarshalMutator(d *xml.Decoder, start xml.StartElement) (Mutator, error) {
+ kind := start.Name.Local
+ mutator, ok := mutatorTemplates[kind]
+ if !ok {
+ return nil, fmt.Errorf("unknown mutator %q: %w", kind, ErrNotSerialisable)
+ }
+ value, target := newFromTemplate(mutator)
+ if err := d.DecodeElement(target, &start); err != nil {
+ return nil, err
+ }
+ return value().(SerialisableMutator), nil
+}
+
+func marshalEmitter(e *xml.Encoder, emitter Emitter) error {
+ if emitter == nil {
+ return nil
+ }
+ semitter, ok := emitter.(SerialisableEmitter)
+ if !ok {
+ return fmt.Errorf("unsupported emitter %T: %w", emitter, ErrNotSerialisable)
+ }
+ return e.EncodeElement(emitter, xml.StartElement{
+ Name: xml.Name{Local: semitter.EmitterKind()},
+ })
+}
+
+func unmarshalEmitter(d *xml.Decoder, start xml.StartElement) (Emitter, error) {
+ kind := start.Name.Local
+ mutator, ok := emitterTemplates[kind]
+ if !ok {
+ return nil, fmt.Errorf("unknown emitter %q: %w", kind, ErrNotSerialisable)
+ }
+ value, target := newFromTemplate(mutator)
+ if err := d.DecodeElement(target, &start); err != nil {
+ return nil, err
+ }
+ return value().(SerialisableEmitter), nil
+}
+
+func (r Rule) MarshalXML(e *xml.Encoder, _ xml.StartElement) error {
+ start := xml.StartElement{
+ Name: xml.Name{Local: "rule"},
+ }
+ if r.Pattern != "" {
+ start.Attr = append(start.Attr, xml.Attr{
+ Name: xml.Name{Local: "pattern"},
+ Value: r.Pattern,
+ })
+ }
+ if err := e.EncodeToken(start); err != nil {
+ return err
+ }
+ if err := marshalEmitter(e, r.Type); err != nil {
+ return err
+ }
+ if err := marshalMutator(e, r.Mutator); err != nil {
+ return err
+ }
+ return e.EncodeToken(xml.EndElement{Name: start.Name})
+}
+
+func (r *Rule) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ for _, attr := range start.Attr {
+ if attr.Name.Local == "pattern" {
+ r.Pattern = attr.Value
+ break
+ }
+ }
+ for {
+ token, err := d.Token()
+ if err != nil {
+ return err
+ }
+ switch token := token.(type) {
+ case xml.StartElement:
+ mutator, err := unmarshalMutator(d, token)
+ if err != nil && !errors.Is(err, ErrNotSerialisable) {
+ return err
+ } else if err == nil {
+ if r.Mutator != nil {
+ return fmt.Errorf("duplicate mutator")
+ }
+ r.Mutator = mutator
+ continue
+ }
+ emitter, err := unmarshalEmitter(d, token)
+ if err != nil && !errors.Is(err, ErrNotSerialisable) { // nolint: gocritic
+ return err
+ } else if err == nil {
+ if r.Type != nil {
+ return fmt.Errorf("duplicate emitter")
+ }
+ r.Type = emitter
+ continue
+ } else {
+ return err
+ }
+
+ case xml.EndElement:
+ return nil
+ }
+ }
+}
+
+type xmlRuleState struct {
+ Name string `xml:"name,attr"`
+ Rules []Rule `xml:"rule"`
+}
+
+type xmlRules struct {
+ States []xmlRuleState `xml:"state"`
+}
+
+func (r Rules) MarshalXML(e *xml.Encoder, _ xml.StartElement) error {
+ xr := xmlRules{}
+ for state, rules := range r {
+ xr.States = append(xr.States, xmlRuleState{
+ Name: state,
+ Rules: rules,
+ })
+ }
+ return e.EncodeElement(xr, xml.StartElement{Name: xml.Name{Local: "rules"}})
+}
+
+func (r *Rules) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ xr := xmlRules{}
+ if err := d.DecodeElement(&xr, &start); err != nil {
+ return err
+ }
+ if *r == nil {
+ *r = Rules{}
+ }
+ for _, state := range xr.States {
+ (*r)[state.Name] = state.Rules
+ }
+ return nil
+}
+
+type xmlTokenType struct {
+ Type string `xml:"type,attr"`
+}
+
+func (t *TokenType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ el := xmlTokenType{}
+ if err := d.DecodeElement(&el, &start); err != nil {
+ return err
+ }
+ tt, err := TokenTypeString(el.Type)
+ if err != nil {
+ return err
+ }
+ *t = tt
+ return nil
+}
+
+func (t TokenType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "type"}, Value: t.String()})
+ if err := e.EncodeToken(start); err != nil {
+ return err
+ }
+ return e.EncodeToken(xml.EndElement{Name: start.Name})
+}
+
+// This hijinks is a bit unfortunate but without it we can't deserialise into TokenType.
+func newFromTemplate(template interface{}) (value func() interface{}, target interface{}) {
+ t := reflect.TypeOf(template)
+ if t.Kind() == reflect.Ptr {
+ v := reflect.New(t.Elem())
+ return v.Interface, v.Interface()
+ }
+ v := reflect.New(t)
+ return func() interface{} { return v.Elem().Interface() }, v.Interface()
+}
+
+func (b *Emitters) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ for {
+ token, err := d.Token()
+ if err != nil {
+ return err
+ }
+ switch token := token.(type) {
+ case xml.StartElement:
+ emitter, err := unmarshalEmitter(d, token)
+ if err != nil {
+ return err
+ }
+ *b = append(*b, emitter)
+
+ case xml.EndElement:
+ return nil
+ }
+ }
+}
+
+func (b Emitters) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeToken(start); err != nil {
+ return err
+ }
+ for _, m := range b {
+ if err := marshalEmitter(e, m); err != nil {
+ return err
+ }
+ }
+ return e.EncodeToken(xml.EndElement{Name: start.Name})
+}
diff --git a/vendor/github.com/alecthomas/chroma/style.go b/vendor/github.com/alecthomas/chroma/v2/style.go
similarity index 69%
rename from vendor/github.com/alecthomas/chroma/style.go
rename to vendor/github.com/alecthomas/chroma/v2/style.go
index 1319fc4..cc8d9a6 100644
--- a/vendor/github.com/alecthomas/chroma/style.go
+++ b/vendor/github.com/alecthomas/chroma/v2/style.go
@@ -1,7 +1,10 @@
package chroma
import (
+ "encoding/xml"
"fmt"
+ "io"
+ "sort"
"strings"
)
@@ -49,6 +52,10 @@ type StyleEntry struct {
NoInherit bool
}
+func (s StyleEntry) MarshalText() ([]byte, error) {
+ return []byte(s.String()), nil
+}
+
func (s StyleEntry) String() string {
out := []string{}
if s.Bold != Pass {
@@ -157,9 +164,12 @@ func (s *StyleBuilder) AddAll(entries StyleEntries) *StyleBuilder {
}
func (s *StyleBuilder) Get(ttype TokenType) StyleEntry {
- // This is less than ideal, but it's the price for having to check errors on each Add().
+ // This is less than ideal, but it's the price for not having to check errors on each Add().
entry, _ := ParseStyleEntry(s.entries[ttype])
- return entry.Inherit(s.parent.Get(ttype))
+ if s.parent != nil {
+ entry = entry.Inherit(s.parent.Get(ttype))
+ }
+ return entry
}
// Add an entry to the Style map.
@@ -175,6 +185,25 @@ func (s *StyleBuilder) AddEntry(ttype TokenType, entry StyleEntry) *StyleBuilder
return s
}
+// Transform passes each style entry currently defined in the builder to the supplied
+// function and saves the returned value. This can be used to adjust a style's colours;
+// see Colour's ClampBrightness function, for example.
+func (s *StyleBuilder) Transform(transform func(StyleEntry) StyleEntry) *StyleBuilder {
+ types := make(map[TokenType]struct{})
+ for tt := range s.entries {
+ types[tt] = struct{}{}
+ }
+ if s.parent != nil {
+ for _, tt := range s.parent.Types() {
+ types[tt] = struct{}{}
+ }
+ }
+ for tt := range types {
+ s.AddEntry(tt, transform(s.Get(tt)))
+ }
+ return s
+}
+
func (s *StyleBuilder) Build() (*Style, error) {
style := &Style{
Name: s.name,
@@ -194,6 +223,22 @@ func (s *StyleBuilder) Build() (*Style, error) {
// StyleEntries mapping TokenType to colour definition.
type StyleEntries map[TokenType]string
+// NewXMLStyle parses an XML style definition.
+func NewXMLStyle(r io.Reader) (*Style, error) {
+ dec := xml.NewDecoder(r)
+ style := &Style{}
+ return style, dec.Decode(style)
+}
+
+// MustNewXMLStyle is like NewXMLStyle but panics on error.
+func MustNewXMLStyle(r io.Reader) *Style {
+ style, err := NewXMLStyle(r)
+ if err != nil {
+ panic(err)
+ }
+ return style
+}
+
// NewStyle creates a new style definition.
func NewStyle(name string, entries StyleEntries) (*Style, error) {
return NewStyleBuilder(name).AddAll(entries).Build()
@@ -217,6 +262,89 @@ type Style struct {
parent *Style
}
+func (s *Style) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if s.parent != nil {
+ return fmt.Errorf("cannot marshal style with parent")
+ }
+ start.Name = xml.Name{Local: "style"}
+ start.Attr = []xml.Attr{{Name: xml.Name{Local: "name"}, Value: s.Name}}
+ if err := e.EncodeToken(start); err != nil {
+ return err
+ }
+ sorted := make([]TokenType, 0, len(s.entries))
+ for ttype := range s.entries {
+ sorted = append(sorted, ttype)
+ }
+ sort.Slice(sorted, func(i, j int) bool { return sorted[i] < sorted[j] })
+ for _, ttype := range sorted {
+ entry := s.entries[ttype]
+ el := xml.StartElement{Name: xml.Name{Local: "entry"}}
+ el.Attr = []xml.Attr{
+ {Name: xml.Name{Local: "type"}, Value: ttype.String()},
+ {Name: xml.Name{Local: "style"}, Value: entry.String()},
+ }
+ if err := e.EncodeToken(el); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.EndElement{Name: el.Name}); err != nil {
+ return err
+ }
+ }
+ return e.EncodeToken(xml.EndElement{Name: start.Name})
+}
+
+func (s *Style) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ for _, attr := range start.Attr {
+ if attr.Name.Local == "name" {
+ s.Name = attr.Value
+ } else {
+ return fmt.Errorf("unexpected attribute %s", attr.Name.Local)
+ }
+ }
+ if s.Name == "" {
+ return fmt.Errorf("missing style name attribute")
+ }
+ s.entries = map[TokenType]StyleEntry{}
+ for {
+ tok, err := d.Token()
+ if err != nil {
+ return err
+ }
+ switch el := tok.(type) {
+ case xml.StartElement:
+ if el.Name.Local != "entry" {
+ return fmt.Errorf("unexpected element %s", el.Name.Local)
+ }
+ var ttype TokenType
+ var entry StyleEntry
+ for _, attr := range el.Attr {
+ switch attr.Name.Local {
+ case "type":
+ ttype, err = TokenTypeString(attr.Value)
+ if err != nil {
+ return err
+ }
+
+ case "style":
+ entry, err = ParseStyleEntry(attr.Value)
+ if err != nil {
+ return err
+ }
+
+ default:
+ return fmt.Errorf("unexpected attribute %s", attr.Name.Local)
+ }
+ }
+ s.entries[ttype] = entry
+
+ case xml.EndElement:
+ if el.Name.Local == start.Name.Local {
+ return nil
+ }
+ }
+ }
+}
+
// Types that are styled.
func (s *Style) Types() []TokenType {
dedupe := map[TokenType]bool{}
@@ -297,6 +425,15 @@ func (s *Style) synthesisable(ttype TokenType) bool {
return ttype == LineHighlight || ttype == LineNumbers || ttype == LineNumbersTable
}
+// MustParseStyleEntry parses a Pygments style entry or panics.
+func MustParseStyleEntry(entry string) StyleEntry {
+ out, err := ParseStyleEntry(entry)
+ if err != nil {
+ panic(err)
+ }
+ return out
+}
+
// ParseStyleEntry parses a Pygments style entry.
func ParseStyleEntry(entry string) (StyleEntry, error) { // nolint: gocyclo
out := StyleEntry{}
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/abap.xml b/vendor/github.com/alecthomas/chroma/v2/styles/abap.xml
new file mode 100644
index 0000000..36ea2f1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/abap.xml
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/algol.xml b/vendor/github.com/alecthomas/chroma/v2/styles/algol.xml
new file mode 100644
index 0000000..e8a6dc1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/algol.xml
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/algol_nu.xml b/vendor/github.com/alecthomas/chroma/v2/styles/algol_nu.xml
new file mode 100644
index 0000000..7fa340f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/algol_nu.xml
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/api.go b/vendor/github.com/alecthomas/chroma/v2/styles/api.go
new file mode 100644
index 0000000..e26d6f0
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/api.go
@@ -0,0 +1,65 @@
+package styles
+
+import (
+ "embed"
+ "io/fs"
+ "sort"
+
+ "github.com/alecthomas/chroma/v2"
+)
+
+//go:embed *.xml
+var embedded embed.FS
+
+// Registry of Styles.
+var Registry = func() map[string]*chroma.Style {
+ registry := map[string]*chroma.Style{}
+ // Register all embedded styles.
+ files, err := fs.ReadDir(embedded, ".")
+ if err != nil {
+ panic(err)
+ }
+ for _, file := range files {
+ if file.IsDir() {
+ continue
+ }
+ r, err := embedded.Open(file.Name())
+ if err != nil {
+ panic(err)
+ }
+ style, err := chroma.NewXMLStyle(r)
+ if err != nil {
+ panic(err)
+ }
+ registry[style.Name] = style
+ _ = r.Close()
+ }
+ return registry
+}()
+
+// Fallback style. Reassign to change the default fallback style.
+var Fallback = Registry["swapoff"]
+
+// Register a chroma.Style.
+func Register(style *chroma.Style) *chroma.Style {
+ Registry[style.Name] = style
+ return style
+}
+
+// Names of all available styles.
+func Names() []string {
+ out := []string{}
+ for name := range Registry {
+ out = append(out, name)
+ }
+ sort.Strings(out)
+ return out
+}
+
+// Get named style, or Fallback.
+func Get(name string) *chroma.Style {
+ if style, ok := Registry[name]; ok {
+ return style
+ }
+ return Fallback
+}
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/arduino.xml b/vendor/github.com/alecthomas/chroma/v2/styles/arduino.xml
new file mode 100644
index 0000000..d9891dc
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/arduino.xml
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/autumn.xml b/vendor/github.com/alecthomas/chroma/v2/styles/autumn.xml
new file mode 100644
index 0000000..74d2eae
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/autumn.xml
@@ -0,0 +1,36 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/average.xml b/vendor/github.com/alecthomas/chroma/v2/styles/average.xml
new file mode 100644
index 0000000..79bdb95
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/average.xml
@@ -0,0 +1,74 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/base16-snazzy.xml b/vendor/github.com/alecthomas/chroma/v2/styles/base16-snazzy.xml
new file mode 100644
index 0000000..a05ba24
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/base16-snazzy.xml
@@ -0,0 +1,74 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/borland.xml b/vendor/github.com/alecthomas/chroma/v2/styles/borland.xml
new file mode 100644
index 0000000..0d8f574
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/borland.xml
@@ -0,0 +1,26 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/bw.xml b/vendor/github.com/alecthomas/chroma/v2/styles/bw.xml
new file mode 100644
index 0000000..fb0e868
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/bw.xml
@@ -0,0 +1,23 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml
new file mode 100644
index 0000000..08eb42a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml
@@ -0,0 +1,83 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml
new file mode 100644
index 0000000..3d51074
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml
@@ -0,0 +1,83 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml
new file mode 100644
index 0000000..5d96f59
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml
@@ -0,0 +1,83 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml
new file mode 100644
index 0000000..e17866d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml
@@ -0,0 +1,83 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/colorful.xml b/vendor/github.com/alecthomas/chroma/v2/styles/colorful.xml
new file mode 100644
index 0000000..32442d7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/colorful.xml
@@ -0,0 +1,52 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/compat.go b/vendor/github.com/alecthomas/chroma/v2/styles/compat.go
new file mode 100644
index 0000000..4a6aaa6
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/compat.go
@@ -0,0 +1,66 @@
+package styles
+
+// Present for backwards compatibility.
+//
+// Deprecated: use styles.Get(name) instead.
+var (
+ Abap = Registry["abap"]
+ Algol = Registry["algol"]
+ AlgolNu = Registry["algol_nu"]
+ Arduino = Registry["arduino"]
+ Autumn = Registry["autumn"]
+ Average = Registry["average"]
+ Base16Snazzy = Registry["base16-snazzy"]
+ Borland = Registry["borland"]
+ BlackWhite = Registry["bw"]
+ CatppuccinFrappe = Registry["catppuccin-frappe"]
+ CatppuccinLatte = Registry["catppuccin-latte"]
+ CatppuccinMacchiato = Registry["catppuccin-macchiato"]
+ CatppuccinMocha = Registry["catppuccin-mocha"]
+ Colorful = Registry["colorful"]
+ DoomOne = Registry["doom-one"]
+ DoomOne2 = Registry["doom-one2"]
+ Dracula = Registry["dracula"]
+ Emacs = Registry["emacs"]
+ Friendly = Registry["friendly"]
+ Fruity = Registry["fruity"]
+ GitHubDark = Registry["github-dark"]
+ GitHub = Registry["github"]
+ GruvboxLight = Registry["gruvbox-light"]
+ Gruvbox = Registry["gruvbox"]
+ HrDark = Registry["hrdark"]
+ HrHighContrast = Registry["hr_high_contrast"]
+ Igor = Registry["igor"]
+ Lovelace = Registry["lovelace"]
+ Manni = Registry["manni"]
+ ModusOperandi = Registry["modus-operandi"]
+ ModusVivendi = Registry["modus-vivendi"]
+ Monokai = Registry["monokai"]
+ MonokaiLight = Registry["monokailight"]
+ Murphy = Registry["murphy"]
+ Native = Registry["native"]
+ Nord = Registry["nord"]
+ OnesEnterprise = Registry["onesenterprise"]
+ ParaisoDark = Registry["paraiso-dark"]
+ ParaisoLight = Registry["paraiso-light"]
+ Pastie = Registry["pastie"]
+ Perldoc = Registry["perldoc"]
+ Pygments = Registry["pygments"]
+ RainbowDash = Registry["rainbow_dash"]
+ RosePineDawn = Registry["rose-pine-dawn"]
+ RosePineMoon = Registry["rose-pine-moon"]
+ RosePine = Registry["rose-pine"]
+ Rrt = Registry["rrt"]
+ SolarizedDark = Registry["solarized-dark"]
+ SolarizedDark256 = Registry["solarized-dark256"]
+ SolarizedLight = Registry["solarized-light"]
+ SwapOff = Registry["swapoff"]
+ Tango = Registry["tango"]
+ Trac = Registry["trac"]
+ Vim = Registry["vim"]
+ VisualStudio = Registry["vs"]
+ Vulcan = Registry["vulcan"]
+ WitchHazel = Registry["witchhazel"]
+ XcodeDark = Registry["xcode-dark"]
+ Xcode = Registry["xcode"]
+)
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/doom-one.xml b/vendor/github.com/alecthomas/chroma/v2/styles/doom-one.xml
new file mode 100644
index 0000000..1f5127e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/doom-one.xml
@@ -0,0 +1,51 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/doom-one2.xml b/vendor/github.com/alecthomas/chroma/v2/styles/doom-one2.xml
new file mode 100644
index 0000000..f47deba
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/doom-one2.xml
@@ -0,0 +1,64 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/dracula.xml b/vendor/github.com/alecthomas/chroma/v2/styles/dracula.xml
new file mode 100644
index 0000000..9df7da1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/dracula.xml
@@ -0,0 +1,74 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/emacs.xml b/vendor/github.com/alecthomas/chroma/v2/styles/emacs.xml
new file mode 100644
index 0000000..981ce8e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/emacs.xml
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/friendly.xml b/vendor/github.com/alecthomas/chroma/v2/styles/friendly.xml
new file mode 100644
index 0000000..f498010
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/friendly.xml
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/fruity.xml b/vendor/github.com/alecthomas/chroma/v2/styles/fruity.xml
new file mode 100644
index 0000000..bcc06aa
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/fruity.xml
@@ -0,0 +1,19 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml b/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml
new file mode 100644
index 0000000..0adb775
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml
@@ -0,0 +1,45 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/github.xml b/vendor/github.com/alecthomas/chroma/v2/styles/github.xml
new file mode 100644
index 0000000..e7caee7
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/github.xml
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/gruvbox-light.xml b/vendor/github.com/alecthomas/chroma/v2/styles/gruvbox-light.xml
new file mode 100644
index 0000000..8c4f064
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/gruvbox-light.xml
@@ -0,0 +1,33 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/gruvbox.xml b/vendor/github.com/alecthomas/chroma/v2/styles/gruvbox.xml
new file mode 100644
index 0000000..2f6a0a2
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/gruvbox.xml
@@ -0,0 +1,33 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/hr_high_contrast.xml b/vendor/github.com/alecthomas/chroma/v2/styles/hr_high_contrast.xml
new file mode 100644
index 0000000..61cde20
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/hr_high_contrast.xml
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/hrdark.xml b/vendor/github.com/alecthomas/chroma/v2/styles/hrdark.xml
new file mode 100644
index 0000000..bc7a6f3
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/hrdark.xml
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/igor.xml b/vendor/github.com/alecthomas/chroma/v2/styles/igor.xml
new file mode 100644
index 0000000..773c83b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/igor.xml
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/lovelace.xml b/vendor/github.com/alecthomas/chroma/v2/styles/lovelace.xml
new file mode 100644
index 0000000..e336c93
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/lovelace.xml
@@ -0,0 +1,53 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/manni.xml b/vendor/github.com/alecthomas/chroma/v2/styles/manni.xml
new file mode 100644
index 0000000..99324bd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/manni.xml
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/modus-operandi.xml b/vendor/github.com/alecthomas/chroma/v2/styles/modus-operandi.xml
new file mode 100644
index 0000000..023137a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/modus-operandi.xml
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/modus-vivendi.xml b/vendor/github.com/alecthomas/chroma/v2/styles/modus-vivendi.xml
new file mode 100644
index 0000000..8da663d
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/modus-vivendi.xml
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/monokai.xml b/vendor/github.com/alecthomas/chroma/v2/styles/monokai.xml
new file mode 100644
index 0000000..1a789dd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/monokai.xml
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/monokailight.xml b/vendor/github.com/alecthomas/chroma/v2/styles/monokailight.xml
new file mode 100644
index 0000000..85cd23e
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/monokailight.xml
@@ -0,0 +1,26 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/murphy.xml b/vendor/github.com/alecthomas/chroma/v2/styles/murphy.xml
new file mode 100644
index 0000000..112d620
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/murphy.xml
@@ -0,0 +1,52 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/native.xml b/vendor/github.com/alecthomas/chroma/v2/styles/native.xml
new file mode 100644
index 0000000..43eea7f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/native.xml
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/nord.xml b/vendor/github.com/alecthomas/chroma/v2/styles/nord.xml
new file mode 100644
index 0000000..1c1d1ff
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/nord.xml
@@ -0,0 +1,46 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/onedark.xml b/vendor/github.com/alecthomas/chroma/v2/styles/onedark.xml
new file mode 100644
index 0000000..6921eb5
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/onedark.xml
@@ -0,0 +1,25 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/onesenterprise.xml b/vendor/github.com/alecthomas/chroma/v2/styles/onesenterprise.xml
new file mode 100644
index 0000000..ce86db3
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/onesenterprise.xml
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/paraiso-dark.xml b/vendor/github.com/alecthomas/chroma/v2/styles/paraiso-dark.xml
new file mode 100644
index 0000000..788db3f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/paraiso-dark.xml
@@ -0,0 +1,37 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/paraiso-light.xml b/vendor/github.com/alecthomas/chroma/v2/styles/paraiso-light.xml
new file mode 100644
index 0000000..06a63ba
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/paraiso-light.xml
@@ -0,0 +1,37 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/pastie.xml b/vendor/github.com/alecthomas/chroma/v2/styles/pastie.xml
new file mode 100644
index 0000000..a3b0abd
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/pastie.xml
@@ -0,0 +1,45 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/perldoc.xml b/vendor/github.com/alecthomas/chroma/v2/styles/perldoc.xml
new file mode 100644
index 0000000..9e5564c
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/perldoc.xml
@@ -0,0 +1,37 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/pygments.xml b/vendor/github.com/alecthomas/chroma/v2/styles/pygments.xml
new file mode 100644
index 0000000..a3d0d8b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/pygments.xml
@@ -0,0 +1,42 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/rainbow_dash.xml b/vendor/github.com/alecthomas/chroma/v2/styles/rainbow_dash.xml
new file mode 100644
index 0000000..5b0fe49
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/rainbow_dash.xml
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine-dawn.xml b/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine-dawn.xml
new file mode 100644
index 0000000..788bd6f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine-dawn.xml
@@ -0,0 +1,29 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine-moon.xml b/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine-moon.xml
new file mode 100644
index 0000000..f67b804
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine-moon.xml
@@ -0,0 +1,29 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine.xml b/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine.xml
new file mode 100644
index 0000000..3fb70a5
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/rose-pine.xml
@@ -0,0 +1,29 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/rrt.xml b/vendor/github.com/alecthomas/chroma/v2/styles/rrt.xml
new file mode 100644
index 0000000..5f1daaa
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/rrt.xml
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/solarized-dark.xml b/vendor/github.com/alecthomas/chroma/v2/styles/solarized-dark.xml
new file mode 100644
index 0000000..a3cf46f
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/solarized-dark.xml
@@ -0,0 +1,39 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/solarized-dark256.xml b/vendor/github.com/alecthomas/chroma/v2/styles/solarized-dark256.xml
new file mode 100644
index 0000000..977cfbe
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/solarized-dark256.xml
@@ -0,0 +1,41 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/solarized-light.xml b/vendor/github.com/alecthomas/chroma/v2/styles/solarized-light.xml
new file mode 100644
index 0000000..4fbc1d4
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/solarized-light.xml
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/swapoff.xml b/vendor/github.com/alecthomas/chroma/v2/styles/swapoff.xml
new file mode 100644
index 0000000..8a398df
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/swapoff.xml
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/tango.xml b/vendor/github.com/alecthomas/chroma/v2/styles/tango.xml
new file mode 100644
index 0000000..5ca46bb
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/tango.xml
@@ -0,0 +1,72 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/trac.xml b/vendor/github.com/alecthomas/chroma/v2/styles/trac.xml
new file mode 100644
index 0000000..9f1d266
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/trac.xml
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/vim.xml b/vendor/github.com/alecthomas/chroma/v2/styles/vim.xml
new file mode 100644
index 0000000..fec6934
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/vim.xml
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/vs.xml b/vendor/github.com/alecthomas/chroma/v2/styles/vs.xml
new file mode 100644
index 0000000..5643501
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/vs.xml
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/vulcan.xml b/vendor/github.com/alecthomas/chroma/v2/styles/vulcan.xml
new file mode 100644
index 0000000..4e69094
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/vulcan.xml
@@ -0,0 +1,74 @@
+
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/witchhazel.xml b/vendor/github.com/alecthomas/chroma/v2/styles/witchhazel.xml
new file mode 100644
index 0000000..52f2299
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/witchhazel.xml
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/xcode-dark.xml b/vendor/github.com/alecthomas/chroma/v2/styles/xcode-dark.xml
new file mode 100644
index 0000000..9343979
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/xcode-dark.xml
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/xcode.xml b/vendor/github.com/alecthomas/chroma/v2/styles/xcode.xml
new file mode 100644
index 0000000..523d746
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/styles/xcode.xml
@@ -0,0 +1,22 @@
+
\ No newline at end of file
diff --git a/vendor/github.com/alecthomas/chroma/table.py b/vendor/github.com/alecthomas/chroma/v2/table.py
similarity index 89%
rename from vendor/github.com/alecthomas/chroma/table.py
rename to vendor/github.com/alecthomas/chroma/v2/table.py
index 7794539..ea4b755 100644
--- a/vendor/github.com/alecthomas/chroma/table.py
+++ b/vendor/github.com/alecthomas/chroma/v2/table.py
@@ -5,8 +5,7 @@ from subprocess import check_output
README_FILE = "README.md"
-
-lines = check_output(["go", "run", "./cmd/chroma/main.go", "--list"]).decode("utf-8").splitlines()
+lines = check_output(["chroma", "--list"]).decode("utf-8").splitlines()
lines = [line.strip() for line in lines if line.startswith(" ") and not line.startswith(" ")]
lines = sorted(lines, key=lambda l: l.lower())
diff --git a/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go b/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go
new file mode 100644
index 0000000..696e9ce
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go
@@ -0,0 +1,573 @@
+// Code generated by "enumer -text -type TokenType"; DO NOT EDIT.
+
+package chroma
+
+import (
+ "fmt"
+ "strings"
+)
+
+const _TokenTypeName = "NoneOtherErrorCodeLineLineLinkLineTableTDLineTableLineHighlightLineNumbersTableLineNumbersLinePreWrapperBackgroundEOFTypeKeywordKeywordConstantKeywordDeclarationKeywordNamespaceKeywordPseudoKeywordReservedKeywordTypeNameNameAttributeNameBuiltinNameBuiltinPseudoNameClassNameConstantNameDecoratorNameEntityNameExceptionNameFunctionNameFunctionMagicNameKeywordNameLabelNameNamespaceNameOperatorNameOtherNamePseudoNamePropertyNameTagNameVariableNameVariableAnonymousNameVariableClassNameVariableGlobalNameVariableInstanceNameVariableMagicLiteralLiteralDateLiteralOtherLiteralStringLiteralStringAffixLiteralStringAtomLiteralStringBacktickLiteralStringBooleanLiteralStringCharLiteralStringDelimiterLiteralStringDocLiteralStringDoubleLiteralStringEscapeLiteralStringHeredocLiteralStringInterpolLiteralStringNameLiteralStringOtherLiteralStringRegexLiteralStringSingleLiteralStringSymbolLiteralNumberLiteralNumberBinLiteralNumberFloatLiteralNumberHexLiteralNumberIntegerLiteralNumberIntegerLongLiteralNumberOctOperatorOperatorWordPunctuationCommentCommentHashbangCommentMultilineCommentSingleCommentSpecialCommentPreprocCommentPreprocFileGenericGenericDeletedGenericEmphGenericErrorGenericHeadingGenericInsertedGenericOutputGenericPromptGenericStrongGenericSubheadingGenericTracebackGenericUnderlineTextTextWhitespaceTextSymbolTextPunctuation"
+const _TokenTypeLowerName = "noneothererrorcodelinelinelinklinetabletdlinetablelinehighlightlinenumberstablelinenumberslineprewrapperbackgroundeoftypekeywordkeywordconstantkeyworddeclarationkeywordnamespacekeywordpseudokeywordreservedkeywordtypenamenameattributenamebuiltinnamebuiltinpseudonameclassnameconstantnamedecoratornameentitynameexceptionnamefunctionnamefunctionmagicnamekeywordnamelabelnamenamespacenameoperatornameothernamepseudonamepropertynametagnamevariablenamevariableanonymousnamevariableclassnamevariableglobalnamevariableinstancenamevariablemagicliteralliteraldateliteralotherliteralstringliteralstringaffixliteralstringatomliteralstringbacktickliteralstringbooleanliteralstringcharliteralstringdelimiterliteralstringdocliteralstringdoubleliteralstringescapeliteralstringheredocliteralstringinterpolliteralstringnameliteralstringotherliteralstringregexliteralstringsingleliteralstringsymbolliteralnumberliteralnumberbinliteralnumberfloatliteralnumberhexliteralnumberintegerliteralnumberintegerlongliteralnumberoctoperatoroperatorwordpunctuationcommentcommenthashbangcommentmultilinecommentsinglecommentspecialcommentpreproccommentpreprocfilegenericgenericdeletedgenericemphgenericerrorgenericheadinggenericinsertedgenericoutputgenericpromptgenericstronggenericsubheadinggenerictracebackgenericunderlinetexttextwhitespacetextsymboltextpunctuation"
+
+var _TokenTypeMap = map[TokenType]string{
+ -13: _TokenTypeName[0:4],
+ -12: _TokenTypeName[4:9],
+ -11: _TokenTypeName[9:14],
+ -10: _TokenTypeName[14:22],
+ -9: _TokenTypeName[22:30],
+ -8: _TokenTypeName[30:41],
+ -7: _TokenTypeName[41:50],
+ -6: _TokenTypeName[50:63],
+ -5: _TokenTypeName[63:79],
+ -4: _TokenTypeName[79:90],
+ -3: _TokenTypeName[90:94],
+ -2: _TokenTypeName[94:104],
+ -1: _TokenTypeName[104:114],
+ 0: _TokenTypeName[114:121],
+ 1000: _TokenTypeName[121:128],
+ 1001: _TokenTypeName[128:143],
+ 1002: _TokenTypeName[143:161],
+ 1003: _TokenTypeName[161:177],
+ 1004: _TokenTypeName[177:190],
+ 1005: _TokenTypeName[190:205],
+ 1006: _TokenTypeName[205:216],
+ 2000: _TokenTypeName[216:220],
+ 2001: _TokenTypeName[220:233],
+ 2002: _TokenTypeName[233:244],
+ 2003: _TokenTypeName[244:261],
+ 2004: _TokenTypeName[261:270],
+ 2005: _TokenTypeName[270:282],
+ 2006: _TokenTypeName[282:295],
+ 2007: _TokenTypeName[295:305],
+ 2008: _TokenTypeName[305:318],
+ 2009: _TokenTypeName[318:330],
+ 2010: _TokenTypeName[330:347],
+ 2011: _TokenTypeName[347:358],
+ 2012: _TokenTypeName[358:367],
+ 2013: _TokenTypeName[367:380],
+ 2014: _TokenTypeName[380:392],
+ 2015: _TokenTypeName[392:401],
+ 2016: _TokenTypeName[401:411],
+ 2017: _TokenTypeName[411:423],
+ 2018: _TokenTypeName[423:430],
+ 2019: _TokenTypeName[430:442],
+ 2020: _TokenTypeName[442:463],
+ 2021: _TokenTypeName[463:480],
+ 2022: _TokenTypeName[480:498],
+ 2023: _TokenTypeName[498:518],
+ 2024: _TokenTypeName[518:535],
+ 3000: _TokenTypeName[535:542],
+ 3001: _TokenTypeName[542:553],
+ 3002: _TokenTypeName[553:565],
+ 3100: _TokenTypeName[565:578],
+ 3101: _TokenTypeName[578:596],
+ 3102: _TokenTypeName[596:613],
+ 3103: _TokenTypeName[613:634],
+ 3104: _TokenTypeName[634:654],
+ 3105: _TokenTypeName[654:671],
+ 3106: _TokenTypeName[671:693],
+ 3107: _TokenTypeName[693:709],
+ 3108: _TokenTypeName[709:728],
+ 3109: _TokenTypeName[728:747],
+ 3110: _TokenTypeName[747:767],
+ 3111: _TokenTypeName[767:788],
+ 3112: _TokenTypeName[788:805],
+ 3113: _TokenTypeName[805:823],
+ 3114: _TokenTypeName[823:841],
+ 3115: _TokenTypeName[841:860],
+ 3116: _TokenTypeName[860:879],
+ 3200: _TokenTypeName[879:892],
+ 3201: _TokenTypeName[892:908],
+ 3202: _TokenTypeName[908:926],
+ 3203: _TokenTypeName[926:942],
+ 3204: _TokenTypeName[942:962],
+ 3205: _TokenTypeName[962:986],
+ 3206: _TokenTypeName[986:1002],
+ 4000: _TokenTypeName[1002:1010],
+ 4001: _TokenTypeName[1010:1022],
+ 5000: _TokenTypeName[1022:1033],
+ 6000: _TokenTypeName[1033:1040],
+ 6001: _TokenTypeName[1040:1055],
+ 6002: _TokenTypeName[1055:1071],
+ 6003: _TokenTypeName[1071:1084],
+ 6004: _TokenTypeName[1084:1098],
+ 6100: _TokenTypeName[1098:1112],
+ 6101: _TokenTypeName[1112:1130],
+ 7000: _TokenTypeName[1130:1137],
+ 7001: _TokenTypeName[1137:1151],
+ 7002: _TokenTypeName[1151:1162],
+ 7003: _TokenTypeName[1162:1174],
+ 7004: _TokenTypeName[1174:1188],
+ 7005: _TokenTypeName[1188:1203],
+ 7006: _TokenTypeName[1203:1216],
+ 7007: _TokenTypeName[1216:1229],
+ 7008: _TokenTypeName[1229:1242],
+ 7009: _TokenTypeName[1242:1259],
+ 7010: _TokenTypeName[1259:1275],
+ 7011: _TokenTypeName[1275:1291],
+ 8000: _TokenTypeName[1291:1295],
+ 8001: _TokenTypeName[1295:1309],
+ 8002: _TokenTypeName[1309:1319],
+ 8003: _TokenTypeName[1319:1334],
+}
+
+func (i TokenType) String() string {
+ if str, ok := _TokenTypeMap[i]; ok {
+ return str
+ }
+ return fmt.Sprintf("TokenType(%d)", i)
+}
+
+// An "invalid array index" compiler error signifies that the constant values have changed.
+// Re-run the stringer command to generate them again.
+func _TokenTypeNoOp() {
+ var x [1]struct{}
+ _ = x[None-(-13)]
+ _ = x[Other-(-12)]
+ _ = x[Error-(-11)]
+ _ = x[CodeLine-(-10)]
+ _ = x[LineLink-(-9)]
+ _ = x[LineTableTD-(-8)]
+ _ = x[LineTable-(-7)]
+ _ = x[LineHighlight-(-6)]
+ _ = x[LineNumbersTable-(-5)]
+ _ = x[LineNumbers-(-4)]
+ _ = x[Line-(-3)]
+ _ = x[PreWrapper-(-2)]
+ _ = x[Background-(-1)]
+ _ = x[EOFType-(0)]
+ _ = x[Keyword-(1000)]
+ _ = x[KeywordConstant-(1001)]
+ _ = x[KeywordDeclaration-(1002)]
+ _ = x[KeywordNamespace-(1003)]
+ _ = x[KeywordPseudo-(1004)]
+ _ = x[KeywordReserved-(1005)]
+ _ = x[KeywordType-(1006)]
+ _ = x[Name-(2000)]
+ _ = x[NameAttribute-(2001)]
+ _ = x[NameBuiltin-(2002)]
+ _ = x[NameBuiltinPseudo-(2003)]
+ _ = x[NameClass-(2004)]
+ _ = x[NameConstant-(2005)]
+ _ = x[NameDecorator-(2006)]
+ _ = x[NameEntity-(2007)]
+ _ = x[NameException-(2008)]
+ _ = x[NameFunction-(2009)]
+ _ = x[NameFunctionMagic-(2010)]
+ _ = x[NameKeyword-(2011)]
+ _ = x[NameLabel-(2012)]
+ _ = x[NameNamespace-(2013)]
+ _ = x[NameOperator-(2014)]
+ _ = x[NameOther-(2015)]
+ _ = x[NamePseudo-(2016)]
+ _ = x[NameProperty-(2017)]
+ _ = x[NameTag-(2018)]
+ _ = x[NameVariable-(2019)]
+ _ = x[NameVariableAnonymous-(2020)]
+ _ = x[NameVariableClass-(2021)]
+ _ = x[NameVariableGlobal-(2022)]
+ _ = x[NameVariableInstance-(2023)]
+ _ = x[NameVariableMagic-(2024)]
+ _ = x[Literal-(3000)]
+ _ = x[LiteralDate-(3001)]
+ _ = x[LiteralOther-(3002)]
+ _ = x[LiteralString-(3100)]
+ _ = x[LiteralStringAffix-(3101)]
+ _ = x[LiteralStringAtom-(3102)]
+ _ = x[LiteralStringBacktick-(3103)]
+ _ = x[LiteralStringBoolean-(3104)]
+ _ = x[LiteralStringChar-(3105)]
+ _ = x[LiteralStringDelimiter-(3106)]
+ _ = x[LiteralStringDoc-(3107)]
+ _ = x[LiteralStringDouble-(3108)]
+ _ = x[LiteralStringEscape-(3109)]
+ _ = x[LiteralStringHeredoc-(3110)]
+ _ = x[LiteralStringInterpol-(3111)]
+ _ = x[LiteralStringName-(3112)]
+ _ = x[LiteralStringOther-(3113)]
+ _ = x[LiteralStringRegex-(3114)]
+ _ = x[LiteralStringSingle-(3115)]
+ _ = x[LiteralStringSymbol-(3116)]
+ _ = x[LiteralNumber-(3200)]
+ _ = x[LiteralNumberBin-(3201)]
+ _ = x[LiteralNumberFloat-(3202)]
+ _ = x[LiteralNumberHex-(3203)]
+ _ = x[LiteralNumberInteger-(3204)]
+ _ = x[LiteralNumberIntegerLong-(3205)]
+ _ = x[LiteralNumberOct-(3206)]
+ _ = x[Operator-(4000)]
+ _ = x[OperatorWord-(4001)]
+ _ = x[Punctuation-(5000)]
+ _ = x[Comment-(6000)]
+ _ = x[CommentHashbang-(6001)]
+ _ = x[CommentMultiline-(6002)]
+ _ = x[CommentSingle-(6003)]
+ _ = x[CommentSpecial-(6004)]
+ _ = x[CommentPreproc-(6100)]
+ _ = x[CommentPreprocFile-(6101)]
+ _ = x[Generic-(7000)]
+ _ = x[GenericDeleted-(7001)]
+ _ = x[GenericEmph-(7002)]
+ _ = x[GenericError-(7003)]
+ _ = x[GenericHeading-(7004)]
+ _ = x[GenericInserted-(7005)]
+ _ = x[GenericOutput-(7006)]
+ _ = x[GenericPrompt-(7007)]
+ _ = x[GenericStrong-(7008)]
+ _ = x[GenericSubheading-(7009)]
+ _ = x[GenericTraceback-(7010)]
+ _ = x[GenericUnderline-(7011)]
+ _ = x[Text-(8000)]
+ _ = x[TextWhitespace-(8001)]
+ _ = x[TextSymbol-(8002)]
+ _ = x[TextPunctuation-(8003)]
+}
+
+var _TokenTypeValues = []TokenType{None, Other, Error, CodeLine, LineLink, LineTableTD, LineTable, LineHighlight, LineNumbersTable, LineNumbers, Line, PreWrapper, Background, EOFType, Keyword, KeywordConstant, KeywordDeclaration, KeywordNamespace, KeywordPseudo, KeywordReserved, KeywordType, Name, NameAttribute, NameBuiltin, NameBuiltinPseudo, NameClass, NameConstant, NameDecorator, NameEntity, NameException, NameFunction, NameFunctionMagic, NameKeyword, NameLabel, NameNamespace, NameOperator, NameOther, NamePseudo, NameProperty, NameTag, NameVariable, NameVariableAnonymous, NameVariableClass, NameVariableGlobal, NameVariableInstance, NameVariableMagic, Literal, LiteralDate, LiteralOther, LiteralString, LiteralStringAffix, LiteralStringAtom, LiteralStringBacktick, LiteralStringBoolean, LiteralStringChar, LiteralStringDelimiter, LiteralStringDoc, LiteralStringDouble, LiteralStringEscape, LiteralStringHeredoc, LiteralStringInterpol, LiteralStringName, LiteralStringOther, LiteralStringRegex, LiteralStringSingle, LiteralStringSymbol, LiteralNumber, LiteralNumberBin, LiteralNumberFloat, LiteralNumberHex, LiteralNumberInteger, LiteralNumberIntegerLong, LiteralNumberOct, Operator, OperatorWord, Punctuation, Comment, CommentHashbang, CommentMultiline, CommentSingle, CommentSpecial, CommentPreproc, CommentPreprocFile, Generic, GenericDeleted, GenericEmph, GenericError, GenericHeading, GenericInserted, GenericOutput, GenericPrompt, GenericStrong, GenericSubheading, GenericTraceback, GenericUnderline, Text, TextWhitespace, TextSymbol, TextPunctuation}
+
+var _TokenTypeNameToValueMap = map[string]TokenType{
+ _TokenTypeName[0:4]: None,
+ _TokenTypeLowerName[0:4]: None,
+ _TokenTypeName[4:9]: Other,
+ _TokenTypeLowerName[4:9]: Other,
+ _TokenTypeName[9:14]: Error,
+ _TokenTypeLowerName[9:14]: Error,
+ _TokenTypeName[14:22]: CodeLine,
+ _TokenTypeLowerName[14:22]: CodeLine,
+ _TokenTypeName[22:30]: LineLink,
+ _TokenTypeLowerName[22:30]: LineLink,
+ _TokenTypeName[30:41]: LineTableTD,
+ _TokenTypeLowerName[30:41]: LineTableTD,
+ _TokenTypeName[41:50]: LineTable,
+ _TokenTypeLowerName[41:50]: LineTable,
+ _TokenTypeName[50:63]: LineHighlight,
+ _TokenTypeLowerName[50:63]: LineHighlight,
+ _TokenTypeName[63:79]: LineNumbersTable,
+ _TokenTypeLowerName[63:79]: LineNumbersTable,
+ _TokenTypeName[79:90]: LineNumbers,
+ _TokenTypeLowerName[79:90]: LineNumbers,
+ _TokenTypeName[90:94]: Line,
+ _TokenTypeLowerName[90:94]: Line,
+ _TokenTypeName[94:104]: PreWrapper,
+ _TokenTypeLowerName[94:104]: PreWrapper,
+ _TokenTypeName[104:114]: Background,
+ _TokenTypeLowerName[104:114]: Background,
+ _TokenTypeName[114:121]: EOFType,
+ _TokenTypeLowerName[114:121]: EOFType,
+ _TokenTypeName[121:128]: Keyword,
+ _TokenTypeLowerName[121:128]: Keyword,
+ _TokenTypeName[128:143]: KeywordConstant,
+ _TokenTypeLowerName[128:143]: KeywordConstant,
+ _TokenTypeName[143:161]: KeywordDeclaration,
+ _TokenTypeLowerName[143:161]: KeywordDeclaration,
+ _TokenTypeName[161:177]: KeywordNamespace,
+ _TokenTypeLowerName[161:177]: KeywordNamespace,
+ _TokenTypeName[177:190]: KeywordPseudo,
+ _TokenTypeLowerName[177:190]: KeywordPseudo,
+ _TokenTypeName[190:205]: KeywordReserved,
+ _TokenTypeLowerName[190:205]: KeywordReserved,
+ _TokenTypeName[205:216]: KeywordType,
+ _TokenTypeLowerName[205:216]: KeywordType,
+ _TokenTypeName[216:220]: Name,
+ _TokenTypeLowerName[216:220]: Name,
+ _TokenTypeName[220:233]: NameAttribute,
+ _TokenTypeLowerName[220:233]: NameAttribute,
+ _TokenTypeName[233:244]: NameBuiltin,
+ _TokenTypeLowerName[233:244]: NameBuiltin,
+ _TokenTypeName[244:261]: NameBuiltinPseudo,
+ _TokenTypeLowerName[244:261]: NameBuiltinPseudo,
+ _TokenTypeName[261:270]: NameClass,
+ _TokenTypeLowerName[261:270]: NameClass,
+ _TokenTypeName[270:282]: NameConstant,
+ _TokenTypeLowerName[270:282]: NameConstant,
+ _TokenTypeName[282:295]: NameDecorator,
+ _TokenTypeLowerName[282:295]: NameDecorator,
+ _TokenTypeName[295:305]: NameEntity,
+ _TokenTypeLowerName[295:305]: NameEntity,
+ _TokenTypeName[305:318]: NameException,
+ _TokenTypeLowerName[305:318]: NameException,
+ _TokenTypeName[318:330]: NameFunction,
+ _TokenTypeLowerName[318:330]: NameFunction,
+ _TokenTypeName[330:347]: NameFunctionMagic,
+ _TokenTypeLowerName[330:347]: NameFunctionMagic,
+ _TokenTypeName[347:358]: NameKeyword,
+ _TokenTypeLowerName[347:358]: NameKeyword,
+ _TokenTypeName[358:367]: NameLabel,
+ _TokenTypeLowerName[358:367]: NameLabel,
+ _TokenTypeName[367:380]: NameNamespace,
+ _TokenTypeLowerName[367:380]: NameNamespace,
+ _TokenTypeName[380:392]: NameOperator,
+ _TokenTypeLowerName[380:392]: NameOperator,
+ _TokenTypeName[392:401]: NameOther,
+ _TokenTypeLowerName[392:401]: NameOther,
+ _TokenTypeName[401:411]: NamePseudo,
+ _TokenTypeLowerName[401:411]: NamePseudo,
+ _TokenTypeName[411:423]: NameProperty,
+ _TokenTypeLowerName[411:423]: NameProperty,
+ _TokenTypeName[423:430]: NameTag,
+ _TokenTypeLowerName[423:430]: NameTag,
+ _TokenTypeName[430:442]: NameVariable,
+ _TokenTypeLowerName[430:442]: NameVariable,
+ _TokenTypeName[442:463]: NameVariableAnonymous,
+ _TokenTypeLowerName[442:463]: NameVariableAnonymous,
+ _TokenTypeName[463:480]: NameVariableClass,
+ _TokenTypeLowerName[463:480]: NameVariableClass,
+ _TokenTypeName[480:498]: NameVariableGlobal,
+ _TokenTypeLowerName[480:498]: NameVariableGlobal,
+ _TokenTypeName[498:518]: NameVariableInstance,
+ _TokenTypeLowerName[498:518]: NameVariableInstance,
+ _TokenTypeName[518:535]: NameVariableMagic,
+ _TokenTypeLowerName[518:535]: NameVariableMagic,
+ _TokenTypeName[535:542]: Literal,
+ _TokenTypeLowerName[535:542]: Literal,
+ _TokenTypeName[542:553]: LiteralDate,
+ _TokenTypeLowerName[542:553]: LiteralDate,
+ _TokenTypeName[553:565]: LiteralOther,
+ _TokenTypeLowerName[553:565]: LiteralOther,
+ _TokenTypeName[565:578]: LiteralString,
+ _TokenTypeLowerName[565:578]: LiteralString,
+ _TokenTypeName[578:596]: LiteralStringAffix,
+ _TokenTypeLowerName[578:596]: LiteralStringAffix,
+ _TokenTypeName[596:613]: LiteralStringAtom,
+ _TokenTypeLowerName[596:613]: LiteralStringAtom,
+ _TokenTypeName[613:634]: LiteralStringBacktick,
+ _TokenTypeLowerName[613:634]: LiteralStringBacktick,
+ _TokenTypeName[634:654]: LiteralStringBoolean,
+ _TokenTypeLowerName[634:654]: LiteralStringBoolean,
+ _TokenTypeName[654:671]: LiteralStringChar,
+ _TokenTypeLowerName[654:671]: LiteralStringChar,
+ _TokenTypeName[671:693]: LiteralStringDelimiter,
+ _TokenTypeLowerName[671:693]: LiteralStringDelimiter,
+ _TokenTypeName[693:709]: LiteralStringDoc,
+ _TokenTypeLowerName[693:709]: LiteralStringDoc,
+ _TokenTypeName[709:728]: LiteralStringDouble,
+ _TokenTypeLowerName[709:728]: LiteralStringDouble,
+ _TokenTypeName[728:747]: LiteralStringEscape,
+ _TokenTypeLowerName[728:747]: LiteralStringEscape,
+ _TokenTypeName[747:767]: LiteralStringHeredoc,
+ _TokenTypeLowerName[747:767]: LiteralStringHeredoc,
+ _TokenTypeName[767:788]: LiteralStringInterpol,
+ _TokenTypeLowerName[767:788]: LiteralStringInterpol,
+ _TokenTypeName[788:805]: LiteralStringName,
+ _TokenTypeLowerName[788:805]: LiteralStringName,
+ _TokenTypeName[805:823]: LiteralStringOther,
+ _TokenTypeLowerName[805:823]: LiteralStringOther,
+ _TokenTypeName[823:841]: LiteralStringRegex,
+ _TokenTypeLowerName[823:841]: LiteralStringRegex,
+ _TokenTypeName[841:860]: LiteralStringSingle,
+ _TokenTypeLowerName[841:860]: LiteralStringSingle,
+ _TokenTypeName[860:879]: LiteralStringSymbol,
+ _TokenTypeLowerName[860:879]: LiteralStringSymbol,
+ _TokenTypeName[879:892]: LiteralNumber,
+ _TokenTypeLowerName[879:892]: LiteralNumber,
+ _TokenTypeName[892:908]: LiteralNumberBin,
+ _TokenTypeLowerName[892:908]: LiteralNumberBin,
+ _TokenTypeName[908:926]: LiteralNumberFloat,
+ _TokenTypeLowerName[908:926]: LiteralNumberFloat,
+ _TokenTypeName[926:942]: LiteralNumberHex,
+ _TokenTypeLowerName[926:942]: LiteralNumberHex,
+ _TokenTypeName[942:962]: LiteralNumberInteger,
+ _TokenTypeLowerName[942:962]: LiteralNumberInteger,
+ _TokenTypeName[962:986]: LiteralNumberIntegerLong,
+ _TokenTypeLowerName[962:986]: LiteralNumberIntegerLong,
+ _TokenTypeName[986:1002]: LiteralNumberOct,
+ _TokenTypeLowerName[986:1002]: LiteralNumberOct,
+ _TokenTypeName[1002:1010]: Operator,
+ _TokenTypeLowerName[1002:1010]: Operator,
+ _TokenTypeName[1010:1022]: OperatorWord,
+ _TokenTypeLowerName[1010:1022]: OperatorWord,
+ _TokenTypeName[1022:1033]: Punctuation,
+ _TokenTypeLowerName[1022:1033]: Punctuation,
+ _TokenTypeName[1033:1040]: Comment,
+ _TokenTypeLowerName[1033:1040]: Comment,
+ _TokenTypeName[1040:1055]: CommentHashbang,
+ _TokenTypeLowerName[1040:1055]: CommentHashbang,
+ _TokenTypeName[1055:1071]: CommentMultiline,
+ _TokenTypeLowerName[1055:1071]: CommentMultiline,
+ _TokenTypeName[1071:1084]: CommentSingle,
+ _TokenTypeLowerName[1071:1084]: CommentSingle,
+ _TokenTypeName[1084:1098]: CommentSpecial,
+ _TokenTypeLowerName[1084:1098]: CommentSpecial,
+ _TokenTypeName[1098:1112]: CommentPreproc,
+ _TokenTypeLowerName[1098:1112]: CommentPreproc,
+ _TokenTypeName[1112:1130]: CommentPreprocFile,
+ _TokenTypeLowerName[1112:1130]: CommentPreprocFile,
+ _TokenTypeName[1130:1137]: Generic,
+ _TokenTypeLowerName[1130:1137]: Generic,
+ _TokenTypeName[1137:1151]: GenericDeleted,
+ _TokenTypeLowerName[1137:1151]: GenericDeleted,
+ _TokenTypeName[1151:1162]: GenericEmph,
+ _TokenTypeLowerName[1151:1162]: GenericEmph,
+ _TokenTypeName[1162:1174]: GenericError,
+ _TokenTypeLowerName[1162:1174]: GenericError,
+ _TokenTypeName[1174:1188]: GenericHeading,
+ _TokenTypeLowerName[1174:1188]: GenericHeading,
+ _TokenTypeName[1188:1203]: GenericInserted,
+ _TokenTypeLowerName[1188:1203]: GenericInserted,
+ _TokenTypeName[1203:1216]: GenericOutput,
+ _TokenTypeLowerName[1203:1216]: GenericOutput,
+ _TokenTypeName[1216:1229]: GenericPrompt,
+ _TokenTypeLowerName[1216:1229]: GenericPrompt,
+ _TokenTypeName[1229:1242]: GenericStrong,
+ _TokenTypeLowerName[1229:1242]: GenericStrong,
+ _TokenTypeName[1242:1259]: GenericSubheading,
+ _TokenTypeLowerName[1242:1259]: GenericSubheading,
+ _TokenTypeName[1259:1275]: GenericTraceback,
+ _TokenTypeLowerName[1259:1275]: GenericTraceback,
+ _TokenTypeName[1275:1291]: GenericUnderline,
+ _TokenTypeLowerName[1275:1291]: GenericUnderline,
+ _TokenTypeName[1291:1295]: Text,
+ _TokenTypeLowerName[1291:1295]: Text,
+ _TokenTypeName[1295:1309]: TextWhitespace,
+ _TokenTypeLowerName[1295:1309]: TextWhitespace,
+ _TokenTypeName[1309:1319]: TextSymbol,
+ _TokenTypeLowerName[1309:1319]: TextSymbol,
+ _TokenTypeName[1319:1334]: TextPunctuation,
+ _TokenTypeLowerName[1319:1334]: TextPunctuation,
+}
+
+var _TokenTypeNames = []string{
+ _TokenTypeName[0:4],
+ _TokenTypeName[4:9],
+ _TokenTypeName[9:14],
+ _TokenTypeName[14:22],
+ _TokenTypeName[22:30],
+ _TokenTypeName[30:41],
+ _TokenTypeName[41:50],
+ _TokenTypeName[50:63],
+ _TokenTypeName[63:79],
+ _TokenTypeName[79:90],
+ _TokenTypeName[90:94],
+ _TokenTypeName[94:104],
+ _TokenTypeName[104:114],
+ _TokenTypeName[114:121],
+ _TokenTypeName[121:128],
+ _TokenTypeName[128:143],
+ _TokenTypeName[143:161],
+ _TokenTypeName[161:177],
+ _TokenTypeName[177:190],
+ _TokenTypeName[190:205],
+ _TokenTypeName[205:216],
+ _TokenTypeName[216:220],
+ _TokenTypeName[220:233],
+ _TokenTypeName[233:244],
+ _TokenTypeName[244:261],
+ _TokenTypeName[261:270],
+ _TokenTypeName[270:282],
+ _TokenTypeName[282:295],
+ _TokenTypeName[295:305],
+ _TokenTypeName[305:318],
+ _TokenTypeName[318:330],
+ _TokenTypeName[330:347],
+ _TokenTypeName[347:358],
+ _TokenTypeName[358:367],
+ _TokenTypeName[367:380],
+ _TokenTypeName[380:392],
+ _TokenTypeName[392:401],
+ _TokenTypeName[401:411],
+ _TokenTypeName[411:423],
+ _TokenTypeName[423:430],
+ _TokenTypeName[430:442],
+ _TokenTypeName[442:463],
+ _TokenTypeName[463:480],
+ _TokenTypeName[480:498],
+ _TokenTypeName[498:518],
+ _TokenTypeName[518:535],
+ _TokenTypeName[535:542],
+ _TokenTypeName[542:553],
+ _TokenTypeName[553:565],
+ _TokenTypeName[565:578],
+ _TokenTypeName[578:596],
+ _TokenTypeName[596:613],
+ _TokenTypeName[613:634],
+ _TokenTypeName[634:654],
+ _TokenTypeName[654:671],
+ _TokenTypeName[671:693],
+ _TokenTypeName[693:709],
+ _TokenTypeName[709:728],
+ _TokenTypeName[728:747],
+ _TokenTypeName[747:767],
+ _TokenTypeName[767:788],
+ _TokenTypeName[788:805],
+ _TokenTypeName[805:823],
+ _TokenTypeName[823:841],
+ _TokenTypeName[841:860],
+ _TokenTypeName[860:879],
+ _TokenTypeName[879:892],
+ _TokenTypeName[892:908],
+ _TokenTypeName[908:926],
+ _TokenTypeName[926:942],
+ _TokenTypeName[942:962],
+ _TokenTypeName[962:986],
+ _TokenTypeName[986:1002],
+ _TokenTypeName[1002:1010],
+ _TokenTypeName[1010:1022],
+ _TokenTypeName[1022:1033],
+ _TokenTypeName[1033:1040],
+ _TokenTypeName[1040:1055],
+ _TokenTypeName[1055:1071],
+ _TokenTypeName[1071:1084],
+ _TokenTypeName[1084:1098],
+ _TokenTypeName[1098:1112],
+ _TokenTypeName[1112:1130],
+ _TokenTypeName[1130:1137],
+ _TokenTypeName[1137:1151],
+ _TokenTypeName[1151:1162],
+ _TokenTypeName[1162:1174],
+ _TokenTypeName[1174:1188],
+ _TokenTypeName[1188:1203],
+ _TokenTypeName[1203:1216],
+ _TokenTypeName[1216:1229],
+ _TokenTypeName[1229:1242],
+ _TokenTypeName[1242:1259],
+ _TokenTypeName[1259:1275],
+ _TokenTypeName[1275:1291],
+ _TokenTypeName[1291:1295],
+ _TokenTypeName[1295:1309],
+ _TokenTypeName[1309:1319],
+ _TokenTypeName[1319:1334],
+}
+
+// TokenTypeString retrieves an enum value from the enum constants string name.
+// Throws an error if the param is not part of the enum.
+func TokenTypeString(s string) (TokenType, error) {
+ if val, ok := _TokenTypeNameToValueMap[s]; ok {
+ return val, nil
+ }
+
+ if val, ok := _TokenTypeNameToValueMap[strings.ToLower(s)]; ok {
+ return val, nil
+ }
+ return 0, fmt.Errorf("%s does not belong to TokenType values", s)
+}
+
+// TokenTypeValues returns all values of the enum
+func TokenTypeValues() []TokenType {
+ return _TokenTypeValues
+}
+
+// TokenTypeStrings returns a slice of all String values of the enum
+func TokenTypeStrings() []string {
+ strs := make([]string, len(_TokenTypeNames))
+ copy(strs, _TokenTypeNames)
+ return strs
+}
+
+// IsATokenType returns "true" if the value is listed in the enum definition. "false" otherwise
+func (i TokenType) IsATokenType() bool {
+ _, ok := _TokenTypeMap[i]
+ return ok
+}
+
+// MarshalText implements the encoding.TextMarshaler interface for TokenType
+func (i TokenType) MarshalText() ([]byte, error) {
+ return []byte(i.String()), nil
+}
+
+// UnmarshalText implements the encoding.TextUnmarshaler interface for TokenType
+func (i *TokenType) UnmarshalText(text []byte) error {
+ var err error
+ *i, err = TokenTypeString(string(text))
+ return err
+}
diff --git a/vendor/github.com/alecthomas/chroma/types.go b/vendor/github.com/alecthomas/chroma/v2/types.go
similarity index 94%
rename from vendor/github.com/alecthomas/chroma/types.go
rename to vendor/github.com/alecthomas/chroma/v2/types.go
index 3f15be8..3d12310 100644
--- a/vendor/github.com/alecthomas/chroma/types.go
+++ b/vendor/github.com/alecthomas/chroma/v2/types.go
@@ -1,33 +1,12 @@
package chroma
-import (
- "encoding/json"
- "fmt"
-)
-
-//go:generate stringer -type TokenType
+//go:generate enumer -text -type TokenType
// TokenType is the type of token to highlight.
//
// It is also an Emitter, emitting a single token of itself
type TokenType int
-func (t TokenType) MarshalJSON() ([]byte, error) { return json.Marshal(t.String()) }
-func (t *TokenType) UnmarshalJSON(data []byte) error {
- key := ""
- err := json.Unmarshal(data, &key)
- if err != nil {
- return err
- }
- for tt, text := range _TokenType_map {
- if text == key {
- *t = tt
- return nil
- }
- }
- return fmt.Errorf("unknown TokenType %q", data)
-}
-
// Set of TokenTypes.
//
// Categories of types are grouped in ranges of 1000, while sub-categories are in ranges of 100. For
@@ -52,6 +31,8 @@ const (
LineTable
// Line numbers table TD wrapper style.
LineTableTD
+ // Line number links.
+ LineLink
// Code line wrapper style.
CodeLine
// Input that could not be tokenised.
@@ -233,6 +214,7 @@ var (
LineHighlight: "hl",
LineTable: "lntable",
LineTableTD: "lntd",
+ LineLink: "lnlinks",
CodeLine: "cl",
Text: "",
Whitespace: "w",
@@ -354,3 +336,5 @@ func (t TokenType) InSubCategory(other TokenType) bool {
func (t TokenType) Emit(groups []string, _ *LexerState) Iterator {
return Literator(Token{Type: t, Value: groups[0]})
}
+
+func (t TokenType) EmitterKind() string { return "token" }
diff --git a/vendor/github.com/dlclark/regexp2/README.md b/vendor/github.com/dlclark/regexp2/README.md
index 2caa94f..f3d1bd9 100644
--- a/vendor/github.com/dlclark/regexp2/README.md
+++ b/vendor/github.com/dlclark/regexp2/README.md
@@ -113,22 +113,44 @@ deadline for the match. The performance impact is as follows.
is reached. E.g., if you set a timeout of one minute the load will persist
for approximately a minute even if the match finishes quickly.
-Some alternative implementations were considered and ruled out.
+See [PR #58](https://github.com/dlclark/regexp2/pull/58) for more details and
+alternatives considered.
-1. **time.Now()** - This was the initial timeout implementation. It called `time.Now()`
- and compared the result to the deadline approximately once every 1000 matching steps.
- Adding a timeout to a simple match increased the cost from ~45ns to ~3000ns).
-2. **time.AfterFunc** - This approach entails using `time.AfterFunc` to set an `expired`
- atomic boolean value. However it increases the cost of handling a simple match
- with a timeout from ~45ns to ~360ns and was therefore ruled out.
-3. **counter** - In this approach an atomic variable tracks the number of live matches
- with timeouts. The background clock stops when the counter hits zero. The benefit
- of this approach is that the background load will stop more quickly (after the
- last match has finished as opposed to waiting until the deadline for the last
- match). However this approach requires more atomic variable updates and has poorer
- performance when multiple matches are executed concurrently. (The cost of a
- single match jumps from ~45ns to ~65ns, and the cost of running matches on
- all 12 available CPUs jumps from ~400ns to ~730ns).
+## Goroutine leak error
+If you're using a library during unit tests (e.g. https://github.com/uber-go/goleak) that validates all goroutines are exited then you'll likely get an error if you or any of your dependencies use regex's with a MatchTimeout.
+To remedy the problem you'll need to tell the unit test to wait until the backgroup timeout goroutine is exited.
+
+```go
+func TestSomething(t *testing.T) {
+ defer goleak.VerifyNone(t)
+ defer regexp2.StopTimeoutClock()
+
+ // ... test
+}
+
+//or
+
+func TestMain(m *testing.M) {
+ // setup
+ // ...
+
+ // run
+ m.Run()
+
+ //tear down
+ regexp2.StopTimeoutClock()
+ goleak.VerifyNone(t)
+}
+```
+
+This will add ~100ms runtime to each test (or TestMain). If that's too much time you can set the clock cycle rate of the timeout goroutine in an init function in a test file. `regexp2.SetTimeoutCheckPeriod` isn't threadsafe so it must be setup before starting any regex's with Timeouts.
+
+```go
+func init() {
+ //speed up testing by making the timeout clock 1ms
+ regexp2.SetTimeoutCheckPeriod(time.Millisecond)
+}
+```
## ECMAScript compatibility mode
In this mode the engine provides compatibility with the [regex engine](https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects) described in the ECMAScript specification.
diff --git a/vendor/github.com/dlclark/regexp2/fastclock.go b/vendor/github.com/dlclark/regexp2/fastclock.go
index 4227eda..caf2c9d 100644
--- a/vendor/github.com/dlclark/regexp2/fastclock.go
+++ b/vendor/github.com/dlclark/regexp2/fastclock.go
@@ -22,14 +22,17 @@ type fasttime int64
// extra time). This ensures that if regexp2 with timeouts
// stops being used we will stop background work.
type fastclock struct {
- // current and clockEnd can be read via atomic loads.
- // Reads and writes of other fields require mu to be held.
- mu sync.Mutex
+ // instances of atomicTime must be at the start of the struct (or at least 64-bit aligned)
+ // otherwise 32-bit architectures will panic
- start time.Time // Time corresponding to fasttime(0)
current atomicTime // Current time (approximate)
clockEnd atomicTime // When clock updater is supposed to stop (>= any existing deadline)
- running bool // Is a clock updater running?
+
+ // current and clockEnd can be read via atomic loads.
+ // Reads and writes of other fields require mu to be held.
+ mu sync.Mutex
+ start time.Time // Time corresponding to fasttime(0)
+ running bool // Is a clock updater running?
}
var fast fastclock
@@ -73,14 +76,36 @@ func extendClock(end fasttime) {
}
}
+// stop the timeout clock in the background
+// should only used for unit tests to abandon the background goroutine
+func stopClock() {
+ fast.mu.Lock()
+ if fast.running {
+ fast.clockEnd.write(fasttime(0))
+ }
+ fast.mu.Unlock()
+
+ // pause until not running
+ // get and release the lock
+ isRunning := true
+ for isRunning {
+ time.Sleep(clockPeriod / 2)
+ fast.mu.Lock()
+ isRunning = fast.running
+ fast.mu.Unlock()
+ }
+}
+
func durationToTicks(d time.Duration) fasttime {
// Downscale nanoseconds to approximately a millisecond so that we can avoid
// overflow even if the caller passes in math.MaxInt64.
return fasttime(d) >> 20
}
+const DefaultClockPeriod = 100 * time.Millisecond
+
// clockPeriod is the approximate interval between updates of approximateClock.
-const clockPeriod = 100 * time.Millisecond
+var clockPeriod = DefaultClockPeriod
func runClock() {
fast.mu.Lock()
diff --git a/vendor/github.com/dlclark/regexp2/regexp.go b/vendor/github.com/dlclark/regexp2/regexp.go
index 9d41c76..c8f9e6b 100644
--- a/vendor/github.com/dlclark/regexp2/regexp.go
+++ b/vendor/github.com/dlclark/regexp2/regexp.go
@@ -96,6 +96,19 @@ func Unescape(input string) (string, error) {
return syntax.Unescape(input)
}
+// SetTimeoutPeriod is a debug function that sets the frequency of the timeout goroutine's sleep cycle.
+// Defaults to 100ms. The only benefit of setting this lower is that the 1 background goroutine that manages
+// timeouts may exit slightly sooner after all the timeouts have expired. See Github issue #63
+func SetTimeoutCheckPeriod(d time.Duration) {
+ clockPeriod = d
+}
+
+// StopTimeoutClock should only be used in unit tests to prevent the timeout clock goroutine
+// from appearing like a leaking goroutine
+func StopTimeoutClock() {
+ stopClock()
+}
+
// String returns the source text used to compile the regular expression.
func (re *Regexp) String() string {
return re.pattern
diff --git a/vendor/github.com/dlclark/regexp2/syntax/parser.go b/vendor/github.com/dlclark/regexp2/syntax/parser.go
index 9dc6e31..b6c3670 100644
--- a/vendor/github.com/dlclark/regexp2/syntax/parser.go
+++ b/vendor/github.com/dlclark/regexp2/syntax/parser.go
@@ -1311,6 +1311,17 @@ func (p *parser) scanBasicBackslash(scanOnly bool) (*regexNode, error) {
// Scans X for \p{X} or \P{X}
func (p *parser) parseProperty() (string, error) {
+ // RE2 and PCRE supports \pX syntax (no {} and only 1 letter unicode cats supported)
+ // since this is purely additive syntax it's not behind a flag
+ if p.charsRight() >= 1 && p.rightChar(0) != '{' {
+ ch := string(p.moveRightGetChar())
+ // check if it's a valid cat
+ if !isValidUnicodeCat(ch) {
+ return "", p.getErr(ErrUnknownSlashP, ch)
+ }
+ return ch, nil
+ }
+
if p.charsRight() < 3 {
return "", p.getErr(ErrIncompleteSlashP)
}
@@ -1427,7 +1438,7 @@ func (p *parser) scanCapname() string {
return string(p.pattern[startpos:p.textpos()])
}
-//Scans contents of [] (not including []'s), and converts to a set.
+// Scans contents of [] (not including []'s), and converts to a set.
func (p *parser) scanCharSet(caseInsensitive, scanOnly bool) (*CharSet, error) {
ch := '\x00'
chPrev := '\x00'
diff --git a/vendor/modules.txt b/vendor/modules.txt
index c8c5ed0..2df7964 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,37 +1,10 @@
-# github.com/alecthomas/chroma v0.10.0
-## explicit; go 1.13
-github.com/alecthomas/chroma
-github.com/alecthomas/chroma/formatters/html
-github.com/alecthomas/chroma/lexers
-github.com/alecthomas/chroma/lexers/a
-github.com/alecthomas/chroma/lexers/b
-github.com/alecthomas/chroma/lexers/c
-github.com/alecthomas/chroma/lexers/circular
-github.com/alecthomas/chroma/lexers/d
-github.com/alecthomas/chroma/lexers/e
-github.com/alecthomas/chroma/lexers/f
-github.com/alecthomas/chroma/lexers/g
-github.com/alecthomas/chroma/lexers/h
-github.com/alecthomas/chroma/lexers/i
-github.com/alecthomas/chroma/lexers/internal
-github.com/alecthomas/chroma/lexers/j
-github.com/alecthomas/chroma/lexers/k
-github.com/alecthomas/chroma/lexers/l
-github.com/alecthomas/chroma/lexers/m
-github.com/alecthomas/chroma/lexers/n
-github.com/alecthomas/chroma/lexers/o
-github.com/alecthomas/chroma/lexers/p
-github.com/alecthomas/chroma/lexers/q
-github.com/alecthomas/chroma/lexers/r
-github.com/alecthomas/chroma/lexers/s
-github.com/alecthomas/chroma/lexers/t
-github.com/alecthomas/chroma/lexers/v
-github.com/alecthomas/chroma/lexers/w
-github.com/alecthomas/chroma/lexers/x
-github.com/alecthomas/chroma/lexers/y
-github.com/alecthomas/chroma/lexers/z
-github.com/alecthomas/chroma/styles
-# github.com/dlclark/regexp2 v1.8.0
+# github.com/alecthomas/chroma/v2 v2.11.1
+## explicit; go 1.19
+github.com/alecthomas/chroma/v2
+github.com/alecthomas/chroma/v2/formatters/html
+github.com/alecthomas/chroma/v2/lexers
+github.com/alecthomas/chroma/v2/styles
+# github.com/dlclark/regexp2 v1.10.0
## explicit; go 1.13
github.com/dlclark/regexp2
github.com/dlclark/regexp2/syntax