diff options
| author | Felix Hanley <felix@userspace.com.au> | 2025-01-20 04:25:05 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2025-01-20 04:25:05 +0000 |
| commit | f82adc0030a993ff25cbf70cf81d75900f455e6a (patch) | |
| tree | 74bd8e701161262fb34d415aebfef064dbb842d6 /vendor/github.com/alecthomas | |
| parent | 260b74748ab6e0a10d73cd97061996bd4cc70481 (diff) | |
| download | caddy-f82adc0030a993ff25cbf70cf81d75900f455e6a.tar.gz caddy-f82adc0030a993ff25cbf70cf81d75900f455e6a.tar.bz2 | |
Upgrade caddy to 2.9.1
Diffstat (limited to 'vendor/github.com/alecthomas')
72 files changed, 4091 insertions, 890 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/.editorconfig b/vendor/github.com/alecthomas/chroma/v2/.editorconfig index d80374e..cfb2c66 100644 --- a/vendor/github.com/alecthomas/chroma/v2/.editorconfig +++ b/vendor/github.com/alecthomas/chroma/v2/.editorconfig @@ -11,3 +11,7 @@ insert_final_newline = true indent_style = space indent_size = 2 insert_final_newline = false + +[*.yml] +indent_style = space +indent_size = 2 diff --git a/vendor/github.com/alecthomas/chroma/v2/.golangci.yml b/vendor/github.com/alecthomas/chroma/v2/.golangci.yml index 120ea71..7e98a22 100644 --- a/vendor/github.com/alecthomas/chroma/v2/.golangci.yml +++ b/vendor/github.com/alecthomas/chroma/v2/.golangci.yml @@ -49,6 +49,11 @@ linters: - nosnakecase - testableexamples - musttag + - depguard + - goconst + - perfsprint + - mnd + - predeclared linters-settings: govet: diff --git a/vendor/github.com/alecthomas/chroma/v2/README.md b/vendor/github.com/alecthomas/chroma/v2/README.md index cc504eb..735b556 100644 --- a/vendor/github.com/alecthomas/chroma/v2/README.md +++ b/vendor/github.com/alecthomas/chroma/v2/README.md @@ -8,75 +8,72 @@ highlighted HTML, ANSI-coloured text, etc. Chroma is based heavily on [Pygments](http://pygments.org/), and includes translators for Pygments lexers and styles. -<a id="markdown-table-of-contents" name="table-of-contents"></a> - ## Table of Contents <!-- TOC --> -1. [Table of Contents](#table-of-contents) -2. [Supported languages](#supported-languages) -3. [Try it](#try-it) -4. [Using the library](#using-the-library) +1. [Supported languages](#supported-languages) +2. [Try it](#try-it) +3. [Using the library](#using-the-library) 1. [Quick start](#quick-start) 2. [Identifying the language](#identifying-the-language) 3. [Formatting the output](#formatting-the-output) 4. [The HTML formatter](#the-html-formatter) -5. [More detail](#more-detail) +4. [More detail](#more-detail) 1. [Lexers](#lexers) 2. [Formatters](#formatters) 3. [Styles](#styles) -6. [Command-line interface](#command-line-interface) -7. [Testing lexers](#testing-lexers) -8. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments) +5. [Command-line interface](#command-line-interface) +6. [Testing lexers](#testing-lexers) +7. [What's missing compared to Pygments?](#whats-missing-compared-to-pygments) <!-- /TOC --> -<a id="markdown-supported-languages" name="supported-languages"></a> - ## Supported languages -| Prefix | Language | -| :----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| A | ABAP, ABNF, ActionScript, ActionScript 3, Ada, AL, Angular2, ANTLR, ApacheConf, APL, AppleScript, ArangoDB AQL, Arduino, ArmAsm, AutoHotkey, AutoIt, Awk | -| B | Ballerina, Bash, Bash Session, Batchfile, BibTeX, Bicep, BlitzBasic, BNF, BQN, Brainfuck | -| C | C, C#, C++, Caddyfile, Caddyfile Directives, Cap'n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Chapel, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Crystal, CSS, Cython | -| D | D, Dart, Diff, Django/Jinja, dns, Docker, DTD, Dylan | -| E | EBNF, Elixir, Elm, EmacsLisp, Erlang | -| F | Factor, Fennel, Fish, Forth, Fortran, FortranFixed, FSharp | -| G | GAS, GDScript, Genshi, Genshi HTML, Genshi Text, Gherkin, GLSL, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groff, Groovy | -| H | Handlebars, Haskell, Haxe, HCL, Hexdump, HLB, HLSL, HolyC, HTML, HTTP, Hy | -| I | Idris, Igor, INI, Io, ISCdhcpd | -| J | J, Java, JavaScript, JSON, Julia, Jungle | -| K | Kotlin | -| L | Lighttpd configuration file, LLVM, Lua | -| M | Makefile, Mako, markdown, Mason, Mathematica, Matlab, mcfunction, Meson, Metal, MiniZinc, MLIR, Modula-2, MonkeyC, MorrowindScript, Myghty, MySQL | -| N | NASM, Natural, Newspeak, Nginx configuration file, Nim, Nix | -| O | Objective-C, OCaml, Octave, Odin, OnesEnterprise, OpenEdge ABL, OpenSCAD, Org Mode | -| P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Plutus Core, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerQuery, PowerShell, Prolog, PromQL, properties, Protocol Buffer, PSL, Puppet, Python, Python 2 | -| Q | QBasic, QML | -| R | R, Racket, Ragel, Raku, react, ReasonML, reg, reStructuredText, Rexx, Ruby, Rust | -| S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Sed, Sieve, Smali, Smalltalk, Smarty, Snobol, Solidity, SourcePawn, SPARQL, SQL, SquidConf, Standard ML, stas, Stylus, Svelte, Swift, SYSTEMD, systemverilog | -| T | TableGen, Tal, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData | -| V | V, V shell, Vala, VB.net, verilog, VHDL, VHS, VimL, vue | -| W | WDTE, WebGPU Shading Language, Whiley | -| X | XML, Xorg | -| Y | YAML, YANG | -| Z | Z80 Assembly, Zed, Zig | +| Prefix | Language | +| :----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| A | ABAP, ABNF, ActionScript, ActionScript 3, Ada, Agda, AL, Alloy, Angular2, ANTLR, ApacheConf, APL, AppleScript, ArangoDB AQL, Arduino, ArmAsm, AutoHotkey, AutoIt, Awk | +| B | Ballerina, Bash, Bash Session, Batchfile, BibTeX, Bicep, BlitzBasic, BNF, BQN, Brainfuck | +| C | C, C#, C++, Caddyfile, Caddyfile Directives, Cap'n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Chapel, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Crystal, CSS, Cython | +| D | D, Dart, Dax, Desktop Entry, Diff, Django/Jinja, dns, Docker, DTD, Dylan | +| E | EBNF, Elixir, Elm, EmacsLisp, Erlang | +| F | Factor, Fennel, Fish, Forth, Fortran, FortranFixed, FSharp | +| G | GAS, GDScript, Genshi, Genshi HTML, Genshi Text, Gherkin, Gleam, GLSL, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groff, Groovy | +| H | Handlebars, Hare, Haskell, Haxe, HCL, Hexdump, HLB, HLSL, HolyC, HTML, HTTP, Hy | +| I | Idris, Igor, INI, Io, ISCdhcpd | +| J | J, Java, JavaScript, JSON, Jsonnet, Julia, Jungle | +| K | Kotlin | +| L | Lighttpd configuration file, LLVM, Lua | +| M | Makefile, Mako, markdown, Mason, Materialize SQL dialect, Mathematica, Matlab, MCFunction, Meson, Metal, MiniZinc, MLIR, Modula-2, MonkeyC, MorrowindScript, Myghty, MySQL | +| N | NASM, Natural, Newspeak, Nginx configuration file, Nim, Nix, NSIS | +| O | Objective-C, OCaml, Octave, Odin, OnesEnterprise, OpenEdge ABL, OpenSCAD, Org Mode | +| P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Plutus Core, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerQuery, PowerShell, Prolog, PromQL, Promela, properties, Protocol Buffer, PRQL, PSL, Puppet, Python, Python 2 | +| Q | QBasic, QML | +| R | R, Racket, Ragel, Raku, react, ReasonML, reg, Rego, reStructuredText, Rexx, RPMSpec, Ruby, Rust | +| S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Sed, Sieve, Smali, Smalltalk, Smarty, SNBT, Snobol, Solidity, SourcePawn, SPARQL, SQL, SquidConf, Standard ML, stas, Stylus, Svelte, Swift, SYSTEMD, systemverilog | +| T | TableGen, Tal, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData, Typst | +| V | V, V shell, Vala, VB.net, verilog, VHDL, VHS, VimL, vue | +| W | WDTE, WebGPU Shading Language, Whiley | +| X | XML, Xorg | +| Y | YAML, YANG | +| Z | Z80 Assembly, Zed, Zig | _I will attempt to keep this section up to date, but an authoritative list can be displayed with `chroma --list`._ -<a id="markdown-try-it" name="try-it"></a> - ## Try it Try out various languages and styles on the [Chroma Playground](https://swapoff.org/chroma/playground/). -<a id="markdown-using-the-library" name="using-the-library"></a> - ## Using the library +This is version 2 of Chroma, use the import path: + +```go +import "github.com/alecthomas/chroma/v2" +``` + Chroma, like Pygments, has the concepts of [lexers](https://github.com/alecthomas/chroma/tree/master/lexers), [formatters](https://github.com/alecthomas/chroma/tree/master/formatters) and @@ -95,8 +92,6 @@ In all cases, if a lexer, formatter or style can not be determined, `nil` will be returned. In this situation you may want to default to the `Fallback` value in each respective package, which provides sane defaults. -<a id="markdown-quick-start" name="quick-start"></a> - ### Quick start A convenience function exists that can be used to simply format some source @@ -106,8 +101,6 @@ text, without any effort: err := quick.Highlight(os.Stdout, someSourceCode, "go", "html", "monokai") ``` -<a id="markdown-identifying-the-language" name="identifying-the-language"></a> - ### Identifying the language To highlight code, you'll first have to identify what language the code is @@ -147,8 +140,6 @@ token types into a single token: lexer = chroma.Coalesce(lexer) ``` -<a id="markdown-formatting-the-output" name="formatting-the-output"></a> - ### Formatting the output Once a language is identified you will need to pick a formatter and a style (theme). @@ -177,8 +168,6 @@ And finally, format the tokens from the iterator: err := formatter.Format(w, style, iterator) ``` -<a id="markdown-the-html-formatter" name="the-html-formatter"></a> - ### The HTML formatter By default the `html` registered formatter generates standalone HTML with @@ -203,12 +192,8 @@ formatter := html.New(html.WithClasses(true)) err := formatter.WriteCSS(w, style) ``` -<a id="markdown-more-detail" name="more-detail"></a> - ## More detail -<a id="markdown-lexers" name="lexers"></a> - ### Lexers See the [Pygments documentation](http://pygments.org/docs/lexerdevelopment/) @@ -228,8 +213,6 @@ python3 _tools/pygments2chroma_xml.py \ See notes in [pygments-lexers.txt](https://github.com/alecthomas/chroma/blob/master/pygments-lexers.txt) for a list of lexers, and notes on some of the issues importing them. -<a id="markdown-formatters" name="formatters"></a> - ### Formatters Chroma supports HTML output, as well as terminal output in 8 colour, 256 colour, and true-colour. @@ -237,8 +220,6 @@ Chroma supports HTML output, as well as terminal output in 8 colour, 256 colour, A `noop` formatter is included that outputs the token text only, and a `tokens` formatter outputs raw tokens. The latter is useful for debugging lexers. -<a id="markdown-styles" name="styles"></a> - ### Styles Chroma styles are defined in XML. The style entries use the @@ -262,8 +243,6 @@ Also, token types in a style file are hierarchical. For instance, when `CommentS For a quick overview of the available styles and how they look, check out the [Chroma Style Gallery](https://xyproto.github.io/splash/docs/). -<a id="markdown-command-line-interface" name="command-line-interface"></a> - ## Command-line interface A command-line interface to Chroma is included. @@ -288,16 +267,12 @@ on under the hood for easy integration with [lesspipe shipping with Debian and derivatives](https://manpages.debian.org/lesspipe#USER_DEFINED_FILTERS); for that setup the `chroma` executable can be just symlinked to `~/.lessfilter`. -<a id="markdown-whats-missing-compared-to-pygments" name="whats-missing-compared-to-pygments"></a> - -<a id="markdown-testing-lexers" name="testing-lexers"></a> - ## Testing lexers If you edit some lexers and want to try it, open a shell in `cmd/chromad` and run: ```shell -go run . +go run . --csrf-key=securekey ``` A Link will be printed. Open it in your Browser. Now you can test on the Playground with your local changes. diff --git a/vendor/github.com/alecthomas/chroma/v2/colour.go b/vendor/github.com/alecthomas/chroma/v2/colour.go index b7fd6e0..e33d010 100644 --- a/vendor/github.com/alecthomas/chroma/v2/colour.go +++ b/vendor/github.com/alecthomas/chroma/v2/colour.go @@ -141,7 +141,7 @@ func ParseColour(colour string) Colour { if err != nil { return 0 } - return Colour(n + 1) + return Colour(n + 1) //nolint:gosec } // MustParseColour is like ParseColour except it panics if the colour is invalid. @@ -162,13 +162,13 @@ func (c Colour) String() string { return fmt.Sprintf("#%06x", int(c-1)) } func (c Colour) GoString() string { return fmt.Sprintf("Colour(0x%06x)", int(c-1)) } // Red component of colour. -func (c Colour) Red() uint8 { return uint8(((c - 1) >> 16) & 0xff) } +func (c Colour) Red() uint8 { return uint8(((c - 1) >> 16) & 0xff) } //nolint:gosec // Green component of colour. -func (c Colour) Green() uint8 { return uint8(((c - 1) >> 8) & 0xff) } +func (c Colour) Green() uint8 { return uint8(((c - 1) >> 8) & 0xff) } //nolint:gosec // Blue component of colour. -func (c Colour) Blue() uint8 { return uint8((c - 1) & 0xff) } +func (c Colour) Blue() uint8 { return uint8((c - 1) & 0xff) } //nolint:gosec // Colours is an orderable set of colours. type Colours []Colour diff --git a/vendor/github.com/alecthomas/chroma/v2/formatters/html/html.go b/vendor/github.com/alecthomas/chroma/v2/formatters/html/html.go index 0ad6b31..92d784c 100644 --- a/vendor/github.com/alecthomas/chroma/v2/formatters/html/html.go +++ b/vendor/github.com/alecthomas/chroma/v2/formatters/html/html.go @@ -5,7 +5,9 @@ import ( "html" "io" "sort" + "strconv" "strings" + "sync" "github.com/alecthomas/chroma/v2" ) @@ -132,6 +134,7 @@ func New(options ...Option) *Formatter { baseLineNumber: 1, preWrapper: defaultPreWrapper, } + f.styleCache = newStyleCache(f) for _, option := range options { option(f) } @@ -188,6 +191,7 @@ var ( // Formatter that generates HTML. type Formatter struct { + styleCache *styleCache standalone bool prefix string Classes bool // Exported field to detect when classes are being used @@ -220,12 +224,7 @@ func (f *Formatter) Format(w io.Writer, style *chroma.Style, iterator chroma.Ite // // OTOH we need to be super careful about correct escaping... func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma.Token) (err error) { // nolint: gocyclo - css := f.styleToCSS(style) - if !f.Classes { - for t, style := range css { - css[t] = compressStyle(style) - } - } + css := f.styleCache.get(style, true) if f.standalone { fmt.Fprint(w, "<html>\n") if f.Classes { @@ -243,7 +242,7 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma. wrapInTable := f.lineNumbers && f.lineNumbersInTable lines := chroma.SplitTokensIntoLines(tokens) - lineDigits := len(fmt.Sprintf("%d", f.baseLineNumber+len(lines)-1)) + lineDigits := len(strconv.Itoa(f.baseLineNumber + len(lines) - 1)) highlightIndex := 0 if wrapInTable { @@ -251,7 +250,7 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma. fmt.Fprintf(w, "<div%s>\n", f.styleAttr(css, chroma.PreWrapper)) fmt.Fprintf(w, "<table%s><tr>", f.styleAttr(css, chroma.LineTable)) fmt.Fprintf(w, "<td%s>\n", f.styleAttr(css, chroma.LineTableTD)) - fmt.Fprintf(w, f.preWrapper.Start(false, f.styleAttr(css, chroma.PreWrapper))) + fmt.Fprintf(w, "%s", f.preWrapper.Start(false, f.styleAttr(css, chroma.PreWrapper))) for index := range lines { line := f.baseLineNumber + index highlight, next := f.shouldHighlight(highlightIndex, line) @@ -273,7 +272,7 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma. fmt.Fprintf(w, "<td%s>\n", f.styleAttr(css, chroma.LineTableTD, "width:100%")) } - fmt.Fprintf(w, f.preWrapper.Start(true, f.styleAttr(css, chroma.PreWrapper))) + fmt.Fprintf(w, "%s", f.preWrapper.Start(true, f.styleAttr(css, chroma.PreWrapper))) highlightIndex = 0 for index, tokens := range lines { @@ -323,7 +322,7 @@ func (f *Formatter) writeHTML(w io.Writer, style *chroma.Style, tokens []chroma. fmt.Fprint(w, `</span>`) // End of Line } } - fmt.Fprintf(w, f.preWrapper.End(true)) + fmt.Fprintf(w, "%s", f.preWrapper.End(true)) if wrapInTable { fmt.Fprint(w, "</td></tr></table>\n") @@ -419,7 +418,7 @@ func (f *Formatter) tabWidthStyle() string { // WriteCSS writes CSS style definitions (without any surrounding HTML). func (f *Formatter) WriteCSS(w io.Writer, style *chroma.Style) error { - css := f.styleToCSS(style) + css := f.styleCache.get(style, false) // Special-case background as it is mapped to the outer ".chroma" class. if _, err := fmt.Fprintf(w, "/* %s */ .%sbg { %s }\n", chroma.Background, f.prefix, css[chroma.Background]); err != nil { return err @@ -562,3 +561,63 @@ func compressStyle(s string) string { } return strings.Join(out, ";") } + +const styleCacheLimit = 32 + +type styleCacheEntry struct { + style *chroma.Style + compressed bool + cache map[chroma.TokenType]string +} + +type styleCache struct { + mu sync.Mutex + // LRU cache of compiled (and possibly compressed) styles. This is a slice + // because the cache size is small, and a slice is sufficiently fast for + // small N. + cache []styleCacheEntry + f *Formatter +} + +func newStyleCache(f *Formatter) *styleCache { + return &styleCache{f: f} +} + +func (l *styleCache) get(style *chroma.Style, compress bool) map[chroma.TokenType]string { + l.mu.Lock() + defer l.mu.Unlock() + + // Look for an existing entry. + for i := len(l.cache) - 1; i >= 0; i-- { + entry := l.cache[i] + if entry.style == style && entry.compressed == compress { + // Top of the cache, no need to adjust the order. + if i == len(l.cache)-1 { + return entry.cache + } + // Move this entry to the end of the LRU + copy(l.cache[i:], l.cache[i+1:]) + l.cache[len(l.cache)-1] = entry + return entry.cache + } + } + + // No entry, create one. + cached := l.f.styleToCSS(style) + if !l.f.Classes { + for t, style := range cached { + cached[t] = compressStyle(style) + } + } + if compress { + for t, style := range cached { + cached[t] = compressStyle(style) + } + } + // Evict the oldest entry. + if len(l.cache) >= styleCacheLimit { + l.cache = l.cache[0:copy(l.cache, l.cache[1:])] + } + l.cache = append(l.cache, styleCacheEntry{style: style, cache: cached, compressed: compress}) + return cached +} diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go b/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go index 9100efa..82a7efa 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go @@ -4,52 +4,82 @@ import ( . "github.com/alecthomas/chroma/v2" // nolint ) +// Matcher token stub for docs, or +// Named matcher: @name, or +// Path matcher: /foo, or +// Wildcard path matcher: * +// nolint: gosec +var caddyfileMatcherTokenRegexp = `(\[\<matcher\>\]|@[^\s]+|/[^\s]+|\*)` + +// Comment at start of line, or +// Comment preceded by whitespace +var caddyfileCommentRegexp = `(^|\s+)#.*\n` + // caddyfileCommon are the rules common to both of the lexer variants func caddyfileCommonRules() Rules { return Rules{ "site_block_common": { + Include("site_body"), + // Any other directive + {`[^\s#]+`, Keyword, Push("directive")}, + Include("base"), + }, + "site_body": { // Import keyword - {`(import)(\s+)([^\s]+)`, ByGroups(Keyword, Text, NameVariableMagic), nil}, + {`\b(import|invoke)\b( [^\s#]+)`, ByGroups(Keyword, Text), Push("subdirective")}, // Matcher definition {`@[^\s]+(?=\s)`, NameDecorator, Push("matcher")}, // Matcher token stub for docs {`\[\<matcher\>\]`, NameDecorator, Push("matcher")}, // These cannot have matchers but may have things that look like // matchers in their arguments, so we just parse as a subdirective. - {`try_files`, Keyword, Push("subdirective")}, + {`\b(try_files|tls|log|bind)\b`, Keyword, Push("subdirective")}, // These are special, they can nest more directives - {`handle_errors|handle|route|handle_path|not`, Keyword, Push("nested_directive")}, - // Any other directive - {`[^\s#]+`, Keyword, Push("directive")}, - Include("base"), + {`\b(handle_errors|handle_path|handle_response|replace_status|handle|route)\b`, Keyword, Push("nested_directive")}, + // uri directive has special syntax + {`\b(uri)\b`, Keyword, Push("uri_directive")}, }, "matcher": { {`\{`, Punctuation, Push("block")}, // Not can be one-liner {`not`, Keyword, Push("deep_not_matcher")}, + // Heredoc for CEL expression + Include("heredoc"), + // Backtick for CEL expression + {"`", StringBacktick, Push("backticks")}, // Any other same-line matcher {`[^\s#]+`, Keyword, Push("arguments")}, // Terminators - {`\n`, Text, Pop(1)}, + {`\s*\n`, Text, Pop(1)}, {`\}`, Punctuation, Pop(1)}, Include("base"), }, "block": { {`\}`, Punctuation, Pop(2)}, + // Using double quotes doesn't stop at spaces + {`"`, StringDouble, Push("double_quotes")}, + // Using backticks doesn't stop at spaces + {"`", StringBacktick, Push("backticks")}, // Not can be one-liner {`not`, Keyword, Push("not_matcher")}, - // Any other subdirective + // Directives & matcher definitions + Include("site_body"), + // Any directive {`[^\s#]+`, Keyword, Push("subdirective")}, Include("base"), }, "nested_block": { {`\}`, Punctuation, Pop(2)}, - // Matcher definition - {`@[^\s]+(?=\s)`, NameDecorator, Push("matcher")}, - // Something that starts with literally < is probably a docs stub - {`\<[^#]+\>`, Keyword, Push("nested_directive")}, - // Any other directive - {`[^\s#]+`, Keyword, Push("nested_directive")}, + // Using double quotes doesn't stop at spaces + {`"`, StringDouble, Push("double_quotes")}, + // Using backticks doesn't stop at spaces + {"`", StringBacktick, Push("backticks")}, + // Not can be one-liner + {`not`, Keyword, Push("not_matcher")}, + // Directives & matcher definitions + Include("site_body"), + // Any other subdirective + {`[^\s#]+`, Keyword, Push("directive")}, Include("base"), }, "not_matcher": { @@ -66,69 +96,97 @@ func caddyfileCommonRules() Rules { }, "directive": { {`\{(?=\s)`, Punctuation, Push("block")}, - Include("matcher_token"), - Include("comments_pop_1"), - {`\n`, Text, Pop(1)}, + {caddyfileMatcherTokenRegexp, NameDecorator, Push("arguments")}, + {caddyfileCommentRegexp, CommentSingle, Pop(1)}, + {`\s*\n`, Text, Pop(1)}, Include("base"), }, "nested_directive": { {`\{(?=\s)`, Punctuation, Push("nested_block")}, - Include("matcher_token"), - Include("comments_pop_1"), - {`\n`, Text, Pop(1)}, + {caddyfileMatcherTokenRegexp, NameDecorator, Push("nested_arguments")}, + {caddyfileCommentRegexp, CommentSingle, Pop(1)}, + {`\s*\n`, Text, Pop(1)}, Include("base"), }, "subdirective": { {`\{(?=\s)`, Punctuation, Push("block")}, - Include("comments_pop_1"), - {`\n`, Text, Pop(1)}, + {caddyfileCommentRegexp, CommentSingle, Pop(1)}, + {`\s*\n`, Text, Pop(1)}, Include("base"), }, "arguments": { {`\{(?=\s)`, Punctuation, Push("block")}, - Include("comments_pop_2"), + {caddyfileCommentRegexp, CommentSingle, Pop(2)}, {`\\\n`, Text, nil}, // Skip escaped newlines - {`\n`, Text, Pop(2)}, + {`\s*\n`, Text, Pop(2)}, + Include("base"), + }, + "nested_arguments": { + {`\{(?=\s)`, Punctuation, Push("nested_block")}, + {caddyfileCommentRegexp, CommentSingle, Pop(2)}, + {`\\\n`, Text, nil}, // Skip escaped newlines + {`\s*\n`, Text, Pop(2)}, Include("base"), }, "deep_subdirective": { {`\{(?=\s)`, Punctuation, Push("block")}, - Include("comments_pop_3"), - {`\n`, Text, Pop(3)}, + {caddyfileCommentRegexp, CommentSingle, Pop(3)}, + {`\s*\n`, Text, Pop(3)}, + Include("base"), + }, + "uri_directive": { + {`\{(?=\s)`, Punctuation, Push("block")}, + {caddyfileMatcherTokenRegexp, NameDecorator, nil}, + {`(strip_prefix|strip_suffix|replace|path_regexp)`, NameConstant, Push("arguments")}, + {caddyfileCommentRegexp, CommentSingle, Pop(1)}, + {`\s*\n`, Text, Pop(1)}, Include("base"), }, - "matcher_token": { - {`@[^\s]+`, NameDecorator, Push("arguments")}, // Named matcher - {`/[^\s]+`, NameDecorator, Push("arguments")}, // Path matcher - {`\*`, NameDecorator, Push("arguments")}, // Wildcard path matcher - {`\[\<matcher\>\]`, NameDecorator, Push("arguments")}, // Matcher token stub for docs + "double_quotes": { + Include("placeholder"), + {`\\"`, StringDouble, nil}, + {`[^"]`, StringDouble, nil}, + {`"`, StringDouble, Pop(1)}, }, - "comments": { - {`^#.*\n`, CommentSingle, nil}, // Comment at start of line - {`\s+#.*\n`, CommentSingle, nil}, // Comment preceded by whitespace + "backticks": { + Include("placeholder"), + {"\\\\`", StringBacktick, nil}, + {"[^`]", StringBacktick, nil}, + {"`", StringBacktick, Pop(1)}, }, - "comments_pop_1": { - {`^#.*\n`, CommentSingle, Pop(1)}, // Comment at start of line - {`\s+#.*\n`, CommentSingle, Pop(1)}, // Comment preceded by whitespace + "optional": { + // Docs syntax for showing optional parts with [ ] + {`\[`, Punctuation, Push("optional")}, + Include("name_constants"), + {`\|`, Punctuation, nil}, + {`[^\[\]\|]+`, String, nil}, + {`\]`, Punctuation, Pop(1)}, }, - "comments_pop_2": { - {`^#.*\n`, CommentSingle, Pop(2)}, // Comment at start of line - {`\s+#.*\n`, CommentSingle, Pop(2)}, // Comment preceded by whitespace + "heredoc": { + {`(<<([a-zA-Z0-9_-]+))(\n(.*|\n)*)(\s*)(\2)`, ByGroups(StringHeredoc, nil, String, String, String, StringHeredoc), nil}, }, - "comments_pop_3": { - {`^#.*\n`, CommentSingle, Pop(3)}, // Comment at start of line - {`\s+#.*\n`, CommentSingle, Pop(3)}, // Comment preceded by whitespace + "name_constants": { + {`\b(most_recently_modified|largest_size|smallest_size|first_exist|internal|disable_redirects|ignore_loaded_certs|disable_certs|private_ranges|first|last|before|after|on|off)\b(\||(?=\]|\s|$))`, ByGroups(NameConstant, Punctuation), nil}, + }, + "placeholder": { + // Placeholder with dots, colon for default value, brackets for args[0:] + {`\{[\w+.\[\]\:\$-]+\}`, StringEscape, nil}, + // Handle opening brackets with no matching closing one + {`\{[^\}\s]*\b`, String, nil}, }, "base": { - Include("comments"), - {`(on|off|first|last|before|after|internal|strip_prefix|strip_suffix|replace)\b`, NameConstant, nil}, - {`(https?://)?([a-z0-9.-]+)(:)([0-9]+)`, ByGroups(Name, Name, Punctuation, LiteralNumberInteger), nil}, - {`[a-z-]+/[a-z-+]+`, LiteralString, nil}, - {`[0-9]+[km]?\b`, LiteralNumberInteger, nil}, - {`\{[\w+.\$-]+\}`, LiteralStringEscape, nil}, // Placeholder - {`\[(?=[^#{}$]+\])`, Punctuation, nil}, - {`\]|\|`, Punctuation, nil}, - {`[^\s#{}$\]]+`, LiteralString, nil}, + {caddyfileCommentRegexp, CommentSingle, nil}, + {`\[\<matcher\>\]`, NameDecorator, nil}, + Include("name_constants"), + Include("heredoc"), + {`(https?://)?([a-z0-9.-]+)(:)([0-9]+)([^\s]*)`, ByGroups(Name, Name, Punctuation, NumberInteger, Name), nil}, + {`\[`, Punctuation, Push("optional")}, + {"`", StringBacktick, Push("backticks")}, + {`"`, StringDouble, Push("double_quotes")}, + Include("placeholder"), + {`[a-z-]+/[a-z-+]+`, String, nil}, + {`[0-9]+([smhdk]|ns|us|µs|ms)?\b`, NumberInteger, nil}, + {`[^\s\n#\{]+`, String, nil}, {`/[^\s#]*`, Name, nil}, {`\s+`, Text, nil}, }, @@ -149,27 +207,29 @@ var Caddyfile = Register(MustNewLexer( func caddyfileRules() Rules { return Rules{ "root": { - Include("comments"), + {caddyfileCommentRegexp, CommentSingle, nil}, // Global options block {`^\s*(\{)\s*$`, ByGroups(Punctuation), Push("globals")}, + // Top level import + {`(import)(\s+)([^\s]+)`, ByGroups(Keyword, Text, NameVariableMagic), nil}, // Snippets - {`(\([^\s#]+\))(\s*)(\{)`, ByGroups(NameVariableAnonymous, Text, Punctuation), Push("snippet")}, + {`(&?\([^\s#]+\))(\s*)(\{)`, ByGroups(NameVariableAnonymous, Text, Punctuation), Push("snippet")}, // Site label {`[^#{(\s,]+`, GenericHeading, Push("label")}, // Site label with placeholder - {`\{[\w+.\$-]+\}`, LiteralStringEscape, Push("label")}, + {`\{[\w+.\[\]\:\$-]+\}`, StringEscape, Push("label")}, {`\s+`, Text, nil}, }, "globals": { {`\}`, Punctuation, Pop(1)}, - {`[^\s#]+`, Keyword, Push("directive")}, + // Global options are parsed as subdirectives (no matcher) + {`[^\s#]+`, Keyword, Push("subdirective")}, Include("base"), }, "snippet": { {`\}`, Punctuation, Pop(1)}, - // Matcher definition - {`@[^\s]+(?=\s)`, NameDecorator, Push("matcher")}, - // Any directive + Include("site_body"), + // Any other directive {`[^\s#]+`, Keyword, Push("directive")}, Include("base"), }, @@ -179,7 +239,7 @@ func caddyfileRules() Rules { {`,\s*\n?`, Text, nil}, {` `, Text, nil}, // Site label with placeholder - {`\{[\w+.\$-]+\}`, LiteralStringEscape, nil}, + Include("placeholder"), // Site label {`[^#{(\s,]+`, GenericHeading, nil}, // Comment after non-block label (hack because comments end in \n) diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/agda.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/agda.xml new file mode 100644 index 0000000..6f2b2d5 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/agda.xml @@ -0,0 +1,66 @@ +<lexer> + <config> + <name>Agda</name> + <alias>agda</alias> + <filename>*.agda</filename> + <mime_type>text/x-agda</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="^(\s*)([^\s(){}]+)(\s*)(:)(\s*)"><bygroups><token type="TextWhitespace"/><token type="NameFunction"/><token type="TextWhitespace"/><token type="OperatorWord"/><token type="TextWhitespace"/></bygroups></rule> + <rule pattern="--(?![!#$%&*+./<=>?@^|_~:\\]).*?$"><token type="CommentSingle"/></rule> + <rule pattern="\{-"><token type="CommentMultiline"/><push state="comment"/></rule> + <rule pattern="\{!"><token type="CommentMultiline"/><push state="hole"/></rule> + <rule pattern="\b(abstract|codata|coinductive|constructor|data|do|eta-equality|field|forall|hiding|in|inductive|infix|infixl|infixr|instance|interleaved|let|macro|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|quote|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)(?!\')\b"><token type="KeywordReserved"/></rule> + <rule pattern="(import|module)(\s+)"><bygroups><token type="KeywordReserved"/><token type="TextWhitespace"/></bygroups><push state="module"/></rule> + <rule pattern="\b(Set|Prop)[\u2080-\u2089]*\b"><token type="KeywordType"/></rule> + <rule pattern="(\(|\)|\{|\})"><token type="Operator"/></rule> + <rule pattern="(\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)"><token type="OperatorWord"/></rule> + <rule pattern="\d+[eE][+-]?\d+"><token type="LiteralNumberFloat"/></rule> + <rule pattern="\d+\.\d+([eE][+-]?\d+)?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="0[xX][\da-fA-F]+"><token type="LiteralNumberHex"/></rule> + <rule pattern="\d+"><token type="LiteralNumberInteger"/></rule> + <rule pattern="'"><token type="LiteralStringChar"/><push state="character"/></rule> + <rule pattern="""><token type="LiteralString"/><push state="string"/></rule> + <rule pattern="[^\s(){}]+"><token type="Text"/></rule> + <rule pattern="\s+?"><token type="TextWhitespace"/></rule> + </state> + <state name="hole"> + <rule pattern="[^!{}]+"><token type="CommentMultiline"/></rule> + <rule pattern="\{!"><token type="CommentMultiline"/><push/></rule> + <rule pattern="!\}"><token type="CommentMultiline"/><pop depth="1"/></rule> + <rule pattern="[!{}]"><token type="CommentMultiline"/></rule> + </state> + <state name="module"> + <rule pattern="\{-"><token type="CommentMultiline"/><push state="comment"/></rule> + <rule pattern="[a-zA-Z][\w.\']*"><token type="Name"/><pop depth="1"/></rule> + <rule pattern="[\W0-9_]+"><token type="Text"/></rule> + </state> + <state name="comment"> + <rule pattern="[^-{}]+"><token type="CommentMultiline"/></rule> + <rule pattern="\{-"><token type="CommentMultiline"/><push/></rule> + <rule pattern="-\}"><token type="CommentMultiline"/><pop depth="1"/></rule> + <rule pattern="[-{}]"><token type="CommentMultiline"/></rule> + </state> + <state name="character"> + <rule pattern="[^\\']'"><token type="LiteralStringChar"/><pop depth="1"/></rule> + <rule pattern="\\"><token type="LiteralStringEscape"/><push state="escape"/></rule> + <rule pattern="'"><token type="LiteralStringChar"/><pop depth="1"/></rule> + </state> + <state name="string"> + <rule pattern="[^\\"]+"><token type="LiteralString"/></rule> + <rule pattern="\\"><token type="LiteralStringEscape"/><push state="escape"/></rule> + <rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule> + </state> + <state name="escape"> + <rule pattern="[abfnrtv"\'&\\]"><token type="LiteralStringEscape"/><pop depth="1"/></rule> + <rule pattern="\^[][A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎ-ΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸA-Z𐐀-𐐧𐒰-𐓓𐲀-𐲲𑢠-𑢿𖹀-𖹟𝐀-𝐙𝐴-𝑍𝑨-𝒁𝒜𝒞-𝒟𝒢𝒥-𝒦𝒩-𝒬𝒮-𝒵𝓐-𝓩𝔄-𝔅𝔇-𝔊𝔍-𝔔𝔖-𝔜𝔸-𝔹𝔻-𝔾𝕀-𝕄𝕆𝕊-𝕐𝕬-𝖅𝖠-𝖹𝗔-𝗭𝘈-𝘡𝘼-𝙕𝙰-𝚉𝚨-𝛀𝛢-𝛺𝜜-𝜴𝝖-𝝮𝞐-𝞨𝟊𞤀-𞤡@^_]"><token type="LiteralStringEscape"/><pop depth="1"/></rule> + <rule pattern="NUL|SOH|[SE]TX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|S[OI]|DLE|DC[1-4]|NAK|SYN|ETB|CAN|EM|SUB|ESC|[FGRU]S|SP|DEL"><token type="LiteralStringEscape"/><pop depth="1"/></rule> + <rule pattern="o[0-7]+"><token type="LiteralStringEscape"/><pop depth="1"/></rule> + <rule pattern="x[\da-fA-F]+"><token type="LiteralStringEscape"/><pop depth="1"/></rule> + <rule pattern="\d+"><token type="LiteralStringEscape"/><pop depth="1"/></rule> + <rule pattern="(\s+)(\\)"><bygroups><token type="TextWhitespace"/><token type="LiteralStringEscape"/></bygroups><pop depth="1"/></rule> + </state> + </rules> +</lexer> + diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/alloy.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/alloy.xml new file mode 100644 index 0000000..1de9ea6 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/alloy.xml @@ -0,0 +1,58 @@ + +<lexer> + <config> + <name>Alloy</name> + <alias>alloy</alias> + <filename>*.als</filename> + <mime_type>text/x-alloy</mime_type> + <dot_all>true</dot_all> + </config> + <rules> + <state name="sig"> + <rule pattern="(extends)\b"><token type="Keyword"/><pop depth="1"/></rule> + <rule pattern="[a-zA-Z_][\w]*"*"><token type="Name"/></rule> + <rule pattern="[^\S\n]+"><token type="TextWhitespace"/></rule> + <rule pattern=","><token type="Punctuation"/></rule> + <rule pattern="\{"><token type="Operator"/><pop depth="1"/></rule> + </state> + <state name="module"> + <rule pattern="[^\S\n]+"><token type="TextWhitespace"/></rule> + <rule pattern="[a-zA-Z_][\w]*"*"><token type="Name"/><pop depth="1"/></rule> + </state> + <state name="fun"> + <rule pattern="[^\S\n]+"><token type="TextWhitespace"/></rule> + <rule pattern="\{"><token type="Operator"/><pop depth="1"/></rule> + <rule pattern="[a-zA-Z_][\w]*"*"><token type="Name"/><pop depth="1"/></rule> + </state> + <state name="fact"> + <rule><include state="fun"/></rule> + <rule pattern=""\b(\\\\|\\[^\\]|[^"\\])*""><token type="LiteralString"/><pop depth="1"/></rule> + </state> + <state name="root"> + <rule pattern="--.*?$"><token type="CommentSingle"/></rule> + <rule pattern="//.*?$"><token type="CommentSingle"/></rule> + <rule pattern="/\*.*?\*/"><token type="CommentMultiline"/></rule> + <rule pattern="[^\S\n]+"><token type="TextWhitespace"/></rule> + <rule pattern="(module|open)(\s+)"><bygroups><token type="KeywordNamespace"/><token type="TextWhitespace"/></bygroups><push state="module"/></rule> + <rule pattern="(sig|enum)(\s+)"><bygroups><token type="KeywordDeclaration"/><token type="TextWhitespace"/></bygroups><push state="sig"/></rule> + <rule pattern="(iden|univ|none)\b"><token type="KeywordConstant"/></rule> + <rule pattern="(int|Int)\b"><token type="KeywordType"/></rule> + <rule pattern="(var|this|abstract|extends|set|seq|one|lone|let)\b"><token type="Keyword"/></rule> + <rule pattern="(all|some|no|sum|disj|when|else)\b"><token type="Keyword"/></rule> + <rule pattern="(run|check|for|but|exactly|expect|as|steps)\b"><token type="Keyword"/></rule> + <rule pattern="(always|after|eventually|until|release)\b"><token type="Keyword"/></rule> + <rule pattern="(historically|before|once|since|triggered)\b"><token type="Keyword"/></rule> + <rule pattern="(and|or|implies|iff|in)\b"><token type="OperatorWord"/></rule> + <rule pattern="(fun|pred|assert)(\s+)"><bygroups><token type="Keyword"/><token type="TextWhitespace"/></bygroups><push state="fun"/></rule> + <rule pattern="(fact)(\s+)"><bygroups><token type="Keyword"/><token type="TextWhitespace"/></bygroups><push state="fact"/></rule> + <rule pattern="!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.\.|\.|->"><token type="Operator"/></rule> + <rule pattern="[-+/*%=<>&!^|~{}\[\]().\';]"><token type="Operator"/></rule> + <rule pattern="[a-zA-Z_][\w]*"*"><token type="Name"/></rule> + <rule pattern="[:,]"><token type="Punctuation"/></rule> + <rule pattern="[0-9]+"><token type="LiteralNumberInteger"/></rule> + <rule pattern=""\b(\\\\|\\[^\\]|[^"\\])*""><token type="LiteralString"/></rule> + <rule pattern="\n"><token type="TextWhitespace"/></rule> + </state> + </rules> +</lexer> + 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 index e711973..434b395 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arangodb_aql.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/arangodb_aql.xml @@ -152,7 +152,7 @@ <rule pattern="(?-i)(?:CURRENT|NEW|OLD)\b"> <token type="NameBuiltinPseudo"/> </rule> - <rule pattern="(?:to_bool|to_number|to_string|to_array|to_list|is_null|is_bool|is_number|is_string|is_array|is_list|is_object|is_document|is_datestring|typename|json_stringify|json_parse|concat|concat_separator|char_length|lower|upper|substring|substring_bytes|left|right|trim|reverse|contains|log|log2|log10|exp|exp2|sin|cos|tan|asin|acos|atan|atan2|radians|degrees|pi|regex_test|regex_replace|like|floor|ceil|round|abs|rand|sqrt|pow|length|count|min|max|average|avg|sum|product|median|variance_population|variance_sample|variance|percentile|bit_and|bit_or|bit_xor|bit_negate|bit_test|bit_popcount|bit_shift_left|bit_shift_right|bit_construct|bit_deconstruct|bit_to_string|bit_from_string|first|last|unique|outersection|interleave|in_range|jaccard|matches|merge|merge_recursive|has|attributes|keys|values|unset|unset_recursive|keep|keep_recursive|near|within|within_rectangle|is_in_polygon|distance|fulltext|stddev_sample|stddev_population|stddev|slice|nth|position|contains_array|translate|zip|call|apply|push|append|pop|shift|unshift|remove_value|remove_values|remove_nth|replace_nth|date_now|date_timestamp|date_iso8601|date_dayofweek|date_year|date_month|date_day|date_hour|date_minute|date_second|date_millisecond|date_dayofyear|date_isoweek|date_isoweekyear|date_leapyear|date_quarter|date_days_in_month|date_trunc|date_round|date_add|date_subtract|date_diff|date_compare|date_format|date_utctolocal|date_localtoutc|date_timezone|date_timezones|fail|passthru|v8|sleep|schema_get|schema_validate|shard_id|version|noopt|noeval|not_null|first_list|first_document|parse_identifier|current_user|current_database|collection_count|pregel_result|collections|document|decode_rev|range|union|union_distinct|minus|intersection|flatten|is_same_collection|check_document|ltrim|rtrim|find_first|find_last|split|substitute|ipv4_to_number|ipv4_from_number|is_ipv4|md5|sha1|sha256|sha512|crc32|fnv64|hash|random_token|to_base64|to_hex|encode_uri_component|soundex|assert|warn|is_key|sorted|sorted_unique|count_distinct|count_unique|levenshtein_distance|levenshtein_match|regex_matches|regex_split|ngram_match|ngram_similarity|ngram_positional_similarity|uuid|tokens|exists|starts_with|phrase|min_match|bm25|tfidf|boost|analyzer|offset_info|value|cosine_similarity|decay_exp|decay_gauss|decay_linear|l1_distance|l2_distance|minhash|minhash_count|minhash_error|minhash_match|geo_point|geo_multipoint|geo_polygon|geo_multipolygon|geo_linestring|geo_multilinestring|geo_contains|geo_intersects|geo_equals|geo_distance|geo_area|geo_in_range)(?=\s*\()"> + <rule pattern="(?:to_bool|to_number|to_char|to_string|to_array|to_list|is_null|is_bool|is_number|is_string|is_array|is_list|is_object|is_document|is_datestring|typename|json_stringify|json_parse|concat|concat_separator|char_length|lower|upper|substring|substring_bytes|left|right|trim|reverse|repeat|contains|log|log2|log10|exp|exp2|sin|cos|tan|asin|acos|atan|atan2|radians|degrees|pi|regex_test|regex_replace|like|floor|ceil|round|abs|rand|random|sqrt|pow|length|count|min|max|average|avg|sum|product|median|variance_population|variance_sample|variance|percentile|bit_and|bit_or|bit_xor|bit_negate|bit_test|bit_popcount|bit_shift_left|bit_shift_right|bit_construct|bit_deconstruct|bit_to_string|bit_from_string|first|last|unique|outersection|interleave|in_range|jaccard|matches|merge|merge_recursive|has|attributes|keys|values|entries|unset|unset_recursive|keep|keep_recursive|near|within|within_rectangle|is_in_polygon|distance|fulltext|stddev_sample|stddev_population|stddev|slice|nth|position|contains_array|translate|zip|call|apply|push|append|pop|shift|unshift|remove_value|remove_values|remove_nth|replace_nth|date_now|date_timestamp|date_iso8601|date_dayofweek|date_year|date_month|date_day|date_hour|date_minute|date_second|date_millisecond|date_dayofyear|date_isoweek|date_isoweekyear|date_leapyear|date_quarter|date_days_in_month|date_trunc|date_round|date_add|date_subtract|date_diff|date_compare|date_format|date_utctolocal|date_localtoutc|date_timezone|date_timezones|fail|passthru|v8|sleep|schema_get|schema_validate|shard_id|version|noopt|noeval|not_null|first_list|first_document|parse_identifier|parse_collection|parse_key|current_user|current_database|collection_count|pregel_result|collections|document|decode_rev|range|union|union_distinct|minus|intersection|flatten|is_same_collection|check_document|ltrim|rtrim|find_first|find_last|split|substitute|ipv4_to_number|ipv4_from_number|is_ipv4|md5|sha1|sha256|sha512|crc32|fnv64|hash|random_token|to_base64|to_hex|encode_uri_component|soundex|assert|warn|is_key|sorted|sorted_unique|count_distinct|count_unique|levenshtein_distance|levenshtein_match|regex_matches|regex_split|ngram_match|ngram_similarity|ngram_positional_similarity|uuid|tokens|exists|starts_with|phrase|min_match|bm25|tfidf|boost|analyzer|offset_info|value|cosine_similarity|decay_exp|decay_gauss|decay_linear|l1_distance|l2_distance|minhash|minhash_count|minhash_error|minhash_match|geo_point|geo_multipoint|geo_polygon|geo_multipolygon|geo_linestring|geo_multilinestring|geo_contains|geo_intersects|geo_equals|geo_distance|geo_area|geo_in_range)(?=\s*\()"> <token type="NameFunction"/> </rule> <rule pattern="""> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/atl.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/atl.xml new file mode 100644 index 0000000..623dc20 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/atl.xml @@ -0,0 +1,165 @@ +<lexer> + <config> + <name>ATL</name> + <alias>atl</alias> + <filename>*.atl</filename> + <mime_type>text/x-atl</mime_type> + <dot_all>true</dot_all> + </config> + <rules> + <state name="root"> + <rule pattern="(--.*?)(\n)"> + <bygroups> + <token type="CommentSingle" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <rule pattern="(and|distinct|endif|else|for|foreach|if|implies|in|let|not|or|self|super|then|thisModule|xor)\b"> + <token type="Keyword" /> + </rule> + <rule pattern="(OclUndefined|true|false|#\w+)\b"> + <token type="KeywordConstant" /> + </rule> + <rule pattern="(module|query|library|create|from|to|uses)\b"> + <token type="KeywordNamespace" /> + </rule> + <rule pattern="(do)(\s*)({)"> + <bygroups> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> + <token type="Punctuation" /> + </bygroups> + </rule> + <rule pattern="(abstract|endpoint|entrypoint|lazy|unique)(\s+)"> + <bygroups> + <token type="KeywordDeclaration" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <rule pattern="(rule)(\s+)"> + <bygroups> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <rule pattern="(helper)(\s+)"> + <bygroups> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <rule pattern="(context)(\s+)"> + <bygroups> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <rule pattern="(def)(\s*)(:)(\s*)"> + <bygroups> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> + <token type="Punctuation" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <rule pattern="(Bag|Boolean|Integer|OrderedSet|Real|Sequence|Set|String|Tuple)"> + <token type="KeywordType" /> + </rule> + <rule pattern="(\w+)(\s*)(<-|<:=)"> + <bygroups> + <token type="NameNamespace" /> + <token type="TextWhitespace" /> + <token type="Punctuation" /> + </bygroups> + </rule> + <rule pattern="#""> + <token type="KeywordConstant" /> + <push state="quotedenumliteral" /> + </rule> + <rule pattern="""> + <token type="NameNamespace" /> + <push state="quotedname" /> + </rule> + <rule pattern="[^\S\n]+"> + <token type="TextWhitespace" /> + </rule> + <rule pattern="'"> + <token type="LiteralString" /> + <push state="string" /> + </rule> + <rule + pattern="[0-9]*\.[0-9]+"> + <token type="LiteralNumberFloat" /> + </rule> + <rule pattern="0|[1-9][0-9]*"> + <token type="LiteralNumberInteger" /> + </rule> + <rule pattern="[*<>+=/-]"> + <token type="Operator" /> + </rule> + <rule pattern="([{}();:.,!|]|->)"> + <token type="Punctuation" /> + </rule> + <rule pattern="\n"> + <token type="TextWhitespace" /> + </rule> + <rule pattern="\w+"> + <token type="NameNamespace" /> + </rule> + </state> + <state name="string"> + <rule pattern="[^\\']+"> + <token type="LiteralString" /> + </rule> + <rule pattern="\\\\"> + <token type="LiteralString" /> + </rule> + <rule pattern="\\'"> + <token type="LiteralString" /> + </rule> + <rule pattern="\\"> + <token type="LiteralString" /> + </rule> + <rule pattern="'"> + <token type="LiteralString" /> + <pop depth="1" /> + </rule> + </state> + <state name="quotedname"> + <rule pattern="[^\\"]+"> + <token type="NameNamespace" /> + </rule> + <rule pattern="\\\\"> + <token type="NameNamespace" /> + </rule> + <rule pattern="\\""> + <token type="NameNamespace" /> + </rule> + <rule pattern="\\"> + <token type="NameNamespace" /> + </rule> + <rule pattern="""> + <token type="NameNamespace" /> + <pop depth="1" /> + </rule> + </state> + <state name="quotedenumliteral"> + <rule pattern="[^\\"]+"> + <token type="KeywordConstant" /> + </rule> + <rule pattern="\\\\"> + <token type="KeywordConstant" /> + </rule> + <rule pattern="\\""> + <token type="KeywordConstant" /> + </rule> + <rule pattern="\\"> + <token type="KeywordConstant" /> + </rule> + <rule pattern="""> + <token type="KeywordConstant" /> + <pop depth="1" /> + </rule> + </state> + </rules> +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/beef.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/beef.xml new file mode 100644 index 0000000..031a220 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/beef.xml @@ -0,0 +1,120 @@ +<lexer> + <config> + <name>Beef</name> + <alias>beef</alias> + <filename>*.bf</filename> + <mime_type>text/x-beef</mime_type> + <dot_all>true</dot_all> + <ensure_nl>true</ensure_nl> + </config> + <rules> + <state name="root"> + <rule pattern="^\s*\[.*?\]"> + <token type="NameAttribute"/> + </rule> + <rule pattern="[^\S\n]+"> + <token type="Text"/> + </rule> + <rule pattern="\\\n"> + <token type="Text"/> + </rule> + <rule pattern="///[^\n\r]*"> + <token type="CommentSpecial"/> + </rule> + <rule pattern="//[^\n\r]*"> + <token type="CommentSingle"/> + </rule> + <rule pattern="/[*].*?[*]/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="\n"> + <token type="Text"/> + </rule> + <rule pattern="[~!%^&*()+=|\[\]:;,.<>/?-]"> + <token type="Punctuation"/> + </rule> + <rule pattern="[{}]"> + <token type="Punctuation"/> + </rule> + <rule pattern="@"(""|[^"])*""> + <token type="LiteralString"/> + </rule> + <rule pattern="\$@?"(""|[^"])*""> + <token type="LiteralString"/> + </rule> + <rule pattern=""(\\\\|\\"|[^"\n])*["\n]"> + <token type="LiteralString"/> + </rule> + <rule pattern="'\\.'|'[^\\]'"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="0[xX][0-9a-fA-F]+[Ll]?|\d[_\d]*(\.\d*)?([eE][+-]?\d+)?[flFLdD]?"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="#[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma|nullable)\b"> + <token type="CommentPreproc"/> + </rule> + <rule pattern="\b(extern)(\s+)(alias)\b"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="(as|await|base|break|by|case|catch|checked|continue|default|delegate|else|event|finally|fixed|for|repeat|goto|if|in|init|is|let|lock|new|scope|on|out|params|readonly|ref|return|sizeof|stackalloc|switch|this|throw|try|typeof|unchecked|virtual|void|while|get|set|new|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(global)(::)"> + <bygroups> + <token type="Keyword"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="(abstract|async|const|enum|explicit|extern|implicit|internal|operator|override|partial|extension|private|protected|public|static|sealed|unsafe|volatile)\b"> + <token type="KeywordDeclaration"/> + </rule> + <rule pattern="(bool|byte|char8|char16|char32|decimal|double|float|int|int8|int16|int32|int64|long|object|sbyte|short|string|uint|uint8|uint16|uint32|uint64|uint|let|var)\b\??"> + <token type="KeywordType"/> + </rule> + <rule pattern="(true|false|null)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="(class|struct|record|interface)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="class"/> + </rule> + <rule pattern="(namespace|using)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="namespace"/> + </rule> + <rule pattern="@?[_a-zA-Z]\w*"> + <token type="Name"/> + </rule> + </state> + <state name="class"> + <rule pattern="@?[_a-zA-Z]\w*"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="namespace"> + <rule pattern="(?=\()"> + <token type="Text"/> + <pop depth="1"/> + </rule> + <rule pattern="(@?[_a-zA-Z]\w*|\.)+"> + <token type="NameNamespace"/> + <pop depth="1"/> + </rule> + </state> + </rules> +</lexer>
\ 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 index 1efc9c8..db90f31 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bicep.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/bicep.xml @@ -5,63 +5,79 @@ <filename>*.bicep</filename> </config> <rules> - <state name="root"> + <state name="interp"> + <rule pattern="'"> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\\."> + <token type="LiteralString"/> + </rule> + <rule pattern="\$\{"> + <token type="LiteralStringInterpol"/> + <push state="interp-inside"/> + </rule> + <rule pattern="\$"> + <token type="LiteralString"/> + </rule> + <rule pattern="[^'\\$]+"> + <token type="LiteralString"/> + </rule> + </state> + <state name="interp-inside"> + <rule pattern="\}"> + <token type="LiteralStringInterpol"/> + <pop depth="1"/> + </rule> + <rule> + <include state="root"/> + </rule> + </state> + <state name="commentsandwhitespace"> <rule pattern="//[^\n\r]+"> <token type="CommentSingle"/> </rule> <rule pattern="/\*.*?\*/"> <token type="CommentMultiline"/> </rule> - <rule pattern="([']?\w+[']?)(:)"> - <bygroups> - <token type="NameProperty"/> - <token type="Punctuation"/> - </bygroups> - </rule> - <rule pattern="\b('(resourceGroup|subscription|managementGroup|tenant)')\b"> - <token type="KeywordNamespace"/> + <rule pattern="\s+"> + <token type="TextWhitespace"/> </rule> - <rule pattern="'[\w\$\{\(\)\}\.]{1,}?'"> - <token type="LiteralStringInterpol"/> + </state> + <state name="root"> + <rule> + <include state="commentsandwhitespace"/> </rule> - <rule pattern="('''|').*?('''|')"> + <rule pattern="'''.*?'''"> <token type="LiteralString"/> </rule> - <rule pattern="\b(allowed|batchSize|description|maxLength|maxValue|metadata|minLength|minValue|secure)\b"> - <token type="NameDecorator"/> + <rule pattern="'"> + <token type="LiteralString"/> + <push state="interp"/> </rule> - <rule pattern="\b(az|sys)\."> - <token type="NameNamespace"/> + <rule pattern="#[\w-]+\b"> + <token type="CommentPreproc"/> </rule> - <rule pattern="\b(any|array|concat|contains|empty|first|intersection|items|last|length|min|max|range|skip|take|union|dateTimeAdd|utcNow|deployment|environment|loadFileAsBase64|loadTextContent|int|json|extensionResourceId|getSecret|list|listKeys|listKeyValue|listAccountSas|listSecrets|pickZones|reference|resourceId|subscriptionResourceId|tenantResourceId|managementGroup|resourceGroup|subscription|tenant|base64|base64ToJson|base64ToString|dataUri|dataUriToString|endsWith|format|guid|indexOf|lastIndexOf|length|newGuid|padLeft|replace|split|startsWith|string|substring|toLower|toUpper|trim|uniqueString|uri|uriComponent|uriComponentToString)\b"> + <rule pattern="[\w_]+(?=\()"> <token type="NameFunction"/> </rule> - <rule pattern="\b(bool)(\()"> - <bygroups> - <token type="NameFunction"/> - <token type="Punctuation"/> - </bygroups> - </rule> - <rule pattern="\b(for|if|in)\b"> - <token type="Keyword"/> - </rule> - <rule pattern="\b(module|output|param|resource|var)\b"> + <rule pattern="\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|func|assert)\b"> <token type="KeywordDeclaration"/> </rule> - <rule pattern="\b(array|bool|int|object|string)\b"> - <token type="KeywordType"/> + <rule pattern="\b(true|false|null)\b"> + <token type="KeywordConstant"/> </rule> <rule pattern="(>=|>|<=|<|==|!=|=~|!~|::|&&|\?\?|!|-|%|\*|\/|\+)"> <token type="Operator"/> </rule> - <rule pattern="[\(\)\[\]\.:\?{}@=]"> + <rule pattern="(\(|\)|\[|\]|\.|:|\?|{|}|@|,|\||=>|=)"> <token type="Punctuation"/> </rule> - <rule pattern="[\w_-]+"> - <token type="Text"/> + <rule pattern="[\w_]+"> + <token type="NameVariable"/> </rule> - <rule pattern="\s+"> - <token type="TextWhitespace"/> + <rule pattern="[0-9]+"> + <token type="LiteralNumberInteger"/> </rule> </state> </rules> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml index 801a954..f1e21db 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml @@ -19,10 +19,10 @@ <rule pattern="\\\n"> <token type="Text"/> </rule> - <rule pattern="///[^\n\r]+"> + <rule pattern="///[^\n\r]*"> <token type="CommentSpecial"/> </rule> - <rule pattern="//[^\n\r]+"> + <rule pattern="//[^\n\r]*"> <token type="CommentSingle"/> </rule> <rule pattern="/[*].*?[*]/"> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/csv.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/csv.xml new file mode 100644 index 0000000..b70c2f8 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/csv.xml @@ -0,0 +1,53 @@ +<!-- +Lexer for RFC-4180 compliant CSV subject to the following additions: +- UTF-8 encoding is accepted (the RFC requires 7-bit ASCII) +- The line terminator character can be LF or CRLF (the RFC allows CRLF only) + +Link to the RFC-4180 specification: https://tools.ietf.org/html/rfc4180 + +Additions inspired by: +https://github.com/frictionlessdata/datapackage/issues/204#issuecomment-193242077 + +Future improvements: +- Identify non-quoted numbers as LiteralNumber +- Identify y as an error in "x"y. Currently it's identified as another string + literal. +--> + +<lexer> + <config> + <name>CSV</name> + <alias>csv</alias> + <filename>*.csv</filename> + <mime_type>text/csv</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="\r?\n"> + <token type="Punctuation" /> + </rule> + <rule pattern=","> + <token type="Punctuation" /> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble" /> + <push state="escaped" /> + </rule> + <rule pattern="[^\r\n,]+"> + <token type="LiteralString" /> + </rule> + </state> + <state name="escaped"> + <rule pattern=""""> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble" /> + <pop depth="1"/> + </rule> + <rule pattern="[^"]+"> + <token type="LiteralStringDouble" /> + </rule> + </state> + </rules> +</lexer> 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..2a12f39 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml @@ -0,0 +1,85 @@ +<lexer> + <config> + <name>CUE</name> + <alias>cue</alias> + <filename>*.cue</filename> + <mime_type>text/x-cue</mime_type> + <dot_all>true</dot_all> + <ensure_nl>true</ensure_nl> + </config> + <rules> + <state name="root"> + <rule pattern="[^\S\n]+"> + <token type="Text"/> + </rule> + <rule pattern="\\\n"> + <token type="Text"/> + </rule> + <rule pattern="//[^\n\r]+"> + <token type="CommentSingle"/> + </rule> + <rule pattern="\n"> + <token type="Text"/> + </rule> + <rule pattern="(\+|&&|==|<|=|-|\|\||!=|>|:|\*|&|=~|<=|\?|\[|\]|,|/|\||!~|>=|!|_\|_|\.\.\.)"> + <token type="Operator"/> + </rule> + <rule pattern="#*"+"> + <token type="LiteralString"/> + <push state="string"/> + </rule> + <rule pattern="'(\\\\|\\'|[^'\n])*['\n]"> + <token type="LiteralString"/> + </rule> + <rule pattern="0[boxX][0-9a-fA-F][_0-9a-fA-F]*|(\.\d+|\d[_\d]*(\.\d*)?)([eE][+-]?\d+)?[KMGTP]?i?"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="[~!%^&*()+=|\[\]:;,.<>/?-]"> + <token type="Punctuation"/> + </rule> + <rule pattern="[{}]"> + <token type="Punctuation"/> + </rule> + <rule pattern="(import|for|if|in|let|package)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(bool|float|int|string|uint|ulong|ushort)\b\??"> + <token type="KeywordType"/> + </rule> + <rule pattern="(true|false|null|_)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="[@#]?[_a-zA-Z$]\w*"> + <token type="Name"/> + </rule> + </state> + <state name="string"> + <rule pattern="\\#*\("> + <token type="LiteralStringInterpol"/> + <push state="string-intp"/> + </rule> + <rule pattern=""+#*"> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="[^\\"]+"> + <token type="LiteralString"/> + </rule> + <rule pattern="\\"> + <token type="LiteralString"/> + </rule> + </state> + <state name="string-intp"> + <rule pattern="\)"> + <token type="LiteralStringInterpol"/> + <pop depth="1"/> + </rule> + <rule> + <include state="root"/> + </rule> + </state> + </rules> +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dax.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dax.xml new file mode 100644 index 0000000..2bb3a1a --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dax.xml @@ -0,0 +1,39 @@ +<lexer> + <config> + <name>Dax</name> + <alias>dax</alias> + <filename>*.dax</filename> + </config> + <rules> + <state name="root"> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="--.*\n?"><token type="CommentSingle"/></rule> + <rule pattern="//.*\n?"><token type="CommentSingle"/></rule> + <rule pattern="/\*"><token type="CommentMultiline"/><push state="multiline-comments"/></rule> + <rule pattern="(CONTAINS|CONTAINSROW|CUSTOMDATA|ISAFTER|ISBLANK|ISERROR|ISEVEN|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|LOOKUPVALUE|NONVISUAL|SELECTEDMEASURE|SELECTEDMEASURENAME|USERNAME|USEROBJECTID|USERPRINCIPALNAME|TOJSON|TOCSV|EVALUATEANDLOG|USERCULTURE|WINDOW|PARTITIONBY|ORDERBY|OFFSET|INDEX|ROWNUMBER|MATCHBY|ACCRINT|ACCRINTM|AMORDEGRC|AMORLINC|COUPDAYBS|COUPDAYS|COUPDAYSNC|COUPNCD|COUPNUM|COUPPCD|CUMIPMT|CUMPRINC|DB|DDB|DISC|DOLLARDE|DOLLARFR|DURATION|EFFECT|FV|INTRATE|IPMT|ISPMT|MDURATION|NOMINAL|NPER|ODDFPRICE|ODDFYIELD|ODDLPRICE|ODDLYIELD|PDURATION|PMT|PPMT|PRICE|PRICEDISC|PRICEMAT|PV|RATE|RECEIVED|RRI|SLN|SYD|TBILLEQ|TBILLPRICE|TBILLYIELD|VDB|YIELD|YIELDDISC|YIELDMAT|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|CALCULATE|CALCULATETABLE|CROSSFILTER|EARLIER|EARLIEST|FILTER|FILTERS|HASONEFILTER|HASONEVALUE|ISCROSSFILTERED|ISFILTERED|KEEPFILTERS|RELATED|RELATEDTABLE|REMOVEFILTERS|SELECTEDVALUE|SUBSTITUTEWITHINDEX|USERELATIONSHIP|VALUES|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|DATEADD|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|PARALLELPERIOD|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|SAMEPERIODLASTYEAR|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|TOTALMTD|TOTALQTD|TOTALYTD|RETURN|ABS|ACOS|ACOSH|ACOT|ACOTH|ASIN|ASINH|ATAN|ATANH|CEILING|COMBIN|COMBINA|COS|COSH|COT|COTH|CURRENCY|DEGREES|DIVIDE|EVEN|EXP|FACT|FLOOR|GCD|INT|ISO.CEILING|LCM|LN|LOG|LOG10|MOD|MROUND|ODD|PI|POWER|PRODUCT|PRODUCTX|QUOTIENT|RADIANS|RAND|RANDBETWEEN|ROUND|ROUNDDOWN|ROUNDUP|SIGN|SQRT|SUM|SUMX|TRUNC|BLANK|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONTAINSSTRING|CONTAINSSTRINGEXACT|EXACT|FIND|FIXED|FORMAT|LEFT|LEN|LOWER|MID|REPLACE|REPT|RIGHT|SEARCH|SUBSTITUTE|TRIM|UNICHAR|UNICODE|UPPER|VALUE|LINEST|LINESTX|CONVERT|DATATABLE|ERROR|EXCEPT|GENERATESERIES|GROUPBY|INTERSECT|ISEMPTY|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|SELECTEDMEASUREFORMATSTRING|SUMMARIZECOLUMNS|Table Constructor|TREATAS|UNION|VAR|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|ADDCOLUMNS|ADDMISSINGITEMS|CURRENTGROUP|DETAILROWS|DISTINCT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|EXTERNALMEASURE|PMT|PPMT|PRICE|PRICEDISC|PRICEMAT|PV|RATE|RECEIVED|RRI|SLN|SYD|TBILLEQ|TBILLPRICE|TBILLYIELD|VDB|YIELD|YIELDDISC|YIELDMAT|CALENDAR|CALENDARAUTO|DATE|DATEDIFF|DATEVALUE|DAY|EDATE|EOMONTH|HOUR|MINUTE|MONTH|NETWORKDAYS|NOW|QUARTER|SECOND|TIME|TIMEVALUE|TODAY|UTCNOW|UTCTODAY|WEEKDAY|WEEKNUM|YEAR|YEARFRAC|APPROXIMATEDISTINCTCOUNT|AVERAGE|AVERAGEA|AVERAGEX|BETA.DIST|BETA.INV|CHISQ.DIST|CHISQ.DIST.RT|CHISQ.INV|CHISQ.INV.RT|CONFIDENCE.NORM|CONFIDENCE.T|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSJOIN|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|EXPON.DIST|GENERATE|GENERATEALL|GEOMEAN|GEOMEANX|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MIN|MINA|MINX|NORM.DIST|NORM.INV|NORM.S.DIST|NORM.S.INV|PERCENTILE.EXC|PERCENTILE.INC|PERCENTILEX.EXC|PERCENTILEX.INC|PERMUT|POISSON.DIST|RANK.EQ|RANKX|ROW|SAMPLE|SELECTCOLUMNS|SIN|SINH|SQRTPI|STDEV.P|STDEV.S|STDEVX.P|STDEVX.S|SUMMARIZE|T.DIST|T.DIST.2T|T.DIST.RT|T.INV|T.INV.2T|TAN|TANH|TOPN|VAR|VAR.P|VAR.S|VARX.P|VARX.S|XIRR|XNPV|RANK)\b"> + <token type="NameFunction"/>
+ </rule>
+ <rule pattern="(AND|BITAND|BITLSHIFT|BITOR|BITRSHIFT|BITXOR|COALESCE|FALSE|IF|IF.EAGER|IFERROR|IN|NOT|OR|SWITCH|TRUE)\b"> + <token type="NameOperator"/> + </rule> + <rule pattern="[+*/<>=!^&|,-]"><token type="Operator"/></rule> + <rule pattern="""><token type="LiteralString"/><push state="string"/></rule> + <rule pattern="'(?:[^']|'')*'(?!')(?:\[[ \w]+\])?|\w+\[[ \w]+\]"><token type="NameAttribute"/></rule> + <rule pattern="\[[ \w]+\]"><token type="NameAttribute"/></rule> + <rule pattern="(?<!\w)(\d+\.?\d*|\.\d+\b)"><token type="LiteralNumber"/></rule> + <rule pattern="[\[\](){}`,.]"><token type="Punctuation"/></rule> + <rule pattern=".*\n"><token type="Text"/></rule> + </state> + <state name="multiline-comments"> + <rule pattern="/\*"><token type="CommentMultiline"/><push state="multiline-comments"/></rule> + <rule pattern="\*/"><token type="CommentMultiline"/><pop depth="1"/></rule> + <rule pattern="[^/*]+"><token type="CommentMultiline"/></rule> + <rule pattern="[/*]"><token type="CommentMultiline"/></rule> + </state> + <state name="string"> + <rule pattern=""""><token type="LiteralStringEscape"/></rule> + <rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule> + <rule pattern="[^"]+"><token type="LiteralString"/></rule> + </state> + </rules> +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml new file mode 100644 index 0000000..ad71ad4 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml @@ -0,0 +1,17 @@ +<lexer> + <config> + <name>Desktop file</name> + <alias>desktop</alias> + <alias>desktop_entry</alias> + <filename>*.desktop</filename> + <mime_type>application/x-desktop</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="^[ \t]*\n"><token type="TextWhitespace"/></rule> + <rule pattern="^(#.*)(\n)"><bygroups><token type="CommentSingle"/><token type="TextWhitespace"/></bygroups></rule> + <rule pattern="(\[[^\]\n]+\])(\n)"><bygroups><token type="Keyword"/><token type="TextWhitespace"/></bygroups></rule> + <rule pattern="([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)"><bygroups><token type="NameAttribute"/><token type="NameNamespace"/><token type="TextWhitespace"/><token type="Operator"/><token type="TextWhitespace"/><token type="LiteralString"/><token type="TextWhitespace"/></bygroups></rule> + </state> + </rules> +</lexer>
\ 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 index 5ac3c25..ef8f663 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dns.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/dns.xml @@ -27,7 +27,7 @@ <rule pattern="\b([\w\d.-])+\.($|\s)"> <token type="NameProperty"/> </rule> - <rule pattern="^(@|[\w\d-]+)"> + <rule pattern="([\w\d\.-]+\.[a-z-]{2,24}\.?|^(@|[\w\d-]+))"> <token type="NameClass"/> </rule> <rule pattern="^\$(TTL|GENERATE|INCLUDE|ORIGIN)"> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml index 77c8937..a73c52c 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/docker.xml @@ -5,6 +5,7 @@ <alias>dockerfile</alias> <filename>Dockerfile</filename> <filename>Dockerfile.*</filename> + <filename>*.Dockerfile</filename> <filename>*.docker</filename> <mime_type>text/x-dockerfile-config</mime_type> <case_insensitive>true</case_insensitive> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml index 350beac..811f38d 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript.xml @@ -7,8 +7,8 @@ <mime_type>text/x-gdscript</mime_type> <mime_type>application/x-gdscript</mime_type> <priority>0.1</priority> - <analyse first="true"> - <regex pattern="^@" score="0.4"/> + <analyse> + <regex pattern="^export" score="0.1"/> </analyse> </config> <rules> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml index ea78bb7..b50c9dd 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gdscript3.xml @@ -6,8 +6,10 @@ <filename>*.gd</filename> <mime_type>text/x-gdscript</mime_type> <mime_type>application/x-gdscript</mime_type> - <analyse first="true"> - <regex pattern="^export" score="0.1"/> + <analyse> + <regex pattern="func (_ready|_init|_input|_process|_unhandled_input)" score="0.8"/> + <regex pattern="(extends |class_name |onready |preload|load|setget|func [^_])" score="0.4"/> + <regex pattern="(var|const|enum|export|signal|tool)" score="0.2"/> </analyse> </config> <rules> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gleam.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gleam.xml new file mode 100644 index 0000000..6205aa1 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/gleam.xml @@ -0,0 +1,117 @@ +<lexer> + <config> + <name>Gleam</name> + <alias>gleam</alias> + <filename>*.gleam</filename> + <mime_type>text/x-gleam</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="\s+"> + <token type="TextWhitespace"/> + </rule> + <rule pattern="///(.*?)\n"> + <token type="LiteralStringDoc"/> + </rule> + <rule pattern="//(.*?)\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="(as|assert|case|opaque|panic|pub|todo)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(import|use)\b"> + <token type="KeywordNamespace"/> + </rule> + <rule pattern="(auto|const|delegate|derive|echo|else|if|implement|macro|test)\b"> + <token type="KeywordReserved"/> + </rule> + <rule pattern="(let)\b"> + <token type="KeywordDeclaration"/> + </rule> + <rule pattern="(fn)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(type)\b"> + <token type="Keyword"/> + <push state="typename"/> + </rule> + <rule pattern="(True|False)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="0[bB][01](_?[01])*"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="0[oO][0-7](_?[0-7])*"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="0[xX][\da-fA-F](_?[\dA-Fa-f])*"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="\d(_?\d)*"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <push state="string"/> + </rule> + <rule pattern="@([a-z_]\w*[!?]?)"> + <token type="NameAttribute"/> + </rule> + <rule pattern="[{}()\[\],]|[#(]|\.\.|<>|<<|>>"> + <token type="Punctuation"/> + </rule> + <rule pattern="[+\-*/%!=<>&|.]|<-"> + <token type="Operator"/> + </rule> + <rule pattern=":|->"> + <token type="Operator"/> + <push state="typename"/> + </rule> + <rule pattern="([a-z_][A-Za-z0-9_]*)(\()"> + <bygroups> + <token type="NameFunction"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="([A-Z][A-Za-z0-9_]*)(\()"> + <bygroups> + <token type="NameClass"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="([a-z_]\w*[!?]?)"> + <token type="Name"/> + </rule> + </state> + <state name="typename"> + <rule pattern="\s+"> + <token type="TextWhitespace"/> + </rule> + <rule pattern="[A-Z][A-Za-z0-9_]*"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="string"> + <rule pattern="""> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\\["\\fnrt]|\\u\{[\da-fA-F]{1,6}\}"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="[^\\"]+"> + <token type="LiteralString"/> + </rule> + <rule pattern="\\"> + <token type="LiteralString"/> + </rule> + </state> + </rules> +</lexer> 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 index 0900922..36f737b 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/go_template.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/go_template.xml @@ -2,6 +2,8 @@ <config> <name>Go Template</name> <alias>go-template</alias> + <filename>*.gotmpl</filename> + <filename>*.go.tmpl</filename> </config> <rules> <state name="template"> @@ -109,4 +111,4 @@ </rule> </state> </rules> -</lexer> +</lexer>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hare.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hare.xml new file mode 100644 index 0000000..c1f7e94 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hare.xml @@ -0,0 +1,98 @@ +<lexer> + <config> + <name>Hare</name> + <alias>hare</alias> + <filename>*.ha</filename> + <mime_type>text/x-hare</mime_type> + </config> + <rules> + <state name="string"> + <rule pattern="""> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\\([\\0abfnrtv"']|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="[^\\"\n]+"> + <token type="LiteralString"/> + </rule> + <rule pattern="\\"> + <token type="LiteralString"/> + </rule> + </state> + <state name="root"> + <rule pattern="[\s\n]+"> + <token type="TextWhitespace"/> + </rule> + <rule pattern="@[a-z]+"> + <token type="NameDecorator"/> + </rule> + <rule pattern="//.*\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <push state="string"/> + </rule> + <rule pattern="`[^`]*`"> + <token type="LiteralString"/> + </rule> + <rule pattern="'(\\[\\0abfnrtv"']||\\(x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})|[^\\'])'"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="(0|[1-9]\d*)\.\d+([eE][+-]?\d+)?(f32|f64)?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="(0|[1-9]\d*)([eE][+-]?\d+)?(f32|f64)"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0x[0-9a-fA-F]+\.[0-9a-fA-F]+([pP][+-]?\d+(f32|f64)?)?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0x[0-9a-fA-F]+[pP][+-]?\d+(f32|f64)"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0x[0-9a-fA-F]+(z|[iu](8|16|32|64)?)?"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="0o[0-7]+(z|[iu](8|16|32|64)?)?"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="0b[01]+(z|[iu](8|16|32|64)?)?"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="(0|[1-9]\d*)([eE][+-]?\d+)?(z|[iu](8|16|32|64)?)?"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="[~!%^&*+=|?:<>/-]|[ai]s\b|\.\.\."> + <token type="Operator"/> + </rule> + <rule pattern="[()\[\],.{};]"> + <token type="Punctuation"/> + </rule> + <rule pattern="use\b"> + <token type="KeywordNamespace"/> + </rule> + <rule pattern="(_|align|break|const|continue|else|enum|export|for|if|return|static|struct|offset|union|fn|free|assert|abort|alloc|let|len|def|type|match|switch|case|append|delete|insert|defer|yield|vastart|vaarg|vaend)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(size)([\s\n]*)(\()"> + <bygroups> + <token type="Keyword" /> + <token type="TextWhitespace" /> + <token type="Punctuation" /> + </bygroups> + </rule> + <rule pattern="(str|size|rune|bool|int|uint|uintptr|u8|u16|u32|u64|i8|i16|i32|i64|f32|f64|null|void|done|nullable|valist|opaque|never)\b"> + <token type="KeywordType"/> + </rule> + <rule pattern="(true|false)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="[a-zA-Z_]\w*"> + <token type="Name"/> + </rule> + </state> + </rules> +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml index 6dc6912..1fad082 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml @@ -86,7 +86,7 @@ <rule pattern="\\(?![:!#$%&*+.\\/<=>?@^|~-]+)"> <token type="NameFunction"/> </rule> - <rule pattern="(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)"> + <rule pattern="(<-|::|->|=>|=|'([:!#$%&*+.\\/<=>?@^|~-]+))(?![:!#$%&*+.\\/<=>?@^|~-]+)"> <token type="OperatorWord"/> </rule> <rule pattern=":[:!#$%&*+.\\/<=>?@^|~-]*"> @@ -95,19 +95,22 @@ <rule pattern="[:!#$%&*+.\\/<=>?@^|~-]+"> <token type="Operator"/> </rule> - <rule pattern="\d+[eE][+-]?\d+"> + <rule pattern="\d+_*[eE][+-]?\d+"> <token type="LiteralNumberFloat"/> </rule> - <rule pattern="\d+\.\d+([eE][+-]?\d+)?"> + <rule pattern="\d+(_+[\d]+)*\.\d+(_+[\d]+)*([eE][+-]?\d+)?"> <token type="LiteralNumberFloat"/> </rule> - <rule pattern="0[oO][0-7]+"> + <rule pattern="0[oO](_*[0-7])+"> <token type="LiteralNumberOct"/> </rule> - <rule pattern="0[xX][\da-fA-F]+"> + <rule pattern="0[xX](_*[\da-fA-F])+"> <token type="LiteralNumberHex"/> </rule> - <rule pattern="\d+"> + <rule pattern="0[bB](_*[01])+"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="\d+(_*[\d])*"> <token type="LiteralNumberInteger"/> </rule> <rule pattern="'"> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml index eabddee..3ce33ff 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/java.xml @@ -5,116 +5,188 @@ <filename>*.java</filename> <mime_type>text/x-java</mime_type> <dot_all>true</dot_all> - <ensure_nl>true</ensure_nl> </config> <rules> - <state name="class"> - <rule pattern="([^\W\d]|\$)[\w$]*"> - <token type="NameClass"/> - <pop depth="1"/> - </rule> - </state> - <state name="import"> - <rule pattern="[\w.]+\*?"> - <token type="NameNamespace"/> - <pop depth="1"/> - </rule> - </state> <state name="root"> + <rule pattern="(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\b"> + <bygroups> + <token type="TextWhitespace" /> + <usingself state="root" /> + <token type="KeywordDeclaration" /> + </bygroups> + <push state="class" /> + </rule> <rule pattern="[^\S\n]+"> - <token type="Text"/> + <token type="TextWhitespace" /> </rule> - <rule pattern="//.*?\n"> - <token type="CommentSingle"/> + <rule pattern="(//.*?)(\n)"> + <bygroups> + <token type="CommentSingle" /> + <token type="TextWhitespace" /> + </bygroups> </rule> <rule pattern="/\*.*?\*/"> - <token type="CommentMultiline"/> + <token type="CommentMultiline" /> </rule> - <rule pattern="(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\b"> - <token type="Keyword"/> + <rule + pattern="(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\b"> + <token type="Keyword" /> </rule> <rule pattern="((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()"> <bygroups> - <usingself state="root"/> - <token type="NameFunction"/> - <token type="Text"/> - <token type="Operator"/> + <usingself state="root" /> + <token type="NameFunction" /> + <token type="TextWhitespace" /> + <token type="Punctuation" /> </bygroups> </rule> <rule pattern="@[^\W\d][\w.]*"> - <token type="NameDecorator"/> + <token type="NameDecorator" /> </rule> - <rule pattern="(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\b"> - <token type="KeywordDeclaration"/> + <rule + pattern="(abstract|const|enum|extends|final|implements|native|private|protected|public|sealed|static|strictfp|super|synchronized|throws|transient|volatile|yield)\b"> + <token type="KeywordDeclaration" /> </rule> <rule pattern="(boolean|byte|char|double|float|int|long|short|void)\b"> - <token type="KeywordType"/> + <token type="KeywordType" /> </rule> <rule pattern="(package)(\s+)"> <bygroups> - <token type="KeywordNamespace"/> - <token type="Text"/> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> </bygroups> - <push state="import"/> + <push state="import" /> </rule> <rule pattern="(true|false|null)\b"> - <token type="KeywordConstant"/> + <token type="KeywordConstant" /> + </rule> + <rule pattern="(class|interface)\b"> + <token type="KeywordDeclaration" /> + <push state="class" /> </rule> - <rule pattern="(class|interface)(\s+)"> + <rule pattern="(var)(\s+)"> <bygroups> - <token type="KeywordDeclaration"/> - <token type="Text"/> + <token type="KeywordDeclaration" /> + <token type="TextWhitespace" /> </bygroups> - <push state="class"/> + <push state="var" /> </rule> <rule pattern="(import(?:\s+static)?)(\s+)"> <bygroups> - <token type="KeywordNamespace"/> - <token type="Text"/> + <token type="KeywordNamespace" /> + <token type="TextWhitespace" /> </bygroups> - <push state="import"/> + <push state="import" /> </rule> - <rule pattern=""(\\\\|\\"|[^"])*""> - <token type="LiteralString"/> + <rule pattern=""""\n"> + <token type="LiteralString" /> + <push state="multiline_string" /> </rule> - <rule pattern="'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'"> - <token type="LiteralStringChar"/> + <rule pattern="""> + <token type="LiteralString" /> + <push state="string" /> </rule> - <rule pattern="\d+[LlUu]*"> - <token type="LiteralNumberInteger"/> + <rule pattern="'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'"> + <token type="LiteralStringChar" /> </rule> <rule pattern="(\.)((?:[^\W\d]|\$)[\w$]*)"> <bygroups> - <token type="Operator"/> - <token type="NameAttribute"/> + <token type="Punctuation" /> + <token type="NameAttribute" /> + </bygroups> + </rule> + <rule pattern="^(\s*)(default)(:)"> + <bygroups> + <token type="TextWhitespace" /> + <token type="Keyword" /> + <token type="Punctuation" /> </bygroups> </rule> - <rule pattern="^\s*([^\W\d]|\$)[\w$]*:"> - <token type="NameLabel"/> + <rule pattern="^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)"> + <bygroups> + <token type="TextWhitespace" /> + <token type="NameLabel" /> + <token type="Punctuation" /> + </bygroups> </rule> <rule pattern="([^\W\d]|\$)[\w$]*"> - <token type="Name"/> + <token type="Name" /> </rule> - <rule pattern="([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?"> - <token type="LiteralNumberFloat"/> + <rule + pattern="([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?"> + <token type="LiteralNumberFloat" /> </rule> <rule pattern="0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?"> - <token type="LiteralNumberHex"/> + <token type="LiteralNumberHex" /> </rule> <rule pattern="0[bB][01][01_]*[lL]?"> - <token type="LiteralNumberBin"/> + <token type="LiteralNumberBin" /> </rule> <rule pattern="0[0-7_]+[lL]?"> - <token type="LiteralNumberOct"/> + <token type="LiteralNumberOct" /> </rule> <rule pattern="0|[1-9][0-9_]*[lL]?"> - <token type="LiteralNumberInteger"/> + <token type="LiteralNumberInteger" /> </rule> - <rule pattern="[~^*!%&\[\](){}<>|+=:;,./?-]"> - <token type="Operator"/> + <rule pattern="[~^*!%&\[\]<>|+=/?-]"> + <token type="Operator" /> + </rule> + <rule pattern="[{}();:.,]"> + <token type="Punctuation" /> </rule> <rule pattern="\n"> - <token type="Text"/> + <token type="TextWhitespace" /> + </rule> + </state> + <state name="class"> + <rule pattern="\s+"> + <token type="Text" /> + </rule> + <rule pattern="([^\W\d]|\$)[\w$]*"> + <token type="NameClass" /> + <pop depth="1" /> + </rule> + </state> + <state name="var"> + <rule pattern="([^\W\d]|\$)[\w$]*"> + <token type="Name" /> + <pop depth="1" /> + </rule> + </state> + <state name="import"> + <rule pattern="[\w.]+\*?"> + <token type="NameNamespace" /> + <pop depth="1" /> + </rule> + </state> + <state name="multiline_string"> + <rule pattern="""""> + <token type="LiteralString" /> + <pop depth="1" /> + </rule> + <rule pattern="""> + <token type="LiteralString" /> + </rule> + <rule> + <include state="string" /> + </rule> + </state> + <state name="string"> + <rule pattern="[^\\"]+"> + <token type="LiteralString" /> + </rule> + <rule pattern="\\\\"> + <token type="LiteralString" /> + </rule> + <rule pattern="\\""> + <token type="LiteralString" /> + </rule> + <rule pattern="\\"> + <token type="LiteralString" /> + </rule> + <rule pattern="""> + <token type="LiteralString" /> + <pop depth="1" /> </rule> </state> </rules> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml index bbe10b1..a34abfa 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml @@ -3,6 +3,8 @@ <name>JSON</name> <alias>json</alias> <filename>*.json</filename> + <filename>*.jsonc</filename> + <filename>*.avsc</filename> <mime_type>application/json</mime_type> <dot_all>true</dot_all> <not_multiline>true</not_multiline> @@ -107,4 +109,4 @@ </rule> </state> </rules> -</lexer>
\ No newline at end of file +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jsonata.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jsonata.xml new file mode 100644 index 0000000..c0eafab --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jsonata.xml @@ -0,0 +1,83 @@ +<lexer> + <config> + <name>JSONata</name> + <alias>jsonata</alias> + <filename>*.jsonata</filename> + <dot_all>true</dot_all> + </config> + <rules> + <state name="root"> + <rule pattern="/\*.*?\*/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="[{}()\[\]:;,\.=]"> + <token type="Punctuation"/> + </rule> + <rule pattern="\.\."> // Spread operator + <token type="Operator"/> + </rule> + <rule pattern="\^(?=\()"> // Sort operator + <token type="Operator"/> + </rule> + <rule pattern="\*\*|\*(?=\.)|\*"> // Descendant | Wildcard | Multiplication + <token type="Operator"/> + </rule> + <rule pattern="\/(?!\*)"> // Division + <token type="Operator"/> + </rule> + <rule pattern="[<>!]=?"> // Comparison operators + <token type="Operator"/> + </rule> + <rule pattern="~>"> + <token type="Operator"/> + </rule> + <rule pattern="\b(and|or|in)\b"> + <token type="Operator"/> + </rule> + <rule pattern="[%@#&?]|\+(?!\d)|\-(?!\d)"> + <token type="Operator"/> + </rule> + <rule pattern="\$[a-zA-Z0-9_]*(?![\w\(])"> + <token type="NameVariable"/> + </rule> + <rule pattern="\$\w*(?=\()"> + <token type="NameFunction"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="(true|false)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="\b(function)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(\+|-)?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="(\+|-)?(0|[1-9]\d*)"> + <token type="LiteralNumberInteger"/> + </rule> + <!-- NOTE: This expression matches all object keys (NameTags), which are essentially strings with double quotes + that should only be captured on the left side of a colon (:) within a JSON-like object. + Therefore, this expression must preceed the one for all LiteralStringDouble --> + <rule pattern=""(\\.|[^\\"\r\n])*"(?=\s*:)"> + <token type="NameTag"/> + </rule> + <rule pattern=""(\\\\|\\"|[^"])*""> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="'(\\|\\'|[^'])*'"> + <token type="LiteralStringSingle"/> + </rule> + <rule pattern="`.*`"> + <token type="LiteralStringBacktick"/> + </rule> + <!-- NOTE: This expression matches everything remaining, which should be only JSONata names. + Therefore, it has been left as last intentionally --> + <rule pattern="[a-zA-Z0-9_]*"> + <token type="Name"/> + </rule> + </state> + </rules> +</lexer>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jsonnet.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jsonnet.xml new file mode 100644 index 0000000..1633a5e --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/jsonnet.xml @@ -0,0 +1,138 @@ + +<lexer> + <config> + <name>Jsonnet</name> + <alias>jsonnet</alias> + <filename>*.jsonnet</filename> + <filename>*.libsonnet</filename> + </config> + <rules> + <state name="_comments"> + <rule pattern="(//|#).*\n"><token type="CommentSingle"/></rule> + <rule pattern="/\*\*([^/]|/(?!\*))*\*/"><token type="LiteralStringDoc"/></rule> + <rule pattern="/\*([^/]|/(?!\*))*\*/"><token type="Comment"/></rule> + </state> + <state name="root"> + <rule><include state="_comments"/></rule> + <rule pattern="@'.*'"><token type="LiteralString"/></rule> + <rule pattern="@".*""><token type="LiteralString"/></rule> + <rule pattern="'"><token type="LiteralString"/><push state="singlestring"/></rule> + <rule pattern="""><token type="LiteralString"/><push state="doublestring"/></rule> + <rule pattern="\|\|\|(.|\n)*\|\|\|"><token type="LiteralString"/></rule> + <rule pattern="[+-]?[0-9]+(.[0-9])?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="[!$~+\-&|^=<>*/%]"><token type="Operator"/></rule> + <rule pattern="\{"><token type="Punctuation"/><push state="object"/></rule> + <rule pattern="\["><token type="Punctuation"/><push state="array"/></rule> + <rule pattern="local\b"><token type="Keyword"/><push state="local_name"/></rule> + <rule pattern="assert\b"><token type="Keyword"/><push state="assert"/></rule> + <rule pattern="(assert|else|error|false|for|if|import|importstr|in|null|tailstrict|then|self|super|true)\b"><token type="Keyword"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="function(?=\()"><token type="Keyword"/><push state="function_params"/></rule> + <rule pattern="std\.[^\W\d]\w*(?=\()"><token type="NameBuiltin"/><push state="function_args"/></rule> + <rule pattern="[^\W\d]\w*(?=\()"><token type="NameFunction"/><push state="function_args"/></rule> + <rule pattern="[^\W\d]\w*"><token type="NameVariable"/></rule> + <rule pattern="[\.()]"><token type="Punctuation"/></rule> + </state> + <state name="singlestring"> + <rule pattern="[^'\\]"><token type="LiteralString"/></rule> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="'"><token type="LiteralString"/><pop depth="1"/></rule> + </state> + <state name="doublestring"> + <rule pattern="[^"\\]"><token type="LiteralString"/></rule> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule> + </state> + <state name="array"> + <rule pattern=","><token type="Punctuation"/></rule> + <rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="local_name"> + <rule pattern="[^\W\d]\w*(?=\()"><token type="NameFunction"/><push state="function_params"/></rule> + <rule pattern="[^\W\d]\w*"><token type="NameVariable"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="(?==)"><token type="TextWhitespace"/><push state="#pop" state="local_value"/></rule> + </state> + <state name="local_value"> + <rule pattern="="><token type="Operator"/></rule> + <rule pattern=";"><token type="Punctuation"/><pop depth="1"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="assert"> + <rule pattern=":"><token type="Punctuation"/></rule> + <rule pattern=";"><token type="Punctuation"/><pop depth="1"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="function_params"> + <rule pattern="[^\W\d]\w*"><token type="NameVariable"/></rule> + <rule pattern="\("><token type="Punctuation"/></rule> + <rule pattern="\)"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern=","><token type="Punctuation"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="="><token type="Operator"/><push state="function_param_default"/></rule> + </state> + <state name="function_args"> + <rule pattern="\("><token type="Punctuation"/></rule> + <rule pattern="\)"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern=","><token type="Punctuation"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="object"> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="local\b"><token type="Keyword"/><push state="object_local_name"/></rule> + <rule pattern="assert\b"><token type="Keyword"/><push state="object_assert"/></rule> + <rule pattern="\["><token type="Operator"/><push state="field_name_expr"/></rule> + <rule pattern="(?=[^\W\d]\w*)"><token type="Text"/><push state="field_name"/></rule> + <rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="""><token type="NameVariable"/><push state="double_field_name"/></rule> + <rule pattern="'"><token type="NameVariable"/><push state="single_field_name"/></rule> + <rule><include state="_comments"/></rule> + </state> + <state name="field_name"> + <rule pattern="[^\W\d]\w*(?=\()"><token type="NameFunction"/><push state="field_separator" state="function_params"/></rule> + <rule pattern="[^\W\d]\w*"><token type="NameVariable"/><push state="field_separator"/></rule> + </state> + <state name="double_field_name"> + <rule pattern="([^"\\]|\\.)*""><token type="NameVariable"/><push state="field_separator"/></rule> + </state> + <state name="single_field_name"> + <rule pattern="([^'\\]|\\.)*'"><token type="NameVariable"/><push state="field_separator"/></rule> + </state> + <state name="field_name_expr"> + <rule pattern="\]"><token type="Operator"/><push state="field_separator"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="function_param_default"> + <rule pattern="(?=[,\)])"><token type="TextWhitespace"/><pop depth="1"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="field_separator"> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="\+?::?:?"><token type="Punctuation"/><push state="#pop" state="#pop" state="field_value"/></rule> + <rule><include state="_comments"/></rule> + </state> + <state name="field_value"> + <rule pattern=","><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="\}"><token type="Punctuation"/><pop depth="2"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="object_assert"> + <rule pattern=":"><token type="Punctuation"/></rule> + <rule pattern=","><token type="Punctuation"/><pop depth="1"/></rule> + <rule><include state="root"/></rule> + </state> + <state name="object_local_name"> + <rule pattern="[^\W\d]\w*"><token type="NameVariable"/><push state="#pop" state="object_local_value"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + </state> + <state name="object_local_value"> + <rule pattern="="><token type="Operator"/></rule> + <rule pattern=","><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="\}"><token type="Punctuation"/><pop depth="2"/></rule> + <rule><include state="root"/></rule> + </state> + </rules> +</lexer> + diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml index 81d1893..a82a7f8 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/makefile.xml @@ -12,6 +12,9 @@ <filename>Makefile.*</filename> <filename>GNUmakefile</filename> <filename>BSDmakefile</filename> + <filename>Justfile</filename> + <filename>justfile</filename> + <filename>.justfile</filename> <mime_type>text/x-makefile</mime_type> <ensure_nl>true</ensure_nl> </config> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml new file mode 100644 index 0000000..7094ddc --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml @@ -0,0 +1,155 @@ +<lexer> + <config> + <name>Materialize SQL dialect</name> + <mime_type>text/x-materializesql</mime_type> + <case_insensitive>true</case_insensitive> + <not_multiline>true</not_multiline> + <alias>materialize</alias> + <alias>mzsql</alias> + </config> + <rules> + <state name="root"> + <rule pattern="\s+"> + <token type="Text" /> + </rule> + <rule pattern="--.*\n?"> + <token type="CommentSingle" /> + </rule> + <rule pattern="/\*"> + <token type="CommentMultiline" /> + <push state="multiline-comments" /> + </rule> + <rule pattern="(bigint|bigserial|bit|bit\s+varying|bool|boolean|box|bytea|char|character|character\s+varying|cidr|circle|date|decimal|double\s+precision|float4|float8|inet|int|int2|int4|int8|integer|interval|json|jsonb|line|lseg|macaddr|money|numeric|path|pg_lsn|point|polygon|real|serial|serial2|serial4|serial8|smallint|smallserial|text|time|timestamp|timestamptz|timetz|tsquery|tsvector|txid_snapshot|uuid|varbit|varchar|with\s+time\s+zone|without\s+time\s+zone|xml|anyarray|anyelement|anyenum|anynonarray|anyrange|cstring|fdw_handler|internal|language_handler|opaque|record|void)\b"> + <token type="NameBuiltin" /> + </rule> + <rule pattern="(?s)(DO)(\s+)(?:(LANGUAGE)?(\s+)('?)(\w+)?('?)(\s+))?(\$)([^$]*)(\$)(.*?)(\$)(\10)(\$)"> + <usingbygroup> + <sublexer_name_group>6</sublexer_name_group> + <code_group>12</code_group> + <emitters> + <token type="Keyword" /> + <token type="Text" /> + <token type="Keyword" /> + <token type="Text" /> + <token type="LiteralStringSingle" /> + <token type="LiteralStringSingle" /> + <token type="LiteralStringSingle" /> + <token type="Text" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + </emitters> + </usingbygroup> + </rule> + <rule pattern="(ACCESS|ADD|ADDRESSES|AGGREGATE|ALIGNED|ALL|ALTER|ANALYSIS|AND|ANY|ARITY|ARN|ARRANGEMENT|ARRAY|AS|ASC|ASSERT|ASSUME|AT|AUCTION|AUTHORITY|AVAILABILITY|AVRO|AWS|BATCH|BEGIN|BETWEEN|BIGINT|BILLED|BODY|BOOLEAN|BOTH|BPCHAR|BROKEN|BROKER|BROKERS|BY|BYTES|CARDINALITY|CASCADE|CASE|CAST|CERTIFICATE|CHAIN|CHAINS|CHAR|CHARACTER|CHARACTERISTICS|CHECK|CLASS|CLIENT|CLOCK|CLOSE|CLUSTER|CLUSTERS|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPACTION|COMPATIBILITY|COMPRESSION|COMPUTE|COMPUTECTL|CONFIG|CONFLUENT|CONNECTION|CONNECTIONS|CONSTRAINT|CONTINUAL|COPY|COUNT|COUNTER|CREATE|CREATECLUSTER|CREATEDB|CREATEROLE|CREATION|CROSS|CSV|CURRENT|CURSOR|DATABASE|DATABASES|DATUMS|DAY|DAYS|DEALLOCATE|DEBEZIUM|DEBUG|DEBUGGING|DEC|DECIMAL|DECLARE|DECODING|DECORRELATED|DEFAULT|DEFAULTS|DELETE|DELIMITED|DELIMITER|DELTA|DESC|DETAILS|DISCARD|DISK|DISTINCT|DOC|DOT|DOUBLE|DROP|EAGER|ELEMENT|ELSE|ENABLE|END|ENDPOINT|ENFORCED|ENVELOPE|ERROR|ERRORS|ESCAPE|ESTIMATE|EVERY|EXCEPT|EXCLUDE|EXECUTE|EXISTS|EXPECTED|EXPLAIN|EXPOSE|EXPRESSIONS|EXTERNAL|EXTRACT|FACTOR|FALSE|FAST|FEATURES|FETCH|FIELDS|FILE|FILTER|FIRST|FIXPOINT|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FORWARD|FROM|FULL|FULLNAME|FUNCTION|FUSION|GENERATOR|GRANT|GREATEST|GROUP|GROUPS|HAVING|HEADER|HEADERS|HISTORY|HOLD|HOST|HOUR|HOURS|HUMANIZED|HYDRATION|ID|IDENTIFIERS|IDS|IF|IGNORE|ILIKE|IMPLEMENTATIONS|IMPORTED|IN|INCLUDE|INDEX|INDEXES|INFO|INHERIT|INLINE|INNER|INPUT|INSERT|INSIGHTS|INSPECT|INT|INTEGER|INTERNAL|INTERSECT|INTERVAL|INTO|INTROSPECTION|IS|ISNULL|ISOLATION|JOIN|JOINS|JSON|KAFKA|KEY|KEYS|LAST|LATERAL|LATEST|LEADING|LEAST|LEFT|LEGACY|LETREC|LEVEL|LIKE|LIMIT|LINEAR|LIST|LOAD|LOCAL|LOCALLY|LOG|LOGICAL|LOGIN|LOWERING|MANAGED|MANUAL|MAP|MARKETING|MATERIALIZE|MATERIALIZED|MAX|MECHANISMS|MEMBERSHIP|MESSAGE|METADATA|MINUTE|MINUTES|MODE|MONTH|MONTHS|MUTUALLY|MYSQL|NAME|NAMES|NATURAL|NEGATIVE|NEW|NEXT|NO|NOCREATECLUSTER|NOCREATEDB|NOCREATEROLE|NODE|NOINHERIT|NOLOGIN|NON|NONE|NOSUPERUSER|NOT|NOTICE|NOTICES|NULL|NULLIF|NULLS|OBJECTS|OF|OFFSET|ON|ONLY|OPERATOR|OPTIMIZED|OPTIMIZER|OPTIONS|OR|ORDER|ORDINALITY|OUTER|OVER|OWNED|OWNER|PARTITION|PARTITIONS|PASSWORD|PATH|PHYSICAL|PLAN|PLANS|PORT|POSITION|POSTGRES|PRECEDING|PRECISION|PREFIX|PREPARE|PRIMARY|PRIVATELINK|PRIVILEGES|PROGRESS|PROTOBUF|PROTOCOL|PUBLIC|PUBLICATION|PUSHDOWN|QUERY|QUOTE|RAISE|RANGE|RATE|RAW|READ|READY|REAL|REASSIGN|RECURSION|RECURSIVE|REDACTED|REDUCE|REFERENCE|REFERENCES|REFRESH|REGEX|REGION|REGISTRY|RENAME|REOPTIMIZE|REPEATABLE|REPLACE|REPLAN|REPLICA|REPLICAS|REPLICATION|RESET|RESPECT|RESTRICT|RETAIN|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLES|ROLLBACK|ROTATE|ROUNDS|ROW|ROWS|SASL|SCALE|SCHEDULE|SCHEMA|SCHEMAS|SECOND|SECONDS|SECRET|SECRETS|SECURITY|SEED|SELECT|SEQUENCES|SERIALIZABLE|SERVICE|SESSION|SET|SHARD|SHOW|SINK|SINKS|SIZE|SMALLINT|SNAPSHOT|SOME|SOURCE|SOURCES|SSH|SSL|START|STDIN|STDOUT|STORAGE|STORAGECTL|STRATEGY|STRICT|STRING|STRONG|SUBSCRIBE|SUBSOURCE|SUBSOURCES|SUBSTRING|SUBTREE|SUPERUSER|SWAP|SYNTAX|SYSTEM|TABLE|TABLES|TAIL|TASK|TEMP|TEMPORARY|TEXT|THEN|TICK|TIES|TIME|TIMELINE|TIMEOUT|TIMESTAMP|TIMESTAMPTZ|TIMING|TO|TOKEN|TOPIC|TPCH|TRACE|TRAILING|TRANSACTION|TRANSACTIONAL|TRIM|TRUE|TUNNEL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNION|UNIQUE|UNKNOWN|UNNEST|UNTIL|UP|UPDATE|UPSERT|URL|USAGE|USER|USERNAME|USERS|USING|VALIDATE|VALUE|VALUES|VARCHAR|VARIADIC|VARYING|VERSION|VIEW|VIEWS|WAIT|WARNING|WEBHOOK|WHEN|WHERE|WINDOW|WIRE|WITH|WITHIN|WITHOUT|WORK|WORKERS|WORKLOAD|WRITE|YEAR|YEARS|YUGABYTE|ZONE|ZONES)\b"> + <token type="Keyword" /> + </rule> + <rule pattern="[+*/<>=~!@#%^&|`?-]+"> + <token type="Operator" /> + </rule> + <rule pattern="::"> + <token type="Operator" /> + </rule> + <rule pattern="\$\d+"> + <token type="NameVariable" /> + </rule> + <rule pattern="([0-9]*\.[0-9]*|[0-9]+)(e[+-]?[0-9]+)?"> + <token type="LiteralNumberFloat" /> + </rule> + <rule pattern="[0-9]+"> + <token type="LiteralNumberInteger" /> + </rule> + <rule pattern="((?:E|U&)?)(')"> + <bygroups> + <token type="LiteralStringAffix" /> + <token type="LiteralStringSingle" /> + </bygroups> + <push state="string" /> + </rule> + <rule pattern="((?:U&)?)(")"> + <bygroups> + <token type="LiteralStringAffix" /> + <token type="LiteralStringName" /> + </bygroups> + <push state="quoted-ident" /> + </rule> + <rule pattern="(?s)(\$)([^$]*)(\$)(.*?)(\$)(\2)(\$)(\s+)(LANGUAGE)?(\s+)('?)(\w+)?('?)"> + <usingbygroup> + <sublexer_name_group>12</sublexer_name_group> + <code_group>4</code_group> + <emitters> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="LiteralStringHeredoc" /> + <token type="Text" /> + <token type="Keyword" /> + <token type="Text" /> + <token type="LiteralStringSingle" /> + <token type="LiteralStringSingle" /> + <token type="LiteralStringSingle" /> + </emitters> + </usingbygroup> + </rule> + <rule pattern="(?s)(\$)([^$]*)(\$)(.*?)(\$)(\2)(\$)"> + <token type="LiteralStringHeredoc" /> + </rule> + <rule pattern="[a-z_]\w*"> + <token type="Name" /> + </rule> + <rule pattern=":(['"]?)[a-z]\w*\b\1"> + <token type="NameVariable" /> + </rule> + <rule pattern="[;:()\[\]{},.]"> + <token type="Punctuation" /> + </rule> + </state> + <state name="multiline-comments"> + <rule pattern="/\*"> + <token type="CommentMultiline" /> + <push state="multiline-comments" /> + </rule> + <rule pattern="\*/"> + <token type="CommentMultiline" /> + <pop depth="1" /> + </rule> + <rule pattern="[^/*]+"> + <token type="CommentMultiline" /> + </rule> + <rule pattern="[/*]"> + <token type="CommentMultiline" /> + </rule> + </state> + <state name="string"> + <rule pattern="[^']+"> + <token type="LiteralStringSingle" /> + </rule> + <rule pattern="''"> + <token type="LiteralStringSingle" /> + </rule> + <rule pattern="'"> + <token type="LiteralStringSingle" /> + <pop depth="1" /> + </rule> + </state> + <state name="quoted-ident"> + <rule pattern="[^"]+"> + <token type="LiteralStringName" /> + </rule> + <rule pattern=""""> + <token type="LiteralStringName" /> + </rule> + <rule pattern="""> + <token type="LiteralStringName" /> + <pop depth="1" /> + </rule> + </state> + </rules> +</lexer>
\ 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 index 3310520..a6aa6db 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mcfunction.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/mcfunction.xml @@ -1,182 +1,138 @@ + <lexer> <config> - <name>mcfunction</name> + <name>MCFunction</name> <alias>mcfunction</alias> + <alias>mcf</alias> <filename>*.mcfunction</filename> - <dot_all>true</dot_all> - <not_multiline>true</not_multiline> + <mime_type>text/mcfunction</mime_type> </config> <rules> - <state name="nbtobjectvalue"> - <rule pattern="("(\\\\|\\"|[^"])*"|[a-zA-Z0-9_]+)"> - <token type="NameTag"/> - <push state="nbtobjectattribute"/> - </rule> - <rule pattern="\}"> - <token type="Punctuation"/> - <pop depth="1"/> - </rule> - </state> - <state name="nbtarrayvalue"> - <rule> - <include state="nbtvalue"/> - </rule> - <rule pattern=","> - <token type="Punctuation"/> - </rule> - <rule pattern="\]"> - <token type="Punctuation"/> - <pop depth="1"/> - </rule> - </state> - <state name="nbtvalue"> - <rule> - <include state="simplevalue"/> - </rule> - <rule pattern="\{"> - <token type="Punctuation"/> - <push state="nbtobjectvalue"/> - </rule> - <rule pattern="\["> - <token type="Punctuation"/> - <push state="nbtarrayvalue"/> - </rule> - </state> - <state name="argumentvalue"> - <rule> - <include state="simplevalue"/> - </rule> - <rule pattern=","> - <token type="Punctuation"/> - <pop depth="1"/> - </rule> - <rule pattern="[}\]]"> - <token type="Punctuation"/> - <pop depth="2"/> - </rule> - </state> - <state name="argumentlist"> - <rule pattern="(nbt)(={)"> - <bygroups> - <token type="NameAttribute"/> - <token type="Punctuation"/> - </bygroups> - <push state="nbtobjectvalue"/> - </rule> - <rule pattern="([A-Za-z0-9/_!]+)(={)"> - <bygroups> - <token type="NameAttribute"/> - <token type="Punctuation"/> - </bygroups> - <push state="argumentlist"/> - </rule> - <rule pattern="([A-Za-z0-9/_!]+)(=)"> - <bygroups> - <token type="NameAttribute"/> - <token type="Punctuation"/> - </bygroups> - <push state="argumentvalue"/> - </rule> - <rule> - <include state="simplevalue"/> - </rule> - <rule pattern=","> - <token type="Punctuation"/> - </rule> - <rule pattern="[}\]]"> - <token type="Punctuation"/> - <pop depth="1"/> - </rule> - </state> <state name="root"> - <rule pattern="#.*?\n"> - <token type="CommentSingle"/> - </rule> - <rule pattern="/?(geteduclientinfo|clearspawnpoint|defaultgamemode|transferserver|toggledownfall|immutableworld|detectredstone|setidletimeout|playanimation|classroommode|spreadplayers|testforblocks|setmaxplayers|setworldspawn|testforblock|worldbuilder|createagent|worldborder|camerashake|advancement|raytracefog|locatebiome|tickingarea|replaceitem|attributes|spawnpoint|difficulty|experience|scoreboard|whitelist|structure|playsound|stopsound|forceload|spectate|gamerule|function|schedule|wsserver|teleport|position|save-off|particle|setblock|datapack|mobevent|transfer|gamemode|save-all|bossbar|enchant|trigger|collect|execute|weather|teammsg|tpagent|banlist|dropall|publish|tellraw|testfor|save-on|destroy|ability|locate|summon|remove|effect|reload|ban-ip|recipe|pardon|detect|music|clear|clone|event|mixer|debug|title|ride|stop|list|turn|data|team|kick|loot|tell|help|give|flog|fill|move|time|seed|kill|save|item|deop|code|tag|ban|msg|say|tp|me|op|xp|w|place)\b"> - <token type="KeywordReserved"/> - </rule> - <rule pattern="(@p|@r|@a|@e|@s|@c|@v)"> - <token type="KeywordConstant"/> - </rule> - <rule pattern="\["> - <token type="Punctuation"/> - <push state="argumentlist"/> - </rule> - <rule pattern="{"> - <token type="Punctuation"/> - <push state="nbtobjectvalue"/> - </rule> - <rule pattern="~"> - <token type="NameBuiltin"/> - </rule> - <rule pattern="([a-zA-Z_]+:)?[a-zA-Z_]+\b"> - <token type="Text"/> - </rule> - <rule pattern="([a-z]+)(\.)([0-9]+)\b"> - <bygroups> - <token type="Text"/> - <token type="Punctuation"/> - <token type="LiteralNumber"/> - </bygroups> - </rule> - <rule pattern="([<>=]|<=|>=)"> - <token type="Punctuation"/> - </rule> - <rule> - <include state="simplevalue"/> - </rule> - <rule pattern="\s+"> - <token type="TextWhitespace"/> - </rule> - </state> - <state name="simplevalue"> - <rule pattern="(true|false)"> - <token type="KeywordConstant"/> - </rule> - <rule pattern="[01]b"> - <token type="LiteralNumber"/> - </rule> - <rule pattern="-?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)"> - <token type="LiteralNumberFloat"/> - </rule> - <rule pattern="(-?\d+)(\.\.)(-?\d+)"> - <bygroups> - <token type="LiteralNumberInteger"/> - <token type="Punctuation"/> - <token type="LiteralNumberInteger"/> - </bygroups> - </rule> - <rule pattern="-?(0|[1-9]\d*)"> - <token type="LiteralNumberInteger"/> - </rule> - <rule pattern=""(\\\\|\\"|[^"])*""> - <token type="LiteralStringDouble"/> - </rule> - <rule pattern="'[^']+'"> - <token type="LiteralStringSingle"/> - </rule> - <rule pattern="([!#]?)(\w+)"> - <bygroups> - <token type="Punctuation"/> - <token type="Text"/> - </bygroups> - </rule> - </state> - <state name="nbtobjectattribute"> - <rule> - <include state="nbtvalue"/> - </rule> - <rule pattern=":"> - <token type="Punctuation"/> - </rule> - <rule pattern=","> - <token type="Punctuation"/> - <pop depth="1"/> - </rule> - <rule pattern="\}"> - <token type="Punctuation"/> - <pop depth="2"/> - </rule> + <rule><include state="names"/></rule> + <rule><include state="comments"/></rule> + <rule><include state="literals"/></rule> + <rule><include state="whitespace"/></rule> + <rule><include state="property"/></rule> + <rule><include state="operators"/></rule> + <rule><include state="selectors"/></rule> + </state> + <state name="names"> + <rule pattern="^(\s*)([a-z_]+)"><bygroups><token type="TextWhitespace"/><token type="NameBuiltin"/></bygroups></rule> + <rule pattern="(?<=run)\s+[a-z_]+"><token type="NameBuiltin"/></rule> + <rule pattern="\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\b"><token type="NameVariable"/></rule> + <rule><include state="resource-name"/></rule> + <rule pattern="[A-Za-z_][\w.#%$]+"><token type="KeywordConstant"/></rule> + <rule pattern="[#%$][\w.#%$]+"><token type="NameVariableMagic"/></rule> + </state> + <state name="resource-name"> + <rule pattern="#?[a-z_][a-z_.-]*:[a-z0-9_./-]+"><token type="NameFunction"/></rule> + <rule pattern="#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+"><token type="NameFunction"/></rule> + </state> + <state name="whitespace"> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + </state> + <state name="comments"> + <rule pattern="^\s*(#[>!])"><token type="CommentMultiline"/><push state="comments.block" state="comments.block.emphasized"/></rule> + <rule pattern="#.*$"><token type="CommentSingle"/></rule> + </state> + <state name="comments.block"> + <rule pattern="^\s*#[>!]"><token type="CommentMultiline"/><push state="comments.block.emphasized"/></rule> + <rule pattern="^\s*#"><token type="CommentMultiline"/><push state="comments.block.normal"/></rule> + <rule><pop depth="1"/></rule> + </state> + <state name="comments.block.normal"> + <rule><include state="comments.block.special"/></rule> + <rule pattern="\S+"><token type="CommentMultiline"/></rule> + <rule pattern="\n"><token type="Text"/><pop depth="1"/></rule> + <rule><include state="whitespace"/></rule> + </state> + <state name="comments.block.emphasized"> + <rule><include state="comments.block.special"/></rule> + <rule pattern="\S+"><token type="LiteralStringDoc"/></rule> + <rule pattern="\n"><token type="Text"/><pop depth="1"/></rule> + <rule><include state="whitespace"/></rule> + </state> + <state name="comments.block.special"> + <rule pattern="@\S+"><token type="NameDecorator"/></rule> + <rule><include state="resource-name"/></rule> + <rule pattern="[#%$][\w.#%$]+"><token type="NameVariableMagic"/></rule> + </state> + <state name="operators"> + <rule pattern="[\-~%^?!+*<>\\/|&=.]"><token type="Operator"/></rule> + </state> + <state name="literals"> + <rule pattern="\.\."><token type="Literal"/></rule> + <rule pattern="(true|false)"><token type="KeywordPseudo"/></rule> + <rule pattern="[A-Za-z_]+"><token type="NameVariableClass"/></rule> + <rule pattern="[0-7]b"><token type="LiteralNumberByte"/></rule> + <rule pattern="[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\b"><token type="LiteralNumberFloat"/></rule> + <rule pattern="[+-]?\d+\b"><token type="LiteralNumberInteger"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><push state="literals.string-double"/></rule> + <rule pattern="'"><token type="LiteralStringSingle"/><push state="literals.string-single"/></rule> + </state> + <state name="literals.string-double"> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\"\n]+"><token type="LiteralStringDouble"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + </state> + <state name="literals.string-single"> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\'\n]+"><token type="LiteralStringSingle"/></rule> + <rule pattern="'"><token type="LiteralStringSingle"/><pop depth="1"/></rule> + </state> + <state name="selectors"> + <rule pattern="@[a-z]"><token type="NameVariable"/></rule> + </state> + <state name="property"> + <rule pattern="\{"><token type="Punctuation"/><push state="property.curly" state="property.key"/></rule> + <rule pattern="\["><token type="Punctuation"/><push state="property.square" state="property.key"/></rule> + </state> + <state name="property.curly"> + <rule><include state="whitespace"/></rule> + <rule><include state="property"/></rule> + <rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule> + </state> + <state name="property.square"> + <rule><include state="whitespace"/></rule> + <rule><include state="property"/></rule> + <rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern=","><token type="Punctuation"/></rule> + </state> + <state name="property.key"> + <rule><include state="whitespace"/></rule> + <rule pattern="#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+(?=\s*\=)"><token type="NameAttribute"/><push state="property.delimiter"/></rule> + <rule pattern="#?[a-z_][a-z0-9_\.\-/]+"><token type="NameAttribute"/><push state="property.delimiter"/></rule> + <rule pattern="[A-Za-z_\-\+]+"><token type="NameAttribute"/><push state="property.delimiter"/></rule> + <rule pattern="""><token type="NameAttribute"/><push state="property.delimiter"/></rule> + <rule pattern="'"><token type="NameAttribute"/><push state="property.delimiter"/></rule> + <rule pattern="-?\d+"><token type="LiteralNumberInteger"/><push state="property.delimiter"/></rule> + <rule><pop depth="1"/></rule> + </state> + <state name="property.key.string-double"> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\"\n]+"><token type="NameAttribute"/></rule> + <rule pattern="""><token type="NameAttribute"/><pop depth="1"/></rule> + </state> + <state name="property.key.string-single"> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\'\n]+"><token type="NameAttribute"/></rule> + <rule pattern="'"><token type="NameAttribute"/><pop depth="1"/></rule> + </state> + <state name="property.delimiter"> + <rule><include state="whitespace"/></rule> + <rule pattern="[:=]!?"><token type="Punctuation"/><push state="property.value"/></rule> + <rule pattern=","><token type="Punctuation"/></rule> + <rule><pop depth="1"/></rule> + </state> + <state name="property.value"> + <rule><include state="whitespace"/></rule> + <rule pattern="#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+"><token type="NameTag"/></rule> + <rule pattern="#?[a-z_][a-z0-9_\.\-/]+"><token type="NameTag"/></rule> + <rule><include state="literals"/></rule> + <rule><include state="property"/></rule> + <rule><pop depth="1"/></rule> </state> </rules> </lexer> + diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml new file mode 100644 index 0000000..74d443b --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml @@ -0,0 +1,123 @@ +<lexer> + <config> + <name>NDISASM</name> + <alias>ndisasm</alias> + <mime_type>text/x-disasm</mime_type> + <case_insensitive>true</case_insensitive> + <priority>0.5</priority> <!-- Lower than NASM --> + </config> + <rules> + <state name="root"> + <rule pattern="^[0-9A-Za-z]+"> + <token type="CommentSpecial"/> + <push state="offset"/> + </rule> + </state> + <state name="offset"> + <rule pattern="[0-9A-Za-z]+"> + <token type="CommentSpecial"/> + <push state="assembly"/> + </rule> + <rule> + <include state="whitespace"/> + </rule> + </state> + <state name="punctuation"> + <rule pattern="[,():\[\]]+"> + <token type="Punctuation"/> + </rule> + <rule pattern="[&|^<>+*/%~-]+"> + <token type="Operator"/> + </rule> + <rule pattern="[$]+"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="seg|wrt|strict"> + <token type="OperatorWord"/> + </rule> + <rule pattern="byte|[dq]?word"> + <token type="KeywordType"/> + </rule> + </state> + <state name="assembly"> + <rule> + <include state="whitespace"/> + </rule> + <rule pattern="[a-z$._?][\w$.?#@~]*:"> + <token type="NameLabel"/> + </rule> + <rule pattern="([a-z$._?][\w$.?#@~]*)(\s+)(equ)"> + <bygroups> + <token type="NameConstant"/> + <token type="KeywordDeclaration"/> + <token type="KeywordDeclaration"/> + </bygroups> + <push state="instruction-args"/> + </rule> + <rule pattern="BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE"> + <token type="Keyword"/> + <push state="instruction-args"/> + </rule> + <rule pattern="(?:res|d)[bwdqt]|times"> + <token type="KeywordDeclaration"/> + <push state="instruction-args"/> + </rule> + <rule pattern="[a-z$._?][\w$.?#@~]*"> + <token type="NameFunction"/> + <push state="instruction-args"/> + </rule> + <rule pattern="[\r\n]+"> + <token type="Text"/> + <pop depth="2"/> + </rule> + </state> + <state name="instruction-args"> + <rule pattern=""(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`"> + <token type="LiteralString"/> + </rule> + <rule pattern="(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="[0-7]+q"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="[01]+b"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="[0-9]+\.e?[0-9]+"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="[0-9]+"> + <token type="LiteralNumberInteger"/> + </rule> + <rule> + <include state="punctuation"/> + </rule> + <rule pattern="r[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="[a-z$._?][\w$.?#@~]*"> + <token type="NameVariable"/> + </rule> + <rule pattern="[\r\n]+"> + <token type="Text"/> + <pop depth="3"/> + </rule> + <rule> + <include state="whitespace"/> + </rule> + </state> + <state name="whitespace"> + <rule pattern="\n"> + <token type="Text"/> + <pop depth="2"/> + </rule> + <rule pattern="[ \t]+"> + <token type="Text"/> + </rule> + <rule pattern=";.*"> + <token type="CommentSingle"/> + </rule> + </state> + </rules> +</lexer>
\ 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 index 41c07cf..bfdd615 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nim.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nim.xml @@ -132,6 +132,10 @@ <rule pattern="\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;"> <token type="Punctuation"/> </rule> + <rule pattern="(?:[\w]+)""""> + <token type="LiteralString"/> + <push state="tdqs"/> + </rule> <rule pattern="(?:[\w]+)""> <token type="LiteralString"/> <push state="rdqs"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml index 0ed040c..dd54d36 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nix.xml @@ -106,7 +106,7 @@ </bygroups> <push state="interpol"/> </rule> - <rule pattern="(&&|>=|<=|\+\+|->|!=|\|\||//|==|@|!|\+|\?|<|\.|>|\*)"> + <rule pattern="(&&|>=|<=|\+\+|->|!=|=|\|\||//|==|@|!|\+|\?|<|\.|>|\*)"> <token type="Operator"/> </rule> <rule pattern="[;:]"> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nsis.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nsis.xml new file mode 100644 index 0000000..6c3a7be --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nsis.xml @@ -0,0 +1,59 @@ +<lexer> + <config> + <name>NSIS</name> + <alias>nsis</alias> + <alias>nsi</alias> + <alias>nsh</alias> + <filename>*.nsi</filename> + <filename>*.nsh</filename> + <mime_type>text/x-nsis</mime_type> + <case_insensitive>true</case_insensitive> + <not_multiline>true</not_multiline> + </config> + <rules> + <state name="root"> + <rule pattern="([;#].*)(\n)"><bygroups><token type="Comment"/><token type="TextWhitespace"/></bygroups></rule> + <rule pattern="'.*?'"><token type="LiteralStringSingle"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><push state="str_double"/></rule> + <rule pattern="`"><token type="LiteralStringBacktick"/><push state="str_backtick"/></rule> + <rule><include state="macro"/></rule> + <rule><include state="interpol"/></rule> + <rule><include state="basic"/></rule> + <rule pattern="\$\{[a-z_|][\w|]*\}"><token type="KeywordPseudo"/></rule> + <rule pattern="/[a-z_]\w*"><token type="NameAttribute"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="[\w.]+"><token type="Text"/></rule> + </state> + <state name="basic"> + <rule pattern="(\n)(Function)(\s+)([._a-z][.\w]*)\b"><bygroups><token type="TextWhitespace"/><token type="Keyword"/><token type="TextWhitespace"/><token type="NameFunction"/></bygroups></rule> + <rule pattern="\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\b"><bygroups><token type="KeywordNamespace"/><token type="Punctuation"/><token type="NameFunction"/></bygroups></rule> + <rule pattern="\b([_a-z]\w*)(:)"><bygroups><token type="NameLabel"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="(\b[ULS]|\B)([!<>=]?=|\<\>?|\>)\B"><token type="Operator"/></rule> + <rule pattern="[|+-]"><token type="Operator"/></rule> + <rule pattern="\\"><token type="Punctuation"/></rule> + <rule pattern="\b(Abort|Add(?:BrandingImage|Size)|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient)|BrandingText|BringToFront|Call(?:InstDLL)?|(?:Sub)?Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|Shortcut)|Delete(?:INI(?:Sec|Str)|Reg(?:Key|Value))?|DetailPrint|DetailsButtonText|Dir(?:Show|Text|Var|Verify)|(?:Disabled|Enabled)Bitmap|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read(?:Byte)?|Seek|Write(?:Byte)?)?|Find(?:Close|First|Next|Window)|FlushINI|Function(?:End)?|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|FunctionAddress|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Inst(?:ProgressFlags|Type(?:[GS]etText)?)|Int(?:CmpU?|Fmt|Op)|IsWindow|LangString(?:UP)?|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|MessageBox|MiscButtonText|Name|Nop|OutFile|(?:Uninst)?Page(?:Ex(?:End)?)?|PluginDir|Pop|Push|Quit|Read(?:(?:Env|INI|Reg)Str|RegDWORD)|Reboot|(?:Un)?RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:Divider|End|(?:(?:Get|Set)(?:Flags|InstTypes|Size|Text))|Group(?:End)?|In)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress(?:ionLevel|or(?:DictSize)?)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|Error(?:s|Level)|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|ShellVarContext|Silent|StaticBkColor)|Show(?:(?:I|Uni)nstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Str(?:CmpS?|Cpy|Len)|SubSection(?:End)?|Uninstall(?:ButtonText|(?:Sub)?Caption|EXEName|Icon|Text)|UninstPage|Var|VI(?:AddVersionKey|ProductVersion)|WindowIcon|Write(?:INIStr|Reg(:?Bin|DWORD|(?:Expand)?Str)|Uninstaller)|XPStyle)\b"><token type="Keyword"/></rule> + <rule pattern="\b(CUR|END|(?:FILE_ATTRIBUTE_)?(?:ARCHIVE|HIDDEN|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(CC|CR|CU|DD|LM|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_(?:CONFIG|USER)|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON[1-4]|ICON(?:EXCLAMATION|INFORMATION|QUESTION|STOP)|OK(?:CANCEL)?|RETRYCANCEL|RIGHT|SETFOREGROUND|TOPMOST|USERICON|YESNO(?:CANCEL)?)|SET|SHCTX|SW_(?:HIDE|SHOW(?:MAXIMIZED|MINIMIZED|NORMAL))|admin|all|auto|both|bottom|bzip2|checkbox|colored|current|false|force|hide|highest|if(?:diff|newer)|lastused|leave|left|listonly|lzma|nevershow|none|normal|off|on|pop|push|radiobuttons|right|show|silent|silentlog|smooth|textonly|top|true|try|user|zlib)\b"><token type="NameConstant"/></rule> + </state> + <state name="macro"> + <rule pattern="\!(addincludedir(?:dir)?|addplugindir|appendfile|cd|define|delfilefile|echo(?:message)?|else|endif|error|execute|if(?:macro)?n?(?:def)?|include|insertmacro|macro(?:end)?|packhdr|search(?:parse|replace)|system|tempfilesymbol|undef|verbose|warning)\b"><token type="CommentPreproc"/></rule> + </state> + <state name="interpol"> + <rule pattern="\$(R?[0-9])"><token type="NameBuiltinPseudo"/></rule> + <rule pattern="\$(ADMINTOOLS|APPDATA|CDBURN_AREA|COOKIES|COMMONFILES(?:32|64)|DESKTOP|DOCUMENTS|EXE(?:DIR|FILE|PATH)|FAVORITES|FONTS|HISTORY|HWNDPARENT|INTERNET_CACHE|LOCALAPPDATA|MUSIC|NETHOOD|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES(?:32|64)|QUICKLAUNCH|RECENT|RESOURCES(?:_LOCALIZED)?|SENDTO|SM(?:PROGRAMS|STARTUP)|STARTMENU|SYSDIR|TEMP(?:LATES)?|VIDEOS|WINDIR|\{NSISDIR\})"><token type="NameBuiltin"/></rule> + <rule pattern="\$(CMDLINE|INSTDIR|OUTDIR|LANGUAGE)"><token type="NameVariableGlobal"/></rule> + <rule pattern="\$[a-z_]\w*"><token type="NameVariable"/></rule> + </state> + <state name="str_double"> + <rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule pattern="\$(\\[nrt"]|\$)"><token type="LiteralStringEscape"/></rule> + <rule><include state="interpol"/></rule> + <rule pattern="[^"]+"><token type="LiteralStringDouble"/></rule> + </state> + <state name="str_backtick"> + <rule pattern="`"><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule pattern="\$(\\[nrt"]|\$)"><token type="LiteralStringEscape"/></rule> + <rule><include state="interpol"/></rule> + <rule pattern="[^`]+"><token type="LiteralStringDouble"/></rule> + </state> + </rules> +</lexer>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/objectpascal.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/objectpascal.xml new file mode 100644 index 0000000..12af64b --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/objectpascal.xml @@ -0,0 +1,145 @@ +<lexer> + <config> + <name>ObjectPascal</name> + <alias>objectpascal</alias> + <filename>*.pas</filename> + <filename>*.pp</filename> + <filename>*.inc</filename> + <filename>*.dpr</filename> + <filename>*.dpk</filename> + <filename>*.lpr</filename> + <filename>*.lpk</filename> + <mime_type>text/x-pascal</mime_type> + </config> + <rules> + <state name="root"> + <!-- TextWhitespace --> + <rule pattern="[^\S\n]+"> + <token type="TextWhitespace" /> + </rule> + <rule pattern="\n"> + <token type="Text"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <!-- Magic Number (BOM) --> + <rule pattern="[^\u0000-\u007F]+"> + <token type="Text"/> + </rule> + <!-- Compiler Directive --> + <rule pattern="\{[$].*?\}|\{[-](NOD|EXT|OBJ).*?\}|\([*][$].*?[*]\)"> + <token type="CommentPreproc" /> + </rule> + <!-- Comment Single --> + <rule pattern="(//.*?)(\n)"> + <bygroups> + <token type="CommentSingle" /> + <token type="TextWhitespace" /> + </bygroups> + </rule> + <!-- Comment Multiline Block --> + <rule pattern="\([*](.|\n)*?[*]\)"> + <token type="CommentMultiline"/> + </rule> + <!-- Comment Multiline Source Documentation --> + <rule pattern="[{](.|\n)*?[}]"> + <token type="CommentMultiline"/> + </rule> + <!-- Range Indicator --> + <rule pattern="(?i:(\.\.))"> + <token type="Operator" /> + </rule> + <!-- Control Character --> + <rule pattern="[\#][0-9a-fA-F]*|[0-9]+[xX][0-9a-fA-F]*"> + <token type="LiteralStringEscape" /> + </rule> + <!-- Numbers --> + <rule pattern="[\$][0-9a-fA-F]*[xX][0-9a-fA-F]*|[\$][0-9a-fA-F]*|([0-9]+[0-9a-fA-F]+(?=[hH]))"> + <token type="LiteralNumberHex" /> + </rule> + <rule pattern="[0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*[eE][+-]?[0-9]+(\'[0-9]+)*|[0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*|\d+[eE][+-]?[0-9]+"> + <token type="LiteralNumberFloat" /> + </rule> + <rule pattern="0|[1-9][0-9_]*?"> + <token type="LiteralNumberInteger" /> + </rule> + <!-- Multiline string Literal --> + <rule pattern="('''\s*\n)(.|\n)*?(''')(?=\s*;)"> + <token type="LiteralString" /> + </rule> + <!-- string --> + <rule pattern="(?i:(\')).*?(?i:(\'))"> + <token type="LiteralString" /> + </rule> + <!-- string (Special case for Delphi Assembler)--> + <rule pattern="(?i:(")).*?(?i:("))"> + <token type="LiteralString" /> + </rule> + <!-- Simple Types --> + <rule pattern="\b(?!=\.)(?i:(NativeInt|NativeUInt|LongInt|LongWord|Integer|Int64|Cardinal|UInt64|ShortInt|SmallInt|FixedInt|Byte|Word|FixedUInt|Int8|Int16|Int32|UInt8|UInt16|UInt32|Real48|Single|Double|Real|Extended|Comp|Currency|Char|AnsiChar|WideChar|UCS2Char|UCS4Char|string|ShortString|AnsiString|UnicodeString|WideString|RawByteString|UTF8String|File|TextFile|Text|Boolean|ByteBool|WordBool|LongBool|Pointer|Variant|OleVariant))\b(?![<\/(])"> + <token type="KeywordType" /> + </rule> + <!-- T Types --> + <rule pattern="\b(?!=\.)(?i:(TSingleRec|TDoubleRec|TExtended80Rec|TByteArray|TTextBuf|TVarRec|TWordArray))\b(?![<\/(])"> + <token type="KeywordType" /> + </rule> + <!-- Pointer Types --> + <rule pattern="\b(?!=\.)(?i:(PChar|PAnsiChar|PWideChar|PRawByteString|PUnicodeString|PString|PAnsiString|PShortString|PTextBuf|PWideString|PByte|PShortInt|PWord|PSmallInt|PCardinal|PLongWord|PFixedUInt|PLongint|PFixedInt|PUInt64|PInt64|PNativeUInt|PNativeInt|PByteArray|PCurrency|PDouble|PExtended|PSingle|PInteger|POleVariant|PVarRec|PVariant|PWordArray|PBoolean|PWordBool|PLongBool|PPointer))\b(?![<\/(])"> + <token type="KeywordType" /> + </rule> + <!-- More Types --> + <rule pattern="\b(?!=\.)(?i:(IntPtr|UIntPtr|Float32|Float64|_ShortStr|_ShortString|_AnsiStr|_AnsiString|_AnsiChr|_AnsiChar|_WideStr|_WideString|_PAnsiChr|_PAnsiChar|UTF8Char|_AnsiChar|PUTF8Char|_PAnsiChar|MarshaledString|MarshaledAString))\b(?![<\/(])"> + <token type="KeywordType" /> + </rule> + <!-- Result --> + <rule pattern="\b(?!=\.)(?i:(Result))\b(?![<\/(])"> + <token type="GenericEmph" /> + </rule> + <!-- Result Constants --> + <rule pattern="\b(?!=\.)(?i:(True|False))\b(?![<\/(])"> + <token type="NameConstant" /> + </rule> + <!-- Operator (Assign) --> + <rule pattern="[(\:\=)]"> + <token type="Operator" /> + </rule> + <!-- Operators (Arithmetic, Unary Arithmetic, String, Pointer, Set, Relational, Address) --> + <rule pattern="[\+\-\*\/\^<>\=\@]"> + <token type="Operator" /> + </rule> + <!-- Operators (Arithmetic, Boolean, Logical (Bitwise), Set) --> + <rule pattern="\b(?i:([div][mod][not][and][or][xor][shl][shr][in]))\b"> + <token type="OperatorWord" /> + </rule> + <!-- Special Symbols (Escape, Literal Chr, Hex Value, Binary Numeral Expression Indicator) --> + <rule pattern="[&\#\$\%]"> + <token type="Operator" /> + </rule> + <!-- Special Symbols (Punctuation) --> + <rule pattern="[\(\)\,\.\:\;\[\]]"> + <token type="Punctuation" /> + </rule> + <!-- Reserved Words --> + <rule pattern="\b(?!=\.)(?i:(and|end|interface|record|var|array|except|is|repeat|while|as|exports|label|resourcestring|with|asm|file|library|set|xor|begin|finalization|mod|shl|case|finally|nil|shr|class|for|not|string|const|function|object|then|constructor|goto|of|threadvar|destructor|if|or|to|dispinterface|implementation|packed|try|div|in|procedure|type|do|inherited|program|unit|downto|initialization|property|until|else|inline|raise|uses))\b(?![<\/(])"> + <token type="KeywordReserved" /> + </rule> + <!-- Directives --> + <rule pattern="\b(?!=\.)(?i:(absolute|export|name|public|stdcall|abstract|external|published|strict|assembler|nodefault|read|stored|automated|final|operator|readonly|unsafe|cdecl|forward|out|reference|varargs|contains|helper|overload|register|virtual|default|implements|override|reintroduce|winapi|delayed|index|package|requires|write|deprecated|inline|pascal|writeonly|dispid|library|platform|safecall|dynamic|local|private|sealed|experimental|message|protected|static))\b(?![<\/(])"> + <token type="Keyword" /> + </rule> + <!-- Directives obsolete --> + <rule pattern="\b(?!=\.)(?i:(near|far|resident))\b(?![<\/(])"> + <token type="Keyword" /> + </rule> + <!-- Constant Expressions --> + <rule pattern="\b(?!=\.)(?i:(Abs|High|Low|Pred|Succ|Chr|Length|Odd|Round|Swap|Hi|Lo|Ord|SizeOf|Trunc))\b(?![<\/(])"> + <token type="KeywordConstant" /> + </rule> + <!-- everything else --> + <rule pattern="([^\W\d]|\$)[\w$]*"> + <token type="Text" /> + </rule> + </state> + </rules> +</lexer> 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 index 3f227ad..259e54e 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/org_mode.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/org_mode.xml @@ -228,42 +228,42 @@ </rule> </state> <state name="inline"> - <rule pattern="(\s)*(\*[^ \n*][^*]+?[^ \n*]\*)((?=\W|\n|$))"> + <rule pattern="(\s*)(\*[^ \n*][^*]+?[^ \n*]\*)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericStrong"/> <token type="Text"/> </bygroups> </rule> - <rule pattern="(\s)*(/[^/]+?/)((?=\W|\n|$))"> + <rule pattern="(\s*)(/[^/]+?/)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericEmph"/> <token type="Text"/> </bygroups> </rule> - <rule pattern="(\s)*(=[^\n=]+?=)((?=\W|\n|$))"> + <rule pattern="(\s*)(=[^\n=]+?=)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="NameClass"/> <token type="Text"/> </bygroups> </rule> - <rule pattern="(\s)*(~[^\n~]+?~)((?=\W|\n|$))"> + <rule pattern="(\s*)(~[^\n~]+?~)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="NameClass"/> <token type="Text"/> </bygroups> </rule> - <rule pattern="(\s)*(\+[^+]+?\+)((?=\W|\n|$))"> + <rule pattern="(\s*)(\+[^+]+?\+)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericDeleted"/> <token type="Text"/> </bygroups> </rule> - <rule pattern="(\s)*(_[^_]+?_)((?=\W|\n|$))"> + <rule pattern="(\s*)(_[^_]+?_)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericUnderline"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml new file mode 100644 index 0000000..84558c3 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml @@ -0,0 +1,119 @@ + +<lexer> + <config> + <name>Promela</name> + <alias>promela</alias> + <filename>*.pml</filename> + <filename>*.prom</filename> + <filename>*.prm</filename> + <filename>*.promela</filename> + <filename>*.pr</filename> + <filename>*.pm</filename> + <mime_type>text/x-promela</mime_type> + </config> + <rules> + <state name="statements"> + <rule pattern="(\[\]|<>|/\\|\\/)|(U|W|V)\b"><token type="Operator"/></rule> + <rule pattern="@"><token type="Punctuation"/></rule> + <rule pattern="(\.)([a-zA-Z_]\w*)"><bygroups><token type="Operator"/><token type="NameAttribute"/></bygroups></rule> + <rule><include state="keywords"/></rule> + <rule><include state="types"/></rule> + <rule pattern="([LuU]|u8)?(")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralString"/></bygroups><push state="string"/></rule> + <rule pattern="([LuU]|u8)?(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringChar"/><token type="LiteralStringChar"/><token type="LiteralStringChar"/></bygroups></rule> + <rule pattern="0[xX]([0-9a-fA-F](\'?[0-9a-fA-F])*\.[0-9a-fA-F](\'?[0-9a-fA-F])*|\.[0-9a-fA-F](\'?[0-9a-fA-F])*|[0-9a-fA-F](\'?[0-9a-fA-F])*)[pP][+-]?[0-9a-fA-F](\'?[0-9a-fA-F])*[lL]?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="(-)?(\d(\'?\d)*\.\d(\'?\d)*|\.\d(\'?\d)*|\d(\'?\d)*)[eE][+-]?\d(\'?\d)*[fFlL]?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="(-)?((\d(\'?\d)*\.(\d(\'?\d)*)?|\.\d(\'?\d)*)[fFlL]?)|(\d(\'?\d)*[fFlL])"><token type="LiteralNumberFloat"/></rule> + <rule pattern="(-)?0[xX][0-9a-fA-F](\'?[0-9a-fA-F])*(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token type="LiteralNumberHex"/></rule> + <rule pattern="(-)?0[bB][01](\'?[01])*(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token type="LiteralNumberBin"/></rule> + <rule pattern="(-)?0(\'?[0-7])+(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token type="LiteralNumberOct"/></rule> + <rule pattern="(-)?\d(\'?\d)*(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token type="LiteralNumberInteger"/></rule> + <rule pattern="[~!%^&*+=|?:<>/-]"><token type="Operator"/></rule> + <rule pattern="[()\[\],.]"><token type="Punctuation"/></rule> + <rule pattern="(true|false|NULL)\b"><token type="NameBuiltin"/></rule> + <rule pattern="(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+"><token type="Name"/></rule> + </state> + <state name="types"> + <rule pattern="(bit|bool|byte|pid|short|int|unsigned)\b"><token type="KeywordType"/></rule> + </state> + <state name="keywords"> + <rule pattern="(atomic|break|d_step|do|od|for|in|goto|if|fi|unless)\b"><token type="Keyword"/></rule> + <rule pattern="(assert|get_priority|printf|printm|set_priority)\b"><token type="NameFunction"/></rule> + <rule pattern="(c_code|c_decl|c_expr|c_state|c_track)\b"><token type="Keyword"/></rule> + <rule pattern="(_|_last|_nr_pr|_pid|_priority|else|np_|STDIN)\b"><token type="NameBuiltin"/></rule> + <rule pattern="(empty|enabled|eval|full|len|nempty|nfull|pc_value)\b"><token type="NameFunction"/></rule> + <rule pattern="run\b"><token type="OperatorWord"/></rule> + <rule pattern="(active|chan|D_proctype|hidden|init|local|mtype|never|notrace|proctype|show|trace|typedef|xr|xs)\b"><token type="KeywordDeclaration"/></rule> + <rule pattern="(priority|provided)\b"><token type="Keyword"/></rule> + <rule pattern="(inline|ltl|select)\b"><token type="KeywordDeclaration"/></rule> + <rule pattern="skip\b"><token type="Keyword"/></rule> + </state> + <state name="whitespace"> + <rule pattern="^#if\s+0"><token type="CommentPreproc"/><push state="if0"/></rule> + <rule pattern="^#"><token type="CommentPreproc"/><push state="macro"/></rule> + <rule pattern="^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)"><bygroups><usingself state="root"/><token type="CommentPreproc"/></bygroups><push state="if0"/></rule> + <rule pattern="^(\s*(?:/[*].*?[*]/\s*)?)(#)"><bygroups><usingself state="root"/><token type="CommentPreproc"/></bygroups><push state="macro"/></rule> + <rule pattern="(^[ \t]*)(?!(?:public|private|protected|default)\b)((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+)(\s*)(:)(?!:)"><bygroups><token type="TextWhitespace"/><token type="NameLabel"/><token type="TextWhitespace"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="\n"><token type="TextWhitespace"/></rule> + <rule pattern="[^\S\n]+"><token type="TextWhitespace"/></rule> + <rule pattern="\\\n"><token type="Text"/></rule> + <rule pattern="//(?:.|(?<=\\)\n)*\n"><token type="CommentSingle"/></rule> + <rule pattern="/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/"><token type="CommentMultiline"/></rule> + <rule pattern="/(\\\n)?[*][\w\W]*"><token type="CommentMultiline"/></rule> + </state> + <state name="root"> + <rule><include state="whitespace"/></rule> + <rule><include state="keywords"/></rule> + <rule pattern="((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+(?:[&*\s])+)(\s*(?:(?:(?://(?:.|(?<=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+)(\s*(?:(?:(?://(?:.|(?<=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)(\([^;"\')]*?\))(\s*(?:(?:(?://(?:.|(?<=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)([^;{/"\']*)(\{)"><bygroups><usingself state="root"/><usingself state="whitespace"/><token type="NameFunction"/><usingself state="whitespace"/><usingself state="root"/><usingself state="whitespace"/><usingself state="root"/><token type="Punctuation"/></bygroups><push state="function"/></rule> + <rule pattern="((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+(?:[&*\s])+)(\s*(?:(?:(?://(?:.|(?<=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+)(\s*(?:(?:(?://(?:.|(?<=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)(\([^;"\')]*?\))(\s*(?:(?:(?://(?:.|(?<=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)([^;/"\']*)(;)"><bygroups><usingself state="root"/><usingself state="whitespace"/><token type="NameFunction"/><usingself state="whitespace"/><usingself state="root"/><usingself state="whitespace"/><usingself state="root"/><token type="Punctuation"/></bygroups></rule> + <rule><include state="types"/></rule> + <rule><push state="statement"/></rule> + </state> + <state name="statement"> + <rule><include state="whitespace"/></rule> + <rule><include state="statements"/></rule> + <rule pattern="\}"><token type="Punctuation"/></rule> + <rule pattern="[{;]"><token type="Punctuation"/><pop depth="1"/></rule> + </state> + <state name="function"> + <rule><include state="whitespace"/></rule> + <rule><include state="statements"/></rule> + <rule pattern=";"><token type="Punctuation"/></rule> + <rule pattern="\{"><token type="Punctuation"/><push/></rule> + <rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule> + </state> + <state name="string"> + <rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule> + <rule pattern="\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})"><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\"\n]+"><token type="LiteralString"/></rule> + <rule pattern="\\\n"><token type="LiteralString"/></rule> + <rule pattern="\\"><token type="LiteralString"/></rule> + </state> + <state name="macro"> + <rule pattern="(\s*(?:/[*].*?[*]/\s*)?)(include)(\s*(?:/[*].*?[*]/\s*)?)("[^"]+")([^\n]*)"><bygroups><usingself state="root"/><token type="CommentPreproc"/><usingself state="root"/><token type="CommentPreprocFile"/><token type="CommentSingle"/></bygroups></rule> + <rule pattern="(\s*(?:/[*].*?[*]/\s*)?)(include)(\s*(?:/[*].*?[*]/\s*)?)(<[^>]+>)([^\n]*)"><bygroups><usingself state="root"/><token type="CommentPreproc"/><usingself state="root"/><token type="CommentPreprocFile"/><token type="CommentSingle"/></bygroups></rule> + <rule pattern="[^/\n]+"><token type="CommentPreproc"/></rule> + <rule pattern="/[*](.|\n)*?[*]/"><token type="CommentMultiline"/></rule> + <rule pattern="//.*?\n"><token type="CommentSingle"/><pop depth="1"/></rule> + <rule pattern="/"><token type="CommentPreproc"/></rule> + <rule pattern="(?<=\\)\n"><token type="CommentPreproc"/></rule> + <rule pattern="\n"><token type="CommentPreproc"/><pop depth="1"/></rule> + </state> + <state name="if0"> + <rule pattern="^\s*#if.*?(?<!\\)\n"><token type="CommentPreproc"/><push/></rule> + <rule pattern="^\s*#el(?:se|if).*\n"><token type="CommentPreproc"/><pop depth="1"/></rule> + <rule pattern="^\s*#endif.*?(?<!\\)\n"><token type="CommentPreproc"/><pop depth="1"/></rule> + <rule pattern=".*?\n"><token type="Comment"/></rule> + </state> + <state name="classname"> + <rule pattern="(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+"><token type="NameClass"/><pop depth="1"/></rule> + <rule pattern="\s*(?=>)"><token type="Text"/><pop depth="1"/></rule> + <rule><pop depth="1"/></rule> + </state> + <state name="case-value"> + <rule pattern="(?<!:)(:)(?!:)"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+"><token type="NameConstant"/></rule> + <rule><include state="whitespace"/></rule> + <rule><include state="statements"/></rule> + </state> + </rules> +</lexer>
\ 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 @@ +<lexer> + <config> + <name>PRQL</name> + <alias>prql</alias> + <filename>*.prql</filename> + <mime_type>application/prql</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="#!.*"><token type="LiteralStringDoc"/></rule> + <rule pattern="#.*"><token type="CommentSingle"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="^(\s*)(module)(\s*)"><bygroups><token type="TextWhitespace"/><token type="KeywordNamespace"/><token type="TextWhitespace"/></bygroups><push state="imports"/></rule> + <rule pattern="(bool|int|int8|int16|int32|int64|int128|float|text|set)\b"><token type="KeywordType"/></rule> + <rule pattern="^prql "><token type="KeywordReserved"/></rule> + <rule pattern="let"><token type="KeywordDeclaration"/></rule> + <rule><include state="keywords"/></rule> + <rule><include state="expr"/></rule> + <rule pattern="^[A-Za-z_][a-zA-Z0-9_]*"><token type="Keyword"/></rule> + </state> + <state name="expr"> + <rule pattern="(f)(""")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringDouble"/></bygroups><combined state="fstringescape" state="tdqf"/></rule> + <rule pattern="(f)(''')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringSingle"/></bygroups><combined state="fstringescape" state="tsqf"/></rule> + <rule pattern="(f)(")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringDouble"/></bygroups><combined state="fstringescape" state="dqf"/></rule> + <rule pattern="(f)(')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringSingle"/></bygroups><combined state="fstringescape" state="sqf"/></rule> + <rule pattern="(s)(""")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringDouble"/></bygroups><combined state="stringescape" state="tdqf"/></rule> + <rule pattern="(s)(''')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringSingle"/></bygroups><combined state="stringescape" state="tsqf"/></rule> + <rule pattern="(s)(")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringDouble"/></bygroups><combined state="stringescape" state="dqf"/></rule> + <rule pattern="(s)(')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringSingle"/></bygroups><combined state="stringescape" state="sqf"/></rule> + <rule pattern="(?i)(r)(""")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringDouble"/></bygroups><push state="tdqs"/></rule> + <rule pattern="(?i)(r)(''')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringSingle"/></bygroups><push state="tsqs"/></rule> + <rule pattern="(?i)(r)(")"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringDouble"/></bygroups><push state="dqs"/></rule> + <rule pattern="(?i)(r)(')"><bygroups><token type="LiteralStringAffix"/><token type="LiteralStringSingle"/></bygroups><push state="sqs"/></rule> + <rule pattern="""""><token type="LiteralStringDouble"/><combined state="stringescape" state="tdqs"/></rule> + <rule pattern="'''"><token type="LiteralStringSingle"/><combined state="stringescape" state="tsqs"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><combined state="stringescape" state="dqs"/></rule> + <rule pattern="'"><token type="LiteralStringSingle"/><combined state="stringescape" state="sqs"/></rule> + <rule pattern="@\d{4}-\d{2}-\d{2}T\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?"><token type="LiteralDate"/></rule> + <rule pattern="@\d{4}-\d{2}-\d{2}"><token type="LiteralDate"/></rule> + <rule pattern="@\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?"><token type="LiteralDate"/></rule> + <rule pattern="[^\S\n]+"><token type="Text"/></rule> + <rule><include state="numbers"/></rule> + <rule pattern="->|=>|==|!=|>=|<=|~=|&&|\|\||\?\?|\/\/"><token type="Operator"/></rule> + <rule pattern="[-~+/*%=<>&^|.@]"><token type="Operator"/></rule> + <rule pattern="[]{}:(),;[]"><token type="Punctuation"/></rule> + <rule><include state="functions"/></rule> + <rule pattern="[A-Za-z_][a-zA-Z0-9_]*"><token type="NameVariable"/></rule> + </state> + <state name="numbers"> + <rule pattern="(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="0[oO](?:_?[0-7])+"><token type="LiteralNumberOct"/></rule> + <rule pattern="0[bB](?:_?[01])+"><token type="LiteralNumberBin"/></rule> + <rule pattern="0[xX](?:_?[a-fA-F0-9])+"><token type="LiteralNumberHex"/></rule> + <rule pattern="\d(?:_?\d)*"><token type="LiteralNumberInteger"/></rule> + </state> + <state name="fstringescape"> + <rule><include state="stringescape"/></rule> + </state> + <state name="bytesescape"> + <rule pattern="\\([\\bfnrt"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})"><token type="LiteralStringEscape"/></rule> + </state> + <state name="stringescape"> + <rule pattern="\\(N\{.*?\}|u\{[a-fA-F0-9]{1,6}\})"><token type="LiteralStringEscape"/></rule> + <rule><include state="bytesescape"/></rule> + </state> + <state name="fstrings-single"> + <rule pattern="\}"><token type="LiteralStringInterpol"/></rule> + <rule pattern="\{"><token type="LiteralStringInterpol"/><push state="expr-inside-fstring"/></rule> + <rule pattern="[^\\\'"{}\n]+"><token type="LiteralStringSingle"/></rule> + <rule pattern="[\'"\\]"><token type="LiteralStringSingle"/></rule> + </state> + <state name="fstrings-double"> + <rule pattern="\}"><token type="LiteralStringInterpol"/></rule> + <rule pattern="\{"><token type="LiteralStringInterpol"/><push state="expr-inside-fstring"/></rule> + <rule pattern="[^\\\'"{}\n]+"><token type="LiteralStringDouble"/></rule> + <rule pattern="[\'"\\]"><token type="LiteralStringDouble"/></rule> + </state> + <state name="strings-single"> + <rule pattern="\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}"><token type="LiteralStringInterpol"/></rule> + <rule pattern="[^\\\'"%{\n]+"><token type="LiteralStringSingle"/></rule> + <rule pattern="[\'"\\]"><token type="LiteralStringSingle"/></rule> + <rule pattern="%|(\{{1,2})"><token type="LiteralStringSingle"/></rule> + </state> + <state name="strings-double"> + <rule pattern="\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}"><token type="LiteralStringInterpol"/></rule> + <rule pattern="[^\\\'"%{\n]+"><token type="LiteralStringDouble"/></rule> + <rule pattern="[\'"\\]"><token type="LiteralStringDouble"/></rule> + <rule pattern="%|(\{{1,2})"><token type="LiteralStringDouble"/></rule> + </state> + <state name="dqf"> + <rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule pattern="\\\\|\\"|\\\n"><token type="LiteralStringEscape"/></rule> + <rule><include state="fstrings-double"/></rule> + </state> + <state name="sqf"> + <rule pattern="'"><token type="LiteralStringSingle"/><pop depth="1"/></rule> + <rule pattern="\\\\|\\'|\\\n"><token type="LiteralStringEscape"/></rule> + <rule><include state="fstrings-single"/></rule> + </state> + <state name="dqs"> + <rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule pattern="\\\\|\\"|\\\n"><token type="LiteralStringEscape"/></rule> + <rule><include state="strings-double"/></rule> + </state> + <state name="sqs"> + <rule pattern="'"><token type="LiteralStringSingle"/><pop depth="1"/></rule> + <rule pattern="\\\\|\\'|\\\n"><token type="LiteralStringEscape"/></rule> + <rule><include state="strings-single"/></rule> + </state> + <state name="tdqf"> + <rule pattern="""""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule><include state="fstrings-double"/></rule> + <rule pattern="\n"><token type="LiteralStringDouble"/></rule> + </state> + <state name="tsqf"> + <rule pattern="'''"><token type="LiteralStringSingle"/><pop depth="1"/></rule> + <rule><include state="fstrings-single"/></rule> + <rule pattern="\n"><token type="LiteralStringSingle"/></rule> + </state> + <state name="tdqs"> + <rule pattern="""""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule><include state="strings-double"/></rule> + <rule pattern="\n"><token type="LiteralStringDouble"/></rule> + </state> + <state name="tsqs"> + <rule pattern="'''"><token type="LiteralStringSingle"/><pop depth="1"/></rule> + <rule><include state="strings-single"/></rule> + <rule pattern="\n"><token type="LiteralStringSingle"/></rule> + </state> + <state name="expr-inside-fstring"> + <rule pattern="[{([]"><token type="Punctuation"/><push state="expr-inside-fstring-inner"/></rule> + <rule pattern="(=\s*)?\}"><token type="LiteralStringInterpol"/><pop depth="1"/></rule> + <rule pattern="(=\s*)?:"><token type="LiteralStringInterpol"/><pop depth="1"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule><include state="expr"/></rule> + </state> + <state name="expr-inside-fstring-inner"> + <rule pattern="[{([]"><token type="Punctuation"/><push state="expr-inside-fstring-inner"/></rule> + <rule pattern="[])}]"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule><include state="expr"/></rule> + </state> + <state name="keywords"> + <rule pattern="(into|case|type|module|internal)\b"><token type="Keyword"/></rule> + <rule pattern="(true|false|null)\b"><token type="KeywordConstant"/></rule> + </state> + <state name="functions"> + <rule pattern="(min|max|sum|average|stddev|every|any|concat_array|count|lag|lead|first|last|rank|rank_dense|row_number|round|as|in|tuple_every|tuple_map|tuple_zip|_eq|_is_null|from_text|lower|upper|read_parquet|read_csv)\b"><token type="NameFunction"/></rule> + </state> + <state name="comment"> + <rule pattern="-(?!\})"><token type="CommentMultiline"/></rule> + <rule pattern="\{-"><token type="CommentMultiline"/><push state="comment"/></rule> + <rule pattern="[^-}]"><token type="CommentMultiline"/></rule> + <rule pattern="-\}"><token type="CommentMultiline"/><pop depth="1"/></rule> + </state> + <state name="imports"> + <rule pattern="\w+(\.\w+)*"><token type="NameClass"/><pop depth="1"/></rule> + </state> + </rules> +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml index 3c6af86..a58686f 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml @@ -19,6 +19,10 @@ <filename>BUILD</filename> <filename>BUILD.bazel</filename> <filename>WORKSPACE</filename> + <filename>WORKSPACE.bzlmod</filename> + <filename>WORKSPACE.bazel</filename> + <filename>MODULE.bazel</filename> + <filename>REPO.bazel</filename> <filename>*.tac</filename> <mime_type>text/x-python</mime_type> <mime_type>application/x-python</mime_type> @@ -586,4 +590,4 @@ </rule> </state> </rules> -</lexer>
\ No newline at end of file +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml index 1e44ca4..c1fba4e 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/r.xml @@ -37,6 +37,9 @@ </rule> </state> <state name="root"> + <rule> + <include state="keywords"/> + </rule> <rule pattern="((?:`[^`\\]*(?:\\.[^`\\]*)*`)|(?:(?:[a-zA-z]|[_.][^0-9])[\w_.]*))\s*(?=\()"> <token type="NameFunction"/> </rule> @@ -109,9 +112,6 @@ <include state="numbers"/> </rule> <rule> - <include state="keywords"/> - </rule> - <rule> <include state="punctuation"/> </rule> <rule> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml new file mode 100644 index 0000000..517b713 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml @@ -0,0 +1,94 @@ +<lexer> + <config> + <name>Rego</name> + <alias>rego</alias> + <filename>*.rego</filename> + </config> + <rules> + <state name="root"> + <rule pattern="(package|import|as|not|with|default|else|some|in|if|contains)\b"> + <token type="KeywordDeclaration"/> + </rule> + <!-- importing keywords should then show up as keywords --> + <rule pattern="(import)( future.keywords.)(\w+)"> + <bygroups> + <token type="KeywordDeclaration"/> + <token type="Text"/> + <token type="KeywordDeclaration"/> + </bygroups> + </rule> + <rule pattern="#[^\r\n]*"> + <token type="Comment"/> + </rule> + <rule pattern="(FIXME|TODO|XXX)\b( .*)$"> + <bygroups> + <token type="Error"/> + <token type="CommentSpecial"/> + </bygroups> + </rule> + <rule pattern="(true|false|null)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="\d+i"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="\d+\.\d*([Ee][-+]\d+)?i"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="\.\d+([Ee][-+]\d+)?i"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="\d+[Ee][-+]\d+i"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="\.\d+([eE][+\-]?\d+)?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="(0|[1-9][0-9]*)"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="""".*?""""> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern=""(\\\\|\\"|[^"])*""> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="\$/((?!/\$).)*/\$"> + <token type="LiteralString"/> + </rule> + <rule pattern="/(\\\\|\\"|[^/])*/"> + <token type="LiteralString"/> + </rule> + <rule pattern="^(\w+)"> + <token type="Name"/> + </rule> + <rule pattern="[a-z_-][\w-]*(?=\()"> + <token type="NameFunction"/> + </rule> + <rule pattern="[\r\n\s]+"> + <token type="TextWhitespace"/> + </rule> + <rule pattern="(package|import)(\s+)"> + <bygroups> + <token type="KeywordDeclaration"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="[=<>!+-/*&|]"> + <token type="Operator"/> + </rule> + <rule pattern=":="> + <token type="Operator"/> + </rule> + <rule pattern="[[\]{}():;]+"> + <token type="Punctuation"/> + </rule> + <rule pattern="[$a-zA-Z_]\w*"> + <token type="NameOther"/> + </rule> + </state> + </rules> +</lexer>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml new file mode 100644 index 0000000..8362772 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml @@ -0,0 +1,58 @@ + +<lexer> + <config> + <name>RPMSpec</name> + <alias>spec</alias> + <filename>*.spec</filename> + <mime_type>text/x-rpm-spec</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="#.*$"><token type="Comment"/></rule> + <rule><include state="basic"/></rule> + </state> + <state name="description"> + <rule pattern="^(%(?:package|prep|build|install|clean|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files))(.*)$"><bygroups><token type="NameDecorator"/><token type="Text"/></bygroups><pop depth="1"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="."><token type="Text"/></rule> + </state> + <state name="changelog"> + <rule pattern="\*.*$"><token type="GenericSubheading"/></rule> + <rule pattern="^(%(?:package|prep|build|install|clean|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files))(.*)$"><bygroups><token type="NameDecorator"/><token type="Text"/></bygroups><pop depth="1"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="."><token type="Text"/></rule> + </state> + <state name="string"> + <rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + <rule pattern="\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})"><token type="LiteralStringEscape"/></rule> + <rule><include state="interpol"/></rule> + <rule pattern="."><token type="LiteralStringDouble"/></rule> + </state> + <state name="basic"> + <rule><include state="macro"/></rule> + <rule pattern="(?i)^(Name|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-z]+Req|Obsoletes|Suggests|Provides|Conflicts|Build[a-z]+|[a-z]+Arch|Auto[a-z]+)(:)(.*)$"><bygroups><token type="GenericHeading"/><token type="Punctuation"/><usingself state="root"/></bygroups></rule> + <rule pattern="^%description"><token type="NameDecorator"/><push state="description"/></rule> + <rule pattern="^%changelog"><token type="NameDecorator"/><push state="changelog"/></rule> + <rule pattern="^(%(?:package|prep|build|install|clean|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files))(.*)$"><bygroups><token type="NameDecorator"/><token type="Text"/></bygroups></rule> + <rule pattern="%(attr|defattr|dir|doc(?:dir)?|setup|config(?:ure)?|make(?:install)|ghost|patch[0-9]+|find_lang|exclude|verify)"><token type="Keyword"/></rule> + <rule><include state="interpol"/></rule> + <rule pattern="'.*?'"><token type="LiteralStringSingle"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><push state="string"/></rule> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + <rule pattern="."><token type="Text"/></rule> + </state> + <state name="macro"> + <rule pattern="%define.*$"><token type="CommentPreproc"/></rule> + <rule pattern="%\{\!\?.*%define.*\}"><token type="CommentPreproc"/></rule> + <rule pattern="(%(?:if(?:n?arch)?|else(?:if)?|endif))(.*)$"><bygroups><token type="CommentPreproc"/><token type="Text"/></bygroups></rule> + </state> + <state name="interpol"> + <rule pattern="%\{?__[a-z_]+\}?"><token type="NameFunction"/></rule> + <rule pattern="%\{?_([a-z_]+dir|[a-z_]+path|prefix)\}?"><token type="KeywordPseudo"/></rule> + <rule pattern="%\{\?\w+\}"><token type="NameVariable"/></rule> + <rule pattern="\$\{?RPM_[A-Z0-9_]+\}?"><token type="NameVariableGlobal"/></rule> + <rule pattern="%\{[a-zA-Z]\w+\}"><token type="KeywordConstant"/></rule> + </state> + </rules> +</lexer> + diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml index b47b1ab..baa7e43 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml @@ -12,6 +12,7 @@ <filename>*.rbx</filename> <filename>*.duby</filename> <filename>Gemfile</filename> + <filename>Vagrantfile</filename> <mime_type>text/x-ruby</mime_type> <mime_type>application/x-ruby</mime_type> <dot_all>true</dot_all> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snbt.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snbt.xml new file mode 100644 index 0000000..fdb12d0 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/snbt.xml @@ -0,0 +1,58 @@ + +<lexer> + <config> + <name>SNBT</name> + <alias>snbt</alias> + <filename>*.snbt</filename> + <mime_type>text/snbt</mime_type> + </config> + <rules> + <state name="root"> + <rule pattern="\{"><token type="Punctuation"/><push state="compound"/></rule> + <rule pattern="[^\{]+"><token type="Text"/></rule> + </state> + <state name="whitespace"> + <rule pattern="\s+"><token type="TextWhitespace"/></rule> + </state> + <state name="operators"> + <rule pattern="[,:;]"><token type="Punctuation"/></rule> + </state> + <state name="literals"> + <rule pattern="(true|false)"><token type="KeywordConstant"/></rule> + <rule pattern="-?\d+[eE]-?\d+"><token type="LiteralNumberFloat"/></rule> + <rule pattern="-?\d*\.\d+[fFdD]?"><token type="LiteralNumberFloat"/></rule> + <rule pattern="-?\d+[bBsSlLfFdD]?"><token type="LiteralNumberInteger"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><push state="literals.string_double"/></rule> + <rule pattern="'"><token type="LiteralStringSingle"/><push state="literals.string_single"/></rule> + </state> + <state name="literals.string_double"> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\"\n]+"><token type="LiteralStringDouble"/></rule> + <rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule> + </state> + <state name="literals.string_single"> + <rule pattern="\\."><token type="LiteralStringEscape"/></rule> + <rule pattern="[^\\'\n]+"><token type="LiteralStringSingle"/></rule> + <rule pattern="'"><token type="LiteralStringSingle"/><pop depth="1"/></rule> + </state> + <state name="compound"> + <rule pattern="[A-Z_a-z]+"><token type="NameAttribute"/></rule> + <rule><include state="operators"/></rule> + <rule><include state="whitespace"/></rule> + <rule><include state="literals"/></rule> + <rule pattern="\{"><token type="Punctuation"/><push/></rule> + <rule pattern="\["><token type="Punctuation"/><push state="list"/></rule> + <rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule> + </state> + <state name="list"> + <rule pattern="[A-Z_a-z]+"><token type="NameAttribute"/></rule> + <rule><include state="literals"/></rule> + <rule><include state="operators"/></rule> + <rule><include state="whitespace"/></rule> + <rule pattern="\["><token type="Punctuation"/><push/></rule> + <rule pattern="\{"><token type="Punctuation"/><push state="compound"/></rule> + <rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule> + </state> + </rules> +</lexer> + diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml index d49241e..7d541cb 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typescript.xml @@ -51,10 +51,29 @@ </rule> </state> <state name="tag"> + <rule> + <include state="jsx"/> + </rule> + <rule pattern=","> + <token type="Punctuation"/> + </rule> + <rule pattern=""(\\\\|\\"|[^"])*""> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="'(\\\\|\\'|[^'])*'"> + <token type="LiteralStringSingle"/> + </rule> + <rule pattern="`"> + <token type="LiteralStringBacktick"/> + <push state="interp"/> + </rule> + <rule> + <include state="commentsandwhitespace"/> + </rule> <rule pattern="\s+"> <token type="Text"/> </rule> - <rule pattern="([\w]+\s*)(=)(\s*)"> + <rule pattern="([\w-]+\s*)(=)(\s*)"> <bygroups> <token type="NameAttribute"/> <token type="Operator"/> @@ -77,12 +96,25 @@ <pop depth="1"/> </rule> </state> + <state name="comment"> + <rule pattern="[^-]+"> + <token type="Comment"/> + </rule> + <rule pattern="-->"> + <token type="Comment"/> + <pop depth="1"/> + </rule> + <rule pattern="-"> + <token type="Comment"/> + </rule> + </state> <state name="commentsandwhitespace"> <rule pattern="\s+"> <token type="Text"/> </rule> <rule pattern="<!--"> <token type="Comment"/> + <push state="comment"/> </rule> <rule pattern="//.*?\n"> <token type="CommentSingle"/> @@ -155,7 +187,7 @@ </rule> <rule pattern="(?=/)"> <token type="Text"/> - <push state="#pop" state="badregex"/> + <push state="badregex"/> </rule> <rule> <pop depth="1"/> @@ -200,7 +232,7 @@ <rule pattern="(Array|Boolean|Date|Error|Function|Math|Number|Object|Packages|RegExp|String|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window)\b"> <token type="NameBuiltin"/> </rule> - <rule pattern="\b(module)(\s*)(\s*[\w?.$][\w?.$]*)(\s*)"> + <rule pattern="\b(module)(\s+)("[\w\./@]+")(\s+)"> <bygroups> <token type="KeywordReserved"/> <token type="Text"/> @@ -260,4 +292,4 @@ </rule> </state> </rules> -</lexer>
\ No newline at end of file +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typst.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typst.xml new file mode 100644 index 0000000..330dc40 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/typst.xml @@ -0,0 +1,108 @@ + +<lexer> + <config> + <name>Typst</name> + <alias>typst</alias> + <filename>*.typ</filename> + <mime_type>text/x-typst</mime_type> + </config> + <rules> + <state name="root"> + <rule><include state="markup"/></rule> + </state> + <state name="into_code"> + <rule pattern="(\#let|\#set|\#show)\b"><token type="KeywordDeclaration"/><push state="inline_code"/></rule> + <rule pattern="(\#import|\#include)\b"><token type="KeywordNamespace"/><push state="inline_code"/></rule> + <rule pattern="(\#if|\#for|\#while|\#export)\b"><token type="KeywordReserved"/><push state="inline_code"/></rule> + <rule pattern="#\{"><token type="Punctuation"/><push state="code"/></rule> + <rule pattern="#\("><token type="Punctuation"/><push state="code"/></rule> + <rule pattern="(#[a-zA-Z_][a-zA-Z0-9_-]*)(\[)"><bygroups><token type="NameFunction"/><token type="Punctuation"/></bygroups><push state="markup"/></rule> + <rule pattern="(#[a-zA-Z_][a-zA-Z0-9_-]*)(\()"><bygroups><token type="NameFunction"/><token type="Punctuation"/></bygroups><push state="code"/></rule> + <rule pattern="(\#true|\#false|\#none|\#auto)\b"><token type="KeywordConstant"/></rule> + <rule pattern="#[a-zA-Z_][a-zA-Z0-9_]*"><token type="NameVariable"/></rule> + <rule pattern="#0x[0-9a-fA-F]+"><token type="LiteralNumberHex"/></rule> + <rule pattern="#0b[01]+"><token type="LiteralNumberBin"/></rule> + <rule pattern="#0o[0-7]+"><token type="LiteralNumberOct"/></rule> + <rule pattern="#[0-9]+[\.e][0-9]+"><token type="LiteralNumberFloat"/></rule> + <rule pattern="#[0-9]+"><token type="LiteralNumberInteger"/></rule> + </state> + <state name="markup"> + <rule><include state="comment"/></rule> + <rule pattern="^\s*=+.*$"><token type="GenericHeading"/></rule> + <rule pattern="[*][^*]*[*]"><token type="GenericStrong"/></rule> + <rule pattern="_[^_]*_"><token type="GenericEmph"/></rule> + <rule pattern="\$"><token type="Punctuation"/><push state="math"/></rule> + <rule pattern="`[^`]*`"><token type="LiteralStringBacktick"/></rule> + <rule pattern="^(\s*)(-)(\s+)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/><token type="TextWhitespace"/></bygroups></rule> + <rule pattern="^(\s*)(\+)(\s+)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/><token type="TextWhitespace"/></bygroups></rule> + <rule pattern="^(\s*)([0-9]+\.)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="^(\s*)(/)(\s+)([^:]+)(:)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/><token type="TextWhitespace"/><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="<[a-zA-Z_][a-zA-Z0-9_-]*>"><token type="NameLabel"/></rule> + <rule pattern="@[a-zA-Z_][a-zA-Z0-9_-]*"><token type="NameLabel"/></rule> + <rule pattern="\\#"><token type="Text"/></rule> + <rule><include state="into_code"/></rule> + <rule pattern="```(?:.|\n)*?```"><token type="LiteralStringBacktick"/></rule> + <rule pattern="https?://[0-9a-zA-Z~/%#&=\',;.+?]*"><token type="GenericEmph"/></rule> + <rule pattern="(\-\-\-|\\|\~|\-\-|\.\.\.)\B"><token type="Punctuation"/></rule> + <rule pattern="\\\["><token type="Punctuation"/></rule> + <rule pattern="\\\]"><token type="Punctuation"/></rule> + <rule pattern="\["><token type="Punctuation"/><push/></rule> + <rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="[ \t]+\n?|\n"><token type="TextWhitespace"/></rule> + <rule pattern="((?![*_$`<@\\#\] ]|https?://).)+"><token type="Text"/></rule> + </state> + <state name="math"> + <rule><include state="comment"/></rule> + <rule pattern="(\\_|\\\^|\\\&)"><token type="Text"/></rule> + <rule pattern="(_|\^|\&|;)"><token type="Punctuation"/></rule> + <rule pattern="(\+|/|=|\[\||\|\]|\|\||\*|:=|::=|\.\.\.|'|\-|=:|!=|>>|>=|>>>|<<|<=|<<<|\->|\|\->|=>|\|=>|==>|\-\->|\~\~>|\~>|>\->|\->>|<\-|<==|<\-\-|<\~\~|<\~|<\-<|<<\-|<\->|<=>|<==>|<\-\->|>|<|\~|:|\|)"><token type="Operator"/></rule> + <rule pattern="\\"><token type="Punctuation"/></rule> + <rule pattern="\\\$"><token type="Punctuation"/></rule> + <rule pattern="\$"><token type="Punctuation"/><pop depth="1"/></rule> + <rule><include state="into_code"/></rule> + <rule pattern="([a-zA-Z][a-zA-Z0-9-]*)(\s*)(\()"><bygroups><token type="NameFunction"/><token type="TextWhitespace"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="([a-zA-Z][a-zA-Z0-9-]*)(:)"><bygroups><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="([a-zA-Z][a-zA-Z0-9-]*)"><token type="NameVariable"/></rule> + <rule pattern="[0-9]+(\.[0-9]+)?"><token type="LiteralNumber"/></rule> + <rule pattern="\.{1,3}|\(|\)|,|\{|\}"><token type="Punctuation"/></rule> + <rule pattern=""[^"]*""><token type="LiteralStringDouble"/></rule> + <rule pattern="[ \t\n]+"><token type="TextWhitespace"/></rule> + </state> + <state name="comment"> + <rule pattern="//.*$"><token type="CommentSingle"/></rule> + <rule pattern="/[*](.|\n)*?[*]/"><token type="CommentMultiline"/></rule> + </state> + <state name="code"> + <rule><include state="comment"/></rule> + <rule pattern="\["><token type="Punctuation"/><push state="markup"/></rule> + <rule pattern="\(|\{"><token type="Punctuation"/><push state="code"/></rule> + <rule pattern="\)|\}"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern=""[^"]*""><token type="LiteralStringDouble"/></rule> + <rule pattern=",|\.{1,2}"><token type="Punctuation"/></rule> + <rule pattern="="><token type="Operator"/></rule> + <rule pattern="(and|or|not)\b"><token type="OperatorWord"/></rule> + <rule pattern="=>|<=|==|!=|>|<|-=|\+=|\*=|/=|\+|-|\\|\*"><token type="Operator"/></rule> + <rule pattern="([a-zA-Z_][a-zA-Z0-9_-]*)(:)"><bygroups><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule> + <rule pattern="([a-zA-Z_][a-zA-Z0-9_-]*)(\()"><bygroups><token type="NameFunction"/><token type="Punctuation"/></bygroups><push state="code"/></rule> + <rule pattern="(as|break|export|continue|else|for|if|in|return|while)\b"><token type="KeywordReserved"/></rule> + <rule pattern="(import|include)\b"><token type="KeywordNamespace"/></rule> + <rule pattern="(auto|none|true|false)\b"><token type="KeywordConstant"/></rule> + <rule pattern="([0-9.]+)(mm|pt|cm|in|em|fr|%)"><bygroups><token type="LiteralNumber"/><token type="KeywordReserved"/></bygroups></rule> + <rule pattern="0x[0-9a-fA-F]+"><token type="LiteralNumberHex"/></rule> + <rule pattern="0b[01]+"><token type="LiteralNumberBin"/></rule> + <rule pattern="0o[0-7]+"><token type="LiteralNumberOct"/></rule> + <rule pattern="[0-9]+[\.e][0-9]+"><token type="LiteralNumberFloat"/></rule> + <rule pattern="[0-9]+"><token type="LiteralNumberInteger"/></rule> + <rule pattern="(let|set|show)\b"><token type="KeywordDeclaration"/></rule> + <rule pattern="([a-zA-Z_][a-zA-Z0-9_-]*)"><token type="NameVariable"/></rule> + <rule pattern="[ \t\n]+"><token type="TextWhitespace"/></rule> + <rule pattern=":"><token type="Punctuation"/></rule> + </state> + <state name="inline_code"> + <rule pattern=";\b"><token type="Punctuation"/><pop depth="1"/></rule> + <rule pattern="\n"><token type="TextWhitespace"/><pop depth="1"/></rule> + <rule><include state="code"/></rule> + </state> + </rules> +</lexer> + 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 @@ +<lexer> + <config> + <name>ucode</name> + <filename>*.uc</filename> + <mime_type>application/x.ucode</mime_type> + <mime_type>text/x.ucode</mime_type> + <dot_all>true</dot_all> + <ensure_nl>true</ensure_nl> + </config> + <rules> + <state name="interp"> + <rule pattern="`"> + <token type="LiteralStringBacktick"/> + <pop depth="1"/> + </rule> + <rule pattern="\\\\"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="\\`"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="\\[^`\\]"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="\$\{"> + <token type="LiteralStringInterpol"/> + <push state="interp-inside"/> + </rule> + <rule pattern="\$"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="[^`\\$]+"> + <token type="LiteralStringBacktick"/> + </rule> + </state> + <state name="interp-inside"> + <rule pattern="\}"> + <token type="LiteralStringInterpol"/> + <pop depth="1"/> + </rule> + <rule> + <include state="root"/> + </rule> + </state> + <state name="commentsandwhitespace"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="<!--"> + <token type="Comment"/> + </rule> + <rule pattern="//.*?\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="/\*.*?\*/"> + <token type="CommentMultiline"/> + </rule> + </state> + <state name="slashstartsregex"> + <rule> + <include state="commentsandwhitespace"/> + </rule> + <rule pattern="/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuy]+\b|\B)"> + <token type="LiteralStringRegex"/> + <pop depth="1"/> + </rule> + <rule pattern="(?=/)"> + <token type="Text"/> + <push state="#pop" state="badregex"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="badregex"> + <rule pattern="\n"> + <token type="Text"/> + <pop depth="1"/> + </rule> + </state> + <state name="root"> + <rule pattern="\A#! ?/.*?\n"> + <token type="CommentHashbang"/> + </rule> + <rule pattern="^(?=\s|/|<!--)"> + <token type="Text"/> + <push state="slashstartsregex"/> + </rule> + <rule> + <include state="commentsandwhitespace"/> + </rule> + <rule pattern="\d+(\.\d*|[eE][+\-]?\d+)"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0[bB][01]+"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="0[oO][0-7]+"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="0[xX][0-9a-fA-F]+"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="[0-9][0-9_]*"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="\.\.\.|=>"> + <token type="Punctuation"/> + </rule> + <rule pattern="\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?"> + <token type="Operator"/> + <push state="slashstartsregex"/> + </rule> + <rule pattern="[{(\[;,]"> + <token type="Punctuation"/> + <push state="slashstartsregex"/> + </rule> + <rule pattern="[})\].]"> + <token type="Punctuation"/> + </rule> + <rule pattern="(import|export|from|as|for|in|while|break|return|continue|switch|case|default|if|else|try|catch|delete|this)\b"> + <token type="Keyword"/> + <push state="slashstartsregex"/> + </rule> + <rule pattern="(const|let|function)\b"> + <token type="KeywordDeclaration"/> + <push state="slashstartsregex"/> + </rule> + <rule pattern="(true|false|null|NaN|Infinity)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="(?:[$_\p{L}\p{N}]|\\u[a-fA-F0-9]{4})(?:(?:[$\p{L}\p{N}]|\\u[a-fA-F0-9]{4}))*"> + <token type="NameOther"/> + </rule> + <rule pattern=""(\\\\|\\"|[^"])*""> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="'(\\\\|\\'|[^'])*'"> + <token type="LiteralStringSingle"/> + </rule> + <rule pattern="`"> + <token type="LiteralStringBacktick"/> + <push state="interp"/> + </rule> + </state> + </rules> +</lexer> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml index 7518020..ec35083 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vue.xml @@ -83,9 +83,10 @@ <token type="LiteralString"/> </bygroups> </rule> - <rule pattern="(:[\S]+)(="[\S]+")"> + <rule pattern="(:[\S]+)(=)("[\S]+")"> <bygroups> <token type="NameTag"/> + <token type="Operator"/> <token type="LiteralString"/> </bygroups> </rule> @@ -104,9 +105,10 @@ <token type="Punctuation"/> </bygroups> </rule> - <rule pattern="(v-[\w]+)(="[\S]+")(>)"> + <rule pattern="(v-[\w]+)(=)("[\S ]+")(>|\s)"> <bygroups> <token type="NameTag"/> + <token type="Operator"/> <token type="LiteralString"/> <token type="Punctuation"/> </bygroups> @@ -258,14 +260,14 @@ </rule> </state> <state name="vue"> - <rule pattern="(<)([\w]+)"> + <rule pattern="(<)([\w-]+)"> <bygroups> <token type="Punctuation"/> <token type="NameTag"/> </bygroups> <push state="tag"/> </rule> - <rule pattern="(<)(/)([\w]+)(>)"> + <rule pattern="(<)(/)([\w-]+)(>)"> <bygroups> <token type="Punctuation"/> <token type="Punctuation"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/webvtt.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/webvtt.xml new file mode 100644 index 0000000..08a7efc --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/webvtt.xml @@ -0,0 +1,283 @@ +<lexer> + <config> + <name>WebVTT</name> + <alias>vtt</alias> + <filename>*.vtt</filename> + <mime_type>text/vtt</mime_type> + </config> + <!-- + The WebVTT spec refers to a WebVTT line terminator as either CRLF, CR or LF. + (https://www.w3.org/TR/webvtt1/#webvtt-line-terminator) However, with this + definition it is unclear whether CRLF is one line terminator (CRLF) or two + line terminators (CR and LF). + + To work around this ambiguity, only CRLF and LF are considered as line terminators. + To my knowledge only classic Mac OS uses CR as line terminators, so the lexer should + still work for most files. + --> + <rules> + <!-- https://www.w3.org/TR/webvtt1/#webvtt-file-body --> + <state name="root"> + <rule pattern="(\AWEBVTT)((?:[ \t][^\r\n]*)?(?:\r?\n){2,})"> + <bygroups> + <token type="Keyword" /> + <token type="Text" /> + </bygroups> + </rule> + <rule pattern="(^REGION)([ \t]*$)"> + <bygroups> + <token type="Keyword" /> + <token type="Text" /> + </bygroups> + <push state="region-settings-list" /> + </rule> + <rule + pattern="(^STYLE)([ \t]*$)((?:(?!-->)[\s\S])*?)((?:\r?\n){2})"> + <bygroups> + <token type="Keyword" /> + <token type="Text" /> + <using lexer="CSS" /> + <token type="Text" /> + </bygroups> + </rule> + <rule> + <include state="comment" /> + </rule> + <rule + pattern="(?=((?![^\r\n]*-->)[^\r\n]*\r?\n)?(\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3}[ \t]+-->[ \t]+(\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})" + > + <push state="cues" /> + </rule> + </state> + + <!-- https://www.w3.org/TR/webvtt1/#webvtt-region-settings-list --> + <state name="region-settings-list"> + <rule pattern="(?: |\t|\r?\n(?!\r?\n))+"> + <token type="Text" /> + </rule> + <rule pattern="(?:\r?\n){2}"> + <token type="Text" /> + <pop depth="1" /> + </rule> + <rule pattern="(id)(:)(?!-->)(\S+)"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + </bygroups> + </rule> + <rule pattern="(width)(:)((?:[1-9]?\d|100)(?:\.\d+)?)(%)"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + <token type="KeywordType" /> + </bygroups> + </rule> + <rule pattern="(lines)(:)(\d+)"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + </bygroups> + </rule> + <rule + pattern="(regionanchor|viewportanchor)(:)((?:[1-9]?\d|100)(?:\.\d+)?)(%)(,)((?:[1-9]?\d|100)(?:\.\d+)?)(%)"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + <token type="KeywordType" /> + <token type="Punctuation" /> + <token type="Literal" /> + <token type="KeywordType" /> + </bygroups> + </rule> + <rule pattern="(scroll)(:)(up)"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="KeywordConstant" /> + </bygroups> + </rule> + </state> + + <!-- https://www.w3.org/TR/webvtt1/#webvtt-comment-block --> + <state name="comment"> + <rule + pattern="^NOTE( |\t|\r?\n)((?!-->)[\s\S])*?(?:(\r?\n){2}|\Z)"> + <token type="Comment" /> + </rule> + </state> + + <!-- + "Zero or more WebVTT cue blocks and WebVTT comment blocks separated from each other by one or more + WebVTT line terminators." (https://www.w3.org/TR/webvtt1/#file-structure) + --> + <state name="cues"> + <rule + pattern="(?:((?!-->)[^\r\n]+)?(\r?\n))?((?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})([ \t]+)(-->)([ \t]+)((?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})([ \t]*)"> + <bygroups> + <token type="Name" /> + <token type="Text" /> + <token type="LiteralDate" /> + <token type="Text" /> + <token type="Operator" /> + <token type="Text" /> + <token type="LiteralDate" /> + <token type="Text" /> + </bygroups> + <push state="cue-settings-list" /> + </rule> + <rule> + <include state="comment" /> + </rule> + </state> + + <!-- https://www.w3.org/TR/webvtt1/#webvtt-cue-settings-list --> + <state name="cue-settings-list"> + <rule pattern="[ \t]+"> + <token type="Text" /> + </rule> + <rule pattern="(vertical)(:)?(rl|lr)?"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="KeywordConstant" /> + </bygroups> + </rule> + <rule + pattern="(line)(:)?(?:(?:((?:[1-9]?\d|100)(?:\.\d+)?)(%)|(-?\d+))(?:(,)(start|center|end))?)?"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + <token type="KeywordType" /> + <token type="Literal" /> + <token type="Punctuation" /> + <token type="KeywordConstant" /> + </bygroups> + </rule> + <rule + pattern="(position)(:)?(?:(?:((?:[1-9]?\d|100)(?:\.\d+)?)(%)|(-?\d+))(?:(,)(line-left|center|line-right))?)?"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + <token type="KeywordType" /> + <token type="Literal" /> + <token type="Punctuation" /> + <token type="KeywordConstant" /> + </bygroups> + </rule> + <rule pattern="(size)(:)?(?:((?:[1-9]?\d|100)(?:\.\d+)?)(%))?"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + <token type="KeywordType" /> + </bygroups> + </rule> + <rule pattern="(align)(:)?(start|center|end|left|right)?"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="KeywordConstant" /> + </bygroups> + </rule> + <rule pattern="(region)(:)?((?![^\r\n]*-->(?=[ \t]+?))[^ \t\r\n]+)?"> + <bygroups> + <token type="Keyword" /> + <token type="Punctuation" /> + <token type="Literal" /> + </bygroups> + </rule> + <rule + pattern="(?=\r?\n)"> + <push state="cue-payload" /> + </rule> + </state> + + <!-- https://www.w3.org/TR/webvtt1/#cue-payload --> + <state name="cue-payload"> + <rule pattern="(\r?\n){2,}"> + <token type="Text" /> + <pop depth="2" /> + </rule> + <rule pattern="[^<&]+?"> + <token type="Text" /> + </rule> + <rule pattern="&(#\d+|#x[0-9A-Fa-f]+|[a-zA-Z0-9]+);"> + <token type="Text" /> + </rule> + <rule pattern="(?=<)"> + <token type="Text" /> + <push state="cue-span-tag" /> + </rule> + </state> + <state name="cue-span-tag"> + <rule + pattern="<(?=c|i|b|u|ruby|rt|v|lang|(?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})"> + <token type="Punctuation" /> + <push state="cue-span-start-tag-name" /> + </rule> + <rule pattern="(</)(c|i|b|u|ruby|rt|v|lang)"> + <bygroups> + <token type="Punctuation" /> + <token type="NameTag" /> + </bygroups> + </rule> + <rule pattern=">"> + <token type="Punctuation" /> + <pop depth="1" /> + </rule> + </state> + <state name="cue-span-start-tag-name"> + <rule pattern="(c|i|b|u|ruby|rt)|((?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})"> + <bygroups> + <token type="NameTag" /> + <token type="LiteralDate" /> + </bygroups> + <push state="cue-span-classes-without-annotations" /> + </rule> + <rule pattern="v|lang"> + <token type="NameTag" /> + <push state="cue-span-classes-with-annotations" /> + </rule> + </state> + <state name="cue-span-classes-without-annotations"> + <rule> + <include state="cue-span-classes" /> + </rule> + <rule pattern="(?=>)"> + <pop depth="2" /> + </rule> + </state> + <state name="cue-span-classes-with-annotations"> + <rule> + <include state="cue-span-classes" /> + </rule> + <rule pattern="(?=[ \t])"> + <push state="cue-span-start-tag-annotations" /> + </rule> + </state> + <state name="cue-span-classes"> + <rule pattern="(\.)([^ \t\n\r&<>\.]+)"> + <bygroups> + <token type="Punctuation" /> + <token type="NameTag" /> + </bygroups> + </rule> + </state> + <state name="cue-span-start-tag-annotations"> + <rule + pattern="[ \t](?:[^\n\r&>]|&(?:#\d+|#x[0-9A-Fa-f]+|[a-zA-Z0-9]+);)+"> + <token type="Text" /> + </rule> + <rule pattern="(?=>)"> + <token type="Text" /> + <pop depth="3" /> + </rule> + </state> + </rules> +</lexer>
\ 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 index 97a0b6e..0707554 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/yaml.xml @@ -53,7 +53,7 @@ <bygroups> <token type="Punctuation"/> <token type="LiteralStringDoc"/> - <token type="TextWhitespace"/> + <token type="Ignore"/> </bygroups> </rule> <rule pattern="(false|False|FALSE|true|True|TRUE|null|Off|off|yes|Yes|YES|OFF|On|ON|no|No|on|NO|n|N|Y|y)\b"> diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/go.go b/vendor/github.com/alecthomas/chroma/v2/lexers/go.go index 77bc225..60b1f71 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/go.go +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/go.go @@ -13,7 +13,6 @@ var Go = Register(MustNewLexer( Aliases: []string{"go", "golang"}, Filenames: []string{"*.go"}, MimeTypes: []string{"text/x-gosrc"}, - EnsureNL: true, }, goRules, ).SetAnalyser(func(text string) float32 { @@ -32,14 +31,14 @@ func goRules() Rules { {`\n`, Text, nil}, {`\s+`, Text, nil}, {`\\\n`, Text, nil}, - {`//(.*?)\n`, CommentSingle, nil}, + {`//[^\n\r]*`, CommentSingle, nil}, {`/(\\\n)?[*](.|\n)*?[*](\\\n)?/`, CommentMultiline, nil}, {`(import|package)\b`, KeywordNamespace, nil}, {`(var|func|struct|map|chan|type|interface|const)\b`, KeywordDeclaration, nil}, {Words(``, `\b`, `break`, `default`, `select`, `case`, `defer`, `go`, `else`, `goto`, `switch`, `fallthrough`, `if`, `range`, `continue`, `for`, `return`), Keyword, nil}, {`(true|false|iota|nil)\b`, KeywordConstant, nil}, {Words(``, `\b(\()`, `uint`, `uint8`, `uint16`, `uint32`, `uint64`, `int`, `int8`, `int16`, `int32`, `int64`, `float`, `float32`, `float64`, `complex64`, `complex128`, `byte`, `rune`, `string`, `bool`, `error`, `uintptr`, `print`, `println`, `panic`, `recover`, `close`, `complex`, `real`, `imag`, `len`, `cap`, `append`, `copy`, `delete`, `new`, `make`, `clear`, `min`, `max`), ByGroups(NameBuiltin, Punctuation), nil}, - {Words(``, `\b`, `uint`, `uint8`, `uint16`, `uint32`, `uint64`, `int`, `int8`, `int16`, `int32`, `int64`, `float`, `float32`, `float64`, `complex64`, `complex128`, `byte`, `rune`, `string`, `bool`, `error`, `uintptr`), KeywordType, nil}, + {Words(``, `\b`, `uint`, `uint8`, `uint16`, `uint32`, `uint64`, `int`, `int8`, `int16`, `int32`, `int64`, `float`, `float32`, `float64`, `complex64`, `complex128`, `byte`, `rune`, `string`, `bool`, `error`, `uintptr`, `any`), KeywordType, nil}, {`\d+i`, LiteralNumber, nil}, {`\d+\.\d*([Ee][-+]\d+)?i`, LiteralNumber, nil}, {`\.\d+([Ee][-+]\d+)?i`, LiteralNumber, nil}, @@ -55,7 +54,7 @@ func goRules() Rules { {`"(\\\\|\\"|[^"])*"`, LiteralString, nil}, {`(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\||<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])`, Operator, nil}, {`([a-zA-Z_]\w*)(\s*)(\()`, ByGroups(NameFunction, UsingSelf("root"), Punctuation), nil}, - {`[|^<>=!()\[\]{}.,;:]`, Punctuation, nil}, + {`[|^<>=!()\[\]{}.,;:~]`, Punctuation, nil}, {`[^\W\d]\w*`, NameOther, nil}, }, } diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go b/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go index 161caef..4fa35ad 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/lexers.go @@ -30,6 +30,9 @@ func Names(withAliases bool) []string { } // 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) } @@ -40,6 +43,9 @@ func MatchMimeType(mimeType string) chroma.Lexer { } // 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) } diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go b/vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go index 1fb9f5b..db5a894 100644 --- a/vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/markdown.go @@ -40,7 +40,6 @@ func markdownRules() Rules { {"`[^`]+`", LiteralStringBacktick, nil}, {`[@#][\w/:]+`, NameEntity, nil}, {`(!?\[)([^]]+)(\])(\()([^)]+)(\))`, ByGroups(Text, NameTag, Text, Text, NameAttribute, Text), nil}, - {`[^\\\s]+`, Other, nil}, {`.|\n`, Other, nil}, }, } diff --git a/vendor/github.com/alecthomas/chroma/v2/regexp.go b/vendor/github.com/alecthomas/chroma/v2/regexp.go index 0dcb077..5796726 100644 --- a/vendor/github.com/alecthomas/chroma/v2/regexp.go +++ b/vendor/github.com/alecthomas/chroma/v2/regexp.go @@ -194,6 +194,9 @@ func (l *LexerState) Iterator() Token { // nolint: gocognit for len(l.iteratorStack) > 0 { n := len(l.iteratorStack) - 1 t := l.iteratorStack[n]() + if t.Type == Ignore { + continue + } if t == EOF { l.iteratorStack = l.iteratorStack[:n] continue @@ -243,6 +246,9 @@ func (l *LexerState) Iterator() Token { // nolint: gocognit for len(l.iteratorStack) > 0 { n := len(l.iteratorStack) - 1 t := l.iteratorStack[n]() + if t.Type == Ignore { + continue + } if t == EOF { l.iteratorStack = l.iteratorStack[:n] continue diff --git a/vendor/github.com/alecthomas/chroma/v2/registry.go b/vendor/github.com/alecthomas/chroma/v2/registry.go index 55ed362..4742e8c 100644 --- a/vendor/github.com/alecthomas/chroma/v2/registry.go +++ b/vendor/github.com/alecthomas/chroma/v2/registry.go @@ -97,6 +97,8 @@ func (l *LexerRegistry) MatchMimeType(mimeType string) Lexer { } // Match returns the first lexer matching filename. +// +// 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 := PrioritisedLexers{} diff --git a/vendor/github.com/alecthomas/chroma/v2/renovate.json5 b/vendor/github.com/alecthomas/chroma/v2/renovate.json5 new file mode 100644 index 0000000..77c7b01 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/renovate.json5 @@ -0,0 +1,18 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: [ + "config:recommended", + ":semanticCommits", + ":semanticCommitTypeAll(chore)", + ":semanticCommitScope(deps)", + "group:allNonMajor", + "schedule:earlyMondays", // Run once a week. + ], + packageRules: [ + { + matchPackageNames: ["golangci-lint"], + matchManagers: ["hermit"], + enabled: false, + }, + ], +} diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml index 08eb42a..0adf1ba 100644 --- a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml +++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml @@ -5,7 +5,7 @@ <entry type="Other" style="#c6d0f5"/> <entry type="LineTableTD" style=""/> <entry type="LineTable" style=""/> - <entry type="LineHighlight" style="#51576d"/> + <entry type="LineHighlight" style="bg:#51576d"/> <entry type="LineNumbersTable" style="#838ba7"/> <entry type="LineNumbers" style="#838ba7"/> <entry type="Keyword" style="#ca9ee6"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml index 3d51074..3ea767f 100644 --- a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml +++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml @@ -5,7 +5,7 @@ <entry type="Other" style="#4c4f69"/> <entry type="LineTableTD" style=""/> <entry type="LineTable" style=""/> - <entry type="LineHighlight" style="#bcc0cc"/> + <entry type="LineHighlight" style="bg:#bcc0cc"/> <entry type="LineNumbersTable" style="#8c8fa1"/> <entry type="LineNumbers" style="#8c8fa1"/> <entry type="Keyword" style="#8839ef"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml index 5d96f59..6b50028 100644 --- a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml +++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml @@ -5,7 +5,7 @@ <entry type="Other" style="#cad3f5"/> <entry type="LineTableTD" style=""/> <entry type="LineTable" style=""/> - <entry type="LineHighlight" style="#494d64"/> + <entry type="LineHighlight" style="bg:#494d64"/> <entry type="LineNumbersTable" style="#8087a2"/> <entry type="LineNumbers" style="#8087a2"/> <entry type="Keyword" style="#c6a0f6"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml index e17866d..9a40191 100644 --- a/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml +++ b/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml @@ -5,7 +5,7 @@ <entry type="Other" style="#cdd6f4"/> <entry type="LineTableTD" style=""/> <entry type="LineTable" style=""/> - <entry type="LineHighlight" style="#45475a"/> + <entry type="LineHighlight" style="bg:#45475a"/> <entry type="LineNumbersTable" style="#7f849c"/> <entry type="LineNumbers" style="#7f849c"/> <entry type="Keyword" style="#cba6f7"/> diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/evergarden.xml b/vendor/github.com/alecthomas/chroma/v2/styles/evergarden.xml new file mode 100644 index 0000000..da1d9b8 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/styles/evergarden.xml @@ -0,0 +1,33 @@ +<style name="evergarden"> + <entry type="Background" style="noinherit #D6CBB4 bg:#252B2E"/> + <entry type="Keyword" style="noinherit #E67E80"/> + <entry type="KeywordType" style="noinherit #DBBC7F"/> + <entry type="Name" style="#D6CBB4"/> + <entry type="NameAttribute" style="bold #D699B6"/> + <entry type="NameBuiltin" style="#D699B6"/> + <entry type="NameConstant" style="noinherit #D699B6"/> + <entry type="NameEntity" style="noinherit #DBBC7F"/> + <entry type="NameException" style="noinherit #E67E80"/> + <entry type="NameFunction" style="#B2C98F"/> + <entry type="NameLabel" style="noinherit #E67E80"/> + <entry type="NameTag" style="noinherit #7a8478"/> + <entry type="NameVariable" style="noinherit #D6CBB4"/> + <entry type="LiteralString" style="noinherit #B2C98F"/> + <entry type="LiteralStringSymbol" style="#E69875"/> + <entry type="LiteralNumber" style="noinherit #D699B6"/> + <entry type="LiteralNumberFloat" style="noinherit #D699B6"/> + <entry type="Operator" style="#7a8478"/> + <entry type="Comment" style="italic #859289"/> + <entry type="CommentPreproc" style="noinherit #E67E80"/> + <entry type="Generic" style="#D6CBB4"/> + <entry type="GenericDeleted" style="noinherit #252B2E bg:#E67E80"/> + <entry type="GenericEmph" style="#6E8585"/> + <entry type="GenericError" style="bold bg:#E67E80"/> + <entry type="GenericHeading" style="bold #D699B6"/> + <entry type="GenericInserted" style="noinherit #252B2E bg:#B2C98F"/> + <entry type="GenericOutput" style="noinherit #6E8585"/> + <entry type="GenericPrompt" style="#D6CBB4"/> + <entry type="GenericStrong" style="#D6CBB4"/> + <entry type="GenericSubheading" style="bold #B2C98F"/> + <entry type="GenericTraceback" style="bold bg:#E67E80"/> +</style>
\ 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 index 0adb775..711aeaf 100644 --- a/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml +++ b/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml @@ -1,6 +1,6 @@ <style name="github-dark"> <entry type="Error" style="#f85149"/> - <entry type="LineHighlight" style="#6e7681"/> + <entry type="LineHighlight" style="bg:#6e7681"/> <entry type="LineNumbers" style="#6e7681"/> <entry type="Background" style="#e6edf3 bg:#0d1117"/> <entry type="Keyword" style="#ff7b72"/> @@ -42,4 +42,4 @@ <entry type="GenericTraceback" style="#ff7b72"/> <entry type="GenericUnderline" style="underline"/> <entry type="TextWhitespace" style="#6e7681"/> -</style> +</style>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/github.xml b/vendor/github.com/alecthomas/chroma/v2/styles/github.xml index e7caee7..d747f65 100644 --- a/vendor/github.com/alecthomas/chroma/v2/styles/github.xml +++ b/vendor/github.com/alecthomas/chroma/v2/styles/github.xml @@ -1,44 +1,39 @@ <style name="github"> - <entry type="Error" style="#a61717 bg:#e3d2d2"/> + <entry type="Error" style="#f6f8fa bg:#82071e"/> <entry type="Background" style="bg:#ffffff"/> - <entry type="Keyword" style="bold #000000"/> - <entry type="KeywordType" style="bold #445588"/> - <entry type="NameAttribute" style="#008080"/> - <entry type="NameBuiltin" style="#0086b3"/> - <entry type="NameBuiltinPseudo" style="#999999"/> - <entry type="NameClass" style="bold #445588"/> - <entry type="NameConstant" style="#008080"/> - <entry type="NameDecorator" style="bold #3c5d5d"/> - <entry type="NameEntity" style="#800080"/> - <entry type="NameException" style="bold #990000"/> - <entry type="NameFunction" style="bold #990000"/> + <entry type="Keyword" style="#cf222e"/> + <entry type="KeywordType" style="#cf222e"/> + <entry type="NameAttribute" style="#1f2328"/> + <entry type="NameBuiltin" style="#6639ba"/> + <entry type="NameBuiltinPseudo" style="#6a737d"/> + <entry type="NameClass" style="#1f2328"/> + <entry type="NameConstant" style="#0550ae"/> + <entry type="NameDecorator" style="#0550ae"/> + <entry type="NameEntity" style="#6639ba"/> + <entry type="NameFunction" style="#6639ba"/> <entry type="NameLabel" style="bold #990000"/> - <entry type="NameNamespace" style="#555555"/> - <entry type="NameTag" style="#000080"/> - <entry type="NameVariable" style="#008080"/> - <entry type="NameVariableClass" style="#008080"/> - <entry type="NameVariableGlobal" style="#008080"/> - <entry type="NameVariableInstance" style="#008080"/> - <entry type="LiteralString" style="#dd1144"/> - <entry type="LiteralStringRegex" style="#009926"/> - <entry type="LiteralStringSymbol" style="#990073"/> - <entry type="LiteralNumber" style="#009999"/> - <entry type="Operator" style="bold #000000"/> - <entry type="Comment" style="italic #999988"/> - <entry type="CommentMultiline" style="italic #999988"/> - <entry type="CommentSingle" style="italic #999988"/> - <entry type="CommentSpecial" style="bold italic #999999"/> - <entry type="CommentPreproc" style="bold #999999"/> - <entry type="GenericDeleted" style="#000000 bg:#ffdddd"/> - <entry type="GenericEmph" style="italic #000000"/> - <entry type="GenericError" style="#aa0000"/> - <entry type="GenericHeading" style="#999999"/> - <entry type="GenericInserted" style="#000000 bg:#ddffdd"/> - <entry type="GenericOutput" style="#888888"/> - <entry type="GenericPrompt" style="#555555"/> - <entry type="GenericStrong" style="bold"/> - <entry type="GenericSubheading" style="#aaaaaa"/> - <entry type="GenericTraceback" style="#aa0000"/> + <entry type="NameNamespace" style="#24292e"/> + <entry type="NameOther" style="#1f2328"/> + <entry type="NameTag" style="#0550ae"/> + <entry type="NameVariable" style="#953800"/> + <entry type="NameVariableClass" style="#953800"/> + <entry type="NameVariableGlobal" style="#953800"/> + <entry type="NameVariableInstance" style="#953800"/> + <entry type="LiteralString" style="#0a3069"/> + <entry type="LiteralStringRegex" style="#0a3069"/> + <entry type="LiteralStringSymbol" style="#032f62"/> + <entry type="LiteralNumber" style="#0550ae"/> + <entry type="Operator" style="#0550ae"/> + <entry type="Comment" style="#57606a"/> + <entry type="CommentMultiline" style="#57606a"/> + <entry type="CommentSingle" style="#57606a"/> + <entry type="CommentSpecial" style="#57606a"/> + <entry type="CommentPreproc" style="#57606a"/> + <entry type="GenericDeleted" style="#82071e bg:#ffebe9"/> + <entry type="GenericEmph" style="#1f2328"/> + <entry type="GenericInserted" style="#116329 bg:#dafbe1"/> + <entry type="GenericOutput" style="#1f2328"/> <entry type="GenericUnderline" style="underline"/> - <entry type="TextWhitespace" style="#bbbbbb"/> + <entry type="Punctuation" style="#1f2328"/> + <entry type="TextWhitespace" style="#ffffff"/> </style>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/nordic.xml b/vendor/github.com/alecthomas/chroma/v2/styles/nordic.xml new file mode 100644 index 0000000..4c36b8e --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/styles/nordic.xml @@ -0,0 +1,46 @@ +<style name="nordic"> + <entry type="Error" style="#C5727A"/> + <entry type="Background" style="#BBC3D4 bg:#242933"/> + <entry type="Keyword" style="bold #D08770"/> + <entry type="KeywordPseudo" style="nobold #D08770"/> + <entry type="KeywordType" style="nobold #D08770"/> + <entry type="Name" style="#BBC3D4"/> + <entry type="NameAttribute" style="#8FBCBB"/> + <entry type="NameBuiltin" style="#5E81AC"/> + <entry type="NameClass" style="#8FBCBB"/> + <entry type="NameConstant" style="#8FBCBB"/> + <entry type="NameDecorator" style="#D08770"/> + <entry type="NameEntity" style="#D08770"/> + <entry type="NameException" style="#C5727A"/> + <entry type="NameFunction" style="#88C0D0"/> + <entry type="NameLabel" style="#8FBCBB"/> + <entry type="NameNamespace" style="#8FBCBB"/> + <entry type="NameOther" style="#BBC3D4"/> + <entry type="NameTag" style="#5E81AC"/> + <entry type="NameVariable" style="#BBC3D4"/> + <entry type="NameProperty" style="#8FBCBB"/> + <entry type="LiteralString" style="#A3BE8C"/> + <entry type="LiteralStringDoc" style="#4C566A"/> + <entry type="LiteralStringEscape" style="#EBCB8B"/> + <entry type="LiteralStringInterpol" style="#A3BE8C"/> + <entry type="LiteralStringOther" style="#A3BE8C"/> + <entry type="LiteralStringRegex" style="#EBCB8B"/> + <entry type="LiteralStringSymbol" style="#A3BE8C"/> + <entry type="LiteralNumber" style="#B48EAD"/> + <entry type="Operator" style="#5E81AC"/> + <entry type="OperatorWord" style="bold #5E81AC"/> + <entry type="Punctuation" style="#ECEFF4"/> + <entry type="Comment" style="italic #4C566A"/> + <entry type="CommentPreproc" style="#5E81AC"/> + <entry type="GenericDeleted" style="#C5727A"/> + <entry type="GenericEmph" style="italic"/> + <entry type="GenericError" style="#C5727A"/> + <entry type="GenericHeading" style="bold #88C0D0"/> + <entry type="GenericInserted" style="#A3BE8C"/> + <entry type="GenericOutput" style="#BBC3D4"/> + <entry type="GenericPrompt" style="bold #1E222A"/> + <entry type="GenericStrong" style="bold"/> + <entry type="GenericSubheading" style="bold #88C0D0"/> + <entry type="GenericTraceback" style="#C5727A"/> + <entry type="TextWhitespace" style="#BBC3D4"/> +</style> diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-day.xml b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-day.xml new file mode 100644 index 0000000..c20d9a4 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-day.xml @@ -0,0 +1,83 @@ +<style name="tokyonight-day"> + <entry type="Background" style="bg:#e1e2e7 #3760bf"/> + <entry type="CodeLine" style="#3760bf"/> + <entry type="Error" style="#c64343"/> + <entry type="Other" style="#3760bf"/> + <entry type="LineTableTD" style=""/> + <entry type="LineTable" style=""/> + <entry type="LineHighlight" style="bg:#a1a6c5"/> + <entry type="LineNumbersTable" style="#6172b0"/> + <entry type="LineNumbers" style="#6172b0"/> + <entry type="Keyword" style="#9854f1"/> + <entry type="KeywordReserved" style="#9854f1"/> + <entry type="KeywordPseudo" style="#9854f1"/> + <entry type="KeywordConstant" style="#8c6c3e"/> + <entry type="KeywordDeclaration" style="#9d7cd8"/> + <entry type="KeywordNamespace" style="#007197"/> + <entry type="KeywordType" style="#0db9d7"/> + <entry type="Name" style="#3760bf"/> + <entry type="NameClass" style="#b15c00"/> + <entry type="NameConstant" style="#b15c00"/> + <entry type="NameDecorator" style="bold #2e7de9"/> + <entry type="NameEntity" style="#007197"/> + <entry type="NameException" style="#8c6c3e"/> + <entry type="NameFunction" style="#2e7de9"/> + <entry type="NameFunctionMagic" style="#2e7de9"/> + <entry type="NameLabel" style="#587539"/> + <entry type="NameNamespace" style="#8c6c3e"/> + <entry type="NameProperty" style="#8c6c3e"/> + <entry type="NameTag" style="#9854f1"/> + <entry type="NameVariable" style="#3760bf"/> + <entry type="NameVariableClass" style="#3760bf"/> + <entry type="NameVariableGlobal" style="#3760bf"/> + <entry type="NameVariableInstance" style="#3760bf"/> + <entry type="NameVariableMagic" style="#3760bf"/> + <entry type="NameAttribute" style="#2e7de9"/> + <entry type="NameBuiltin" style="#587539"/> + <entry type="NameBuiltinPseudo" style="#587539"/> + <entry type="NameOther" style="#3760bf"/> + <entry type="Literal" style="#3760bf"/> + <entry type="LiteralDate" style="#3760bf"/> + <entry type="LiteralString" style="#587539"/> + <entry type="LiteralStringChar" style="#587539"/> + <entry type="LiteralStringSingle" style="#587539"/> + <entry type="LiteralStringDouble" style="#587539"/> + <entry type="LiteralStringBacktick" style="#587539"/> + <entry type="LiteralStringOther" style="#587539"/> + <entry type="LiteralStringSymbol" style="#587539"/> + <entry type="LiteralStringInterpol" style="#587539"/> + <entry type="LiteralStringAffix" style="#9d7cd8"/> + <entry type="LiteralStringDelimiter" style="#2e7de9"/> + <entry type="LiteralStringEscape" style="#2e7de9"/> + <entry type="LiteralStringRegex" style="#007197"/> + <entry type="LiteralStringDoc" style="#a1a6c5"/> + <entry type="LiteralStringHeredoc" style="#a1a6c5"/> + <entry type="LiteralNumber" style="#8c6c3e"/> + <entry type="LiteralNumberBin" style="#8c6c3e"/> + <entry type="LiteralNumberHex" style="#8c6c3e"/> + <entry type="LiteralNumberInteger" style="#8c6c3e"/> + <entry type="LiteralNumberFloat" style="#8c6c3e"/> + <entry type="LiteralNumberIntegerLong" style="#8c6c3e"/> + <entry type="LiteralNumberOct" style="#8c6c3e"/> + <entry type="Operator" style="bold #587539"/> + <entry type="OperatorWord" style="bold #587539"/> + <entry type="Comment" style="italic #a1a6c5"/> + <entry type="CommentSingle" style="italic #a1a6c5"/> + <entry type="CommentMultiline" style="italic #a1a6c5"/> + <entry type="CommentSpecial" style="italic #a1a6c5"/> + <entry type="CommentHashbang" style="italic #a1a6c5"/> + <entry type="CommentPreproc" style="italic #a1a6c5"/> + <entry type="CommentPreprocFile" style="bold #a1a6c5"/> + <entry type="Generic" style="#3760bf"/> + <entry type="GenericInserted" style="bg:#e9e9ed #587539"/> + <entry type="GenericDeleted" style="#c64343 bg:#e9e9ed"/> + <entry type="GenericEmph" style="italic #3760bf"/> + <entry type="GenericStrong" style="bold #3760bf"/> + <entry type="GenericUnderline" style="underline #3760bf"/> + <entry type="GenericHeading" style="bold #8c6c3e"/> + <entry type="GenericSubheading" style="bold #8c6c3e"/> + <entry type="GenericOutput" style="#3760bf"/> + <entry type="GenericPrompt" style="#3760bf"/> + <entry type="GenericError" style="#c64343"/> + <entry type="GenericTraceback" style="#c64343"/> +</style>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-moon.xml b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-moon.xml new file mode 100644 index 0000000..3312f02 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-moon.xml @@ -0,0 +1,83 @@ +<style name="tokyonight-moon"> + <entry type="Background" style="bg:#222436 #c8d3f5"/> + <entry type="CodeLine" style="#c8d3f5"/> + <entry type="Error" style="#c53b53"/> + <entry type="Other" style="#c8d3f5"/> + <entry type="LineTableTD" style=""/> + <entry type="LineTable" style=""/> + <entry type="LineHighlight" style="bg:#444a73"/> + <entry type="LineNumbersTable" style="#828bb8"/> + <entry type="LineNumbers" style="#828bb8"/> + <entry type="Keyword" style="#c099ff"/> + <entry type="KeywordReserved" style="#c099ff"/> + <entry type="KeywordPseudo" style="#c099ff"/> + <entry type="KeywordConstant" style="#ffc777"/> + <entry type="KeywordDeclaration" style="#c099ff"/> + <entry type="KeywordNamespace" style="#86e1fc"/> + <entry type="KeywordType" style="#4fd6be"/> + <entry type="Name" style="#c8d3f5"/> + <entry type="NameClass" style="#ff966c"/> + <entry type="NameConstant" style="#ff966c"/> + <entry type="NameDecorator" style="bold #82aaff"/> + <entry type="NameEntity" style="#86e1fc"/> + <entry type="NameException" style="#ffc777"/> + <entry type="NameFunction" style="#82aaff"/> + <entry type="NameFunctionMagic" style="#82aaff"/> + <entry type="NameLabel" style="#c3e88d"/> + <entry type="NameNamespace" style="#ffc777"/> + <entry type="NameProperty" style="#ffc777"/> + <entry type="NameTag" style="#c099ff"/> + <entry type="NameVariable" style="#c8d3f5"/> + <entry type="NameVariableClass" style="#c8d3f5"/> + <entry type="NameVariableGlobal" style="#c8d3f5"/> + <entry type="NameVariableInstance" style="#c8d3f5"/> + <entry type="NameVariableMagic" style="#c8d3f5"/> + <entry type="NameAttribute" style="#82aaff"/> + <entry type="NameBuiltin" style="#c3e88d"/> + <entry type="NameBuiltinPseudo" style="#c3e88d"/> + <entry type="NameOther" style="#c8d3f5"/> + <entry type="Literal" style="#c8d3f5"/> + <entry type="LiteralDate" style="#c8d3f5"/> + <entry type="LiteralString" style="#c3e88d"/> + <entry type="LiteralStringChar" style="#c3e88d"/> + <entry type="LiteralStringSingle" style="#c3e88d"/> + <entry type="LiteralStringDouble" style="#c3e88d"/> + <entry type="LiteralStringBacktick" style="#c3e88d"/> + <entry type="LiteralStringOther" style="#c3e88d"/> + <entry type="LiteralStringSymbol" style="#c3e88d"/> + <entry type="LiteralStringInterpol" style="#c3e88d"/> + <entry type="LiteralStringAffix" style="#c099ff"/> + <entry type="LiteralStringDelimiter" style="#82aaff"/> + <entry type="LiteralStringEscape" style="#82aaff"/> + <entry type="LiteralStringRegex" style="#86e1fc"/> + <entry type="LiteralStringDoc" style="#444a73"/> + <entry type="LiteralStringHeredoc" style="#444a73"/> + <entry type="LiteralNumber" style="#ffc777"/> + <entry type="LiteralNumberBin" style="#ffc777"/> + <entry type="LiteralNumberHex" style="#ffc777"/> + <entry type="LiteralNumberInteger" style="#ffc777"/> + <entry type="LiteralNumberFloat" style="#ffc777"/> + <entry type="LiteralNumberIntegerLong" style="#ffc777"/> + <entry type="LiteralNumberOct" style="#ffc777"/> + <entry type="Operator" style="bold #c3e88d"/> + <entry type="OperatorWord" style="bold #c3e88d"/> + <entry type="Comment" style="italic #444a73"/> + <entry type="CommentSingle" style="italic #444a73"/> + <entry type="CommentMultiline" style="italic #444a73"/> + <entry type="CommentSpecial" style="italic #444a73"/> + <entry type="CommentHashbang" style="italic #444a73"/> + <entry type="CommentPreproc" style="italic #444a73"/> + <entry type="CommentPreprocFile" style="bold #444a73"/> + <entry type="Generic" style="#c8d3f5"/> + <entry type="GenericInserted" style="bg:#1b1d2b #c3e88d"/> + <entry type="GenericDeleted" style="#c53b53 bg:#1b1d2b"/> + <entry type="GenericEmph" style="italic #c8d3f5"/> + <entry type="GenericStrong" style="bold #c8d3f5"/> + <entry type="GenericUnderline" style="underline #c8d3f5"/> + <entry type="GenericHeading" style="bold #ffc777"/> + <entry type="GenericSubheading" style="bold #ffc777"/> + <entry type="GenericOutput" style="#c8d3f5"/> + <entry type="GenericPrompt" style="#c8d3f5"/> + <entry type="GenericError" style="#c53b53"/> + <entry type="GenericTraceback" style="#c53b53"/> +</style> diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-night.xml b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-night.xml new file mode 100644 index 0000000..c798bad --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-night.xml @@ -0,0 +1,83 @@ +<style name="tokyonight-night"> + <entry type="Background" style="bg:#1a1b26 #c0caf5"/> + <entry type="CodeLine" style="#c0caf5"/> + <entry type="Error" style="#db4b4b"/> + <entry type="Other" style="#c0caf5"/> + <entry type="LineTableTD" style=""/> + <entry type="LineTable" style=""/> + <entry type="LineHighlight" style="bg:#414868"/> + <entry type="LineNumbersTable" style="#a9b1d6"/> + <entry type="LineNumbers" style="#a9b1d6"/> + <entry type="Keyword" style="#bb9af7"/> + <entry type="KeywordReserved" style="#bb9af7"/> + <entry type="KeywordPseudo" style="#bb9af7"/> + <entry type="KeywordConstant" style="#e0af68"/> + <entry type="KeywordDeclaration" style="#9d7cd8"/> + <entry type="KeywordNamespace" style="#7dcfff"/> + <entry type="KeywordType" style="#41a6b5"/> + <entry type="Name" style="#c0caf5"/> + <entry type="NameClass" style="#ff9e64"/> + <entry type="NameConstant" style="#ff9e64"/> + <entry type="NameDecorator" style="bold #7aa2f7"/> + <entry type="NameEntity" style="#7dcfff"/> + <entry type="NameException" style="#e0af68"/> + <entry type="NameFunction" style="#7aa2f7"/> + <entry type="NameFunctionMagic" style="#7aa2f7"/> + <entry type="NameLabel" style="#9ece6a"/> + <entry type="NameNamespace" style="#e0af68"/> + <entry type="NameProperty" style="#e0af68"/> + <entry type="NameTag" style="#bb9af7"/> + <entry type="NameVariable" style="#c0caf5"/> + <entry type="NameVariableClass" style="#c0caf5"/> + <entry type="NameVariableGlobal" style="#c0caf5"/> + <entry type="NameVariableInstance" style="#c0caf5"/> + <entry type="NameVariableMagic" style="#c0caf5"/> + <entry type="NameAttribute" style="#7aa2f7"/> + <entry type="NameBuiltin" style="#9ece6a"/> + <entry type="NameBuiltinPseudo" style="#9ece6a"/> + <entry type="NameOther" style="#c0caf5"/> + <entry type="Literal" style="#c0caf5"/> + <entry type="LiteralDate" style="#c0caf5"/> + <entry type="LiteralString" style="#9ece6a"/> + <entry type="LiteralStringChar" style="#9ece6a"/> + <entry type="LiteralStringSingle" style="#9ece6a"/> + <entry type="LiteralStringDouble" style="#9ece6a"/> + <entry type="LiteralStringBacktick" style="#9ece6a"/> + <entry type="LiteralStringOther" style="#9ece6a"/> + <entry type="LiteralStringSymbol" style="#9ece6a"/> + <entry type="LiteralStringInterpol" style="#9ece6a"/> + <entry type="LiteralStringAffix" style="#9d7cd8"/> + <entry type="LiteralStringDelimiter" style="#7aa2f7"/> + <entry type="LiteralStringEscape" style="#7aa2f7"/> + <entry type="LiteralStringRegex" style="#7dcfff"/> + <entry type="LiteralStringDoc" style="#414868"/> + <entry type="LiteralStringHeredoc" style="#414868"/> + <entry type="LiteralNumber" style="#e0af68"/> + <entry type="LiteralNumberBin" style="#e0af68"/> + <entry type="LiteralNumberHex" style="#e0af68"/> + <entry type="LiteralNumberInteger" style="#e0af68"/> + <entry type="LiteralNumberFloat" style="#e0af68"/> + <entry type="LiteralNumberIntegerLong" style="#e0af68"/> + <entry type="LiteralNumberOct" style="#e0af68"/> + <entry type="Operator" style="bold #9ece6a"/> + <entry type="OperatorWord" style="bold #9ece6a"/> + <entry type="Comment" style="italic #414868"/> + <entry type="CommentSingle" style="italic #414868"/> + <entry type="CommentMultiline" style="italic #414868"/> + <entry type="CommentSpecial" style="italic #414868"/> + <entry type="CommentHashbang" style="italic #414868"/> + <entry type="CommentPreproc" style="italic #414868"/> + <entry type="CommentPreprocFile" style="bold #414868"/> + <entry type="Generic" style="#c0caf5"/> + <entry type="GenericInserted" style="bg:#15161e #9ece6a"/> + <entry type="GenericDeleted" style="#db4b4b bg:#15161e"/> + <entry type="GenericEmph" style="italic #c0caf5"/> + <entry type="GenericStrong" style="bold #c0caf5"/> + <entry type="GenericUnderline" style="underline #c0caf5"/> + <entry type="GenericHeading" style="bold #e0af68"/> + <entry type="GenericSubheading" style="bold #e0af68"/> + <entry type="GenericOutput" style="#c0caf5"/> + <entry type="GenericPrompt" style="#c0caf5"/> + <entry type="GenericError" style="#db4b4b"/> + <entry type="GenericTraceback" style="#db4b4b"/> +</style>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-storm.xml b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-storm.xml new file mode 100644 index 0000000..c081152 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/styles/tokyonight-storm.xml @@ -0,0 +1,83 @@ +<style name="tokyonight-storm"> + <entry type="Background" style="bg:#1a1b26 #c0caf5"/> + <entry type="CodeLine" style="#c0caf5"/> + <entry type="Error" style="#db4b4b"/> + <entry type="Other" style="#c0caf5"/> + <entry type="LineTableTD" style=""/> + <entry type="LineTable" style=""/> + <entry type="LineHighlight" style="bg:#414868"/> + <entry type="LineNumbersTable" style="#a9b1d6"/> + <entry type="LineNumbers" style="#a9b1d6"/> + <entry type="Keyword" style="#bb9af7"/> + <entry type="KeywordReserved" style="#bb9af7"/> + <entry type="KeywordPseudo" style="#bb9af7"/> + <entry type="KeywordConstant" style="#e0af68"/> + <entry type="KeywordDeclaration" style="#9d7cd8"/> + <entry type="KeywordNamespace" style="#7dcfff"/> + <entry type="KeywordType" style="#41a6b5"/> + <entry type="Name" style="#c0caf5"/> + <entry type="NameClass" style="#ff9e64"/> + <entry type="NameConstant" style="#ff9e64"/> + <entry type="NameDecorator" style="bold #7aa2f7"/> + <entry type="NameEntity" style="#7dcfff"/> + <entry type="NameException" style="#e0af68"/> + <entry type="NameFunction" style="#7aa2f7"/> + <entry type="NameFunctionMagic" style="#7aa2f7"/> + <entry type="NameLabel" style="#9ece6a"/> + <entry type="NameNamespace" style="#e0af68"/> + <entry type="NameProperty" style="#e0af68"/> + <entry type="NameTag" style="#bb9af7"/> + <entry type="NameVariable" style="#c0caf5"/> + <entry type="NameVariableClass" style="#c0caf5"/> + <entry type="NameVariableGlobal" style="#c0caf5"/> + <entry type="NameVariableInstance" style="#c0caf5"/> + <entry type="NameVariableMagic" style="#c0caf5"/> + <entry type="NameAttribute" style="#7aa2f7"/> + <entry type="NameBuiltin" style="#9ece6a"/> + <entry type="NameBuiltinPseudo" style="#9ece6a"/> + <entry type="NameOther" style="#c0caf5"/> + <entry type="Literal" style="#c0caf5"/> + <entry type="LiteralDate" style="#c0caf5"/> + <entry type="LiteralString" style="#9ece6a"/> + <entry type="LiteralStringChar" style="#9ece6a"/> + <entry type="LiteralStringSingle" style="#9ece6a"/> + <entry type="LiteralStringDouble" style="#9ece6a"/> + <entry type="LiteralStringBacktick" style="#9ece6a"/> + <entry type="LiteralStringOther" style="#9ece6a"/> + <entry type="LiteralStringSymbol" style="#9ece6a"/> + <entry type="LiteralStringInterpol" style="#9ece6a"/> + <entry type="LiteralStringAffix" style="#9d7cd8"/> + <entry type="LiteralStringDelimiter" style="#7aa2f7"/> + <entry type="LiteralStringEscape" style="#7aa2f7"/> + <entry type="LiteralStringRegex" style="#7dcfff"/> + <entry type="LiteralStringDoc" style="#414868"/> + <entry type="LiteralStringHeredoc" style="#414868"/> + <entry type="LiteralNumber" style="#e0af68"/> + <entry type="LiteralNumberBin" style="#e0af68"/> + <entry type="LiteralNumberHex" style="#e0af68"/> + <entry type="LiteralNumberInteger" style="#e0af68"/> + <entry type="LiteralNumberFloat" style="#e0af68"/> + <entry type="LiteralNumberIntegerLong" style="#e0af68"/> + <entry type="LiteralNumberOct" style="#e0af68"/> + <entry type="Operator" style="bold #9ece6a"/> + <entry type="OperatorWord" style="bold #9ece6a"/> + <entry type="Comment" style="italic #414868"/> + <entry type="CommentSingle" style="italic #414868"/> + <entry type="CommentMultiline" style="italic #414868"/> + <entry type="CommentSpecial" style="italic #414868"/> + <entry type="CommentHashbang" style="italic #414868"/> + <entry type="CommentPreproc" style="italic #414868"/> + <entry type="CommentPreprocFile" style="bold #414868"/> + <entry type="Generic" style="#c0caf5"/> + <entry type="GenericInserted" style="bg:#15161e #9ece6a"/> + <entry type="GenericDeleted" style="#db4b4b bg:#15161e"/> + <entry type="GenericEmph" style="italic #c0caf5"/> + <entry type="GenericStrong" style="bold #c0caf5"/> + <entry type="GenericUnderline" style="underline #c0caf5"/> + <entry type="GenericHeading" style="bold #e0af68"/> + <entry type="GenericSubheading" style="bold #e0af68"/> + <entry type="GenericOutput" style="#c0caf5"/> + <entry type="GenericPrompt" style="#c0caf5"/> + <entry type="GenericError" style="#db4b4b"/> + <entry type="GenericTraceback" style="#db4b4b"/> +</style>
\ No newline at end of file diff --git a/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go b/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go index 696e9ce..3024264 100644 --- a/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go +++ b/vendor/github.com/alecthomas/chroma/v2/tokentype_enumer.go @@ -7,109 +7,111 @@ import ( "strings" ) -const _TokenTypeName = "NoneOtherErrorCodeLineLineLinkLineTableTDLineTableLineHighlightLineNumbersTableLineNumbersLinePreWrapperBackgroundEOFTypeKeywordKeywordConstantKeywordDeclarationKeywordNamespaceKeywordPseudoKeywordReservedKeywordTypeNameNameAttributeNameBuiltinNameBuiltinPseudoNameClassNameConstantNameDecoratorNameEntityNameExceptionNameFunctionNameFunctionMagicNameKeywordNameLabelNameNamespaceNameOperatorNameOtherNamePseudoNamePropertyNameTagNameVariableNameVariableAnonymousNameVariableClassNameVariableGlobalNameVariableInstanceNameVariableMagicLiteralLiteralDateLiteralOtherLiteralStringLiteralStringAffixLiteralStringAtomLiteralStringBacktickLiteralStringBooleanLiteralStringCharLiteralStringDelimiterLiteralStringDocLiteralStringDoubleLiteralStringEscapeLiteralStringHeredocLiteralStringInterpolLiteralStringNameLiteralStringOtherLiteralStringRegexLiteralStringSingleLiteralStringSymbolLiteralNumberLiteralNumberBinLiteralNumberFloatLiteralNumberHexLiteralNumberIntegerLiteralNumberIntegerLongLiteralNumberOctOperatorOperatorWordPunctuationCommentCommentHashbangCommentMultilineCommentSingleCommentSpecialCommentPreprocCommentPreprocFileGenericGenericDeletedGenericEmphGenericErrorGenericHeadingGenericInsertedGenericOutputGenericPromptGenericStrongGenericSubheadingGenericTracebackGenericUnderlineTextTextWhitespaceTextSymbolTextPunctuation" -const _TokenTypeLowerName = "noneothererrorcodelinelinelinklinetabletdlinetablelinehighlightlinenumberstablelinenumberslineprewrapperbackgroundeoftypekeywordkeywordconstantkeyworddeclarationkeywordnamespacekeywordpseudokeywordreservedkeywordtypenamenameattributenamebuiltinnamebuiltinpseudonameclassnameconstantnamedecoratornameentitynameexceptionnamefunctionnamefunctionmagicnamekeywordnamelabelnamenamespacenameoperatornameothernamepseudonamepropertynametagnamevariablenamevariableanonymousnamevariableclassnamevariableglobalnamevariableinstancenamevariablemagicliteralliteraldateliteralotherliteralstringliteralstringaffixliteralstringatomliteralstringbacktickliteralstringbooleanliteralstringcharliteralstringdelimiterliteralstringdocliteralstringdoubleliteralstringescapeliteralstringheredocliteralstringinterpolliteralstringnameliteralstringotherliteralstringregexliteralstringsingleliteralstringsymbolliteralnumberliteralnumberbinliteralnumberfloatliteralnumberhexliteralnumberintegerliteralnumberintegerlongliteralnumberoctoperatoroperatorwordpunctuationcommentcommenthashbangcommentmultilinecommentsinglecommentspecialcommentpreproccommentpreprocfilegenericgenericdeletedgenericemphgenericerrorgenericheadinggenericinsertedgenericoutputgenericpromptgenericstronggenericsubheadinggenerictracebackgenericunderlinetexttextwhitespacetextsymboltextpunctuation" +const _TokenTypeName = "IgnoreNoneOtherErrorCodeLineLineLinkLineTableTDLineTableLineHighlightLineNumbersTableLineNumbersLinePreWrapperBackgroundEOFTypeKeywordKeywordConstantKeywordDeclarationKeywordNamespaceKeywordPseudoKeywordReservedKeywordTypeNameNameAttributeNameBuiltinNameBuiltinPseudoNameClassNameConstantNameDecoratorNameEntityNameExceptionNameFunctionNameFunctionMagicNameKeywordNameLabelNameNamespaceNameOperatorNameOtherNamePseudoNamePropertyNameTagNameVariableNameVariableAnonymousNameVariableClassNameVariableGlobalNameVariableInstanceNameVariableMagicLiteralLiteralDateLiteralOtherLiteralStringLiteralStringAffixLiteralStringAtomLiteralStringBacktickLiteralStringBooleanLiteralStringCharLiteralStringDelimiterLiteralStringDocLiteralStringDoubleLiteralStringEscapeLiteralStringHeredocLiteralStringInterpolLiteralStringNameLiteralStringOtherLiteralStringRegexLiteralStringSingleLiteralStringSymbolLiteralNumberLiteralNumberBinLiteralNumberFloatLiteralNumberHexLiteralNumberIntegerLiteralNumberIntegerLongLiteralNumberOctLiteralNumberByteOperatorOperatorWordPunctuationCommentCommentHashbangCommentMultilineCommentSingleCommentSpecialCommentPreprocCommentPreprocFileGenericGenericDeletedGenericEmphGenericErrorGenericHeadingGenericInsertedGenericOutputGenericPromptGenericStrongGenericSubheadingGenericTracebackGenericUnderlineTextTextWhitespaceTextSymbolTextPunctuation" +const _TokenTypeLowerName = "ignorenoneothererrorcodelinelinelinklinetabletdlinetablelinehighlightlinenumberstablelinenumberslineprewrapperbackgroundeoftypekeywordkeywordconstantkeyworddeclarationkeywordnamespacekeywordpseudokeywordreservedkeywordtypenamenameattributenamebuiltinnamebuiltinpseudonameclassnameconstantnamedecoratornameentitynameexceptionnamefunctionnamefunctionmagicnamekeywordnamelabelnamenamespacenameoperatornameothernamepseudonamepropertynametagnamevariablenamevariableanonymousnamevariableclassnamevariableglobalnamevariableinstancenamevariablemagicliteralliteraldateliteralotherliteralstringliteralstringaffixliteralstringatomliteralstringbacktickliteralstringbooleanliteralstringcharliteralstringdelimiterliteralstringdocliteralstringdoubleliteralstringescapeliteralstringheredocliteralstringinterpolliteralstringnameliteralstringotherliteralstringregexliteralstringsingleliteralstringsymbolliteralnumberliteralnumberbinliteralnumberfloatliteralnumberhexliteralnumberintegerliteralnumberintegerlongliteralnumberoctliteralnumberbyteoperatoroperatorwordpunctuationcommentcommenthashbangcommentmultilinecommentsinglecommentspecialcommentpreproccommentpreprocfilegenericgenericdeletedgenericemphgenericerrorgenericheadinggenericinsertedgenericoutputgenericpromptgenericstronggenericsubheadinggenerictracebackgenericunderlinetexttextwhitespacetextsymboltextpunctuation" 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], + -14: _TokenTypeName[0:6], + -13: _TokenTypeName[6:10], + -12: _TokenTypeName[10:15], + -11: _TokenTypeName[15:20], + -10: _TokenTypeName[20:28], + -9: _TokenTypeName[28:36], + -8: _TokenTypeName[36:47], + -7: _TokenTypeName[47:56], + -6: _TokenTypeName[56:69], + -5: _TokenTypeName[69:85], + -4: _TokenTypeName[85:96], + -3: _TokenTypeName[96:100], + -2: _TokenTypeName[100:110], + -1: _TokenTypeName[110:120], + 0: _TokenTypeName[120:127], + 1000: _TokenTypeName[127:134], + 1001: _TokenTypeName[134:149], + 1002: _TokenTypeName[149:167], + 1003: _TokenTypeName[167:183], + 1004: _TokenTypeName[183:196], + 1005: _TokenTypeName[196:211], + 1006: _TokenTypeName[211:222], + 2000: _TokenTypeName[222:226], + 2001: _TokenTypeName[226:239], + 2002: _TokenTypeName[239:250], + 2003: _TokenTypeName[250:267], + 2004: _TokenTypeName[267:276], + 2005: _TokenTypeName[276:288], + 2006: _TokenTypeName[288:301], + 2007: _TokenTypeName[301:311], + 2008: _TokenTypeName[311:324], + 2009: _TokenTypeName[324:336], + 2010: _TokenTypeName[336:353], + 2011: _TokenTypeName[353:364], + 2012: _TokenTypeName[364:373], + 2013: _TokenTypeName[373:386], + 2014: _TokenTypeName[386:398], + 2015: _TokenTypeName[398:407], + 2016: _TokenTypeName[407:417], + 2017: _TokenTypeName[417:429], + 2018: _TokenTypeName[429:436], + 2019: _TokenTypeName[436:448], + 2020: _TokenTypeName[448:469], + 2021: _TokenTypeName[469:486], + 2022: _TokenTypeName[486:504], + 2023: _TokenTypeName[504:524], + 2024: _TokenTypeName[524:541], + 3000: _TokenTypeName[541:548], + 3001: _TokenTypeName[548:559], + 3002: _TokenTypeName[559:571], + 3100: _TokenTypeName[571:584], + 3101: _TokenTypeName[584:602], + 3102: _TokenTypeName[602:619], + 3103: _TokenTypeName[619:640], + 3104: _TokenTypeName[640:660], + 3105: _TokenTypeName[660:677], + 3106: _TokenTypeName[677:699], + 3107: _TokenTypeName[699:715], + 3108: _TokenTypeName[715:734], + 3109: _TokenTypeName[734:753], + 3110: _TokenTypeName[753:773], + 3111: _TokenTypeName[773:794], + 3112: _TokenTypeName[794:811], + 3113: _TokenTypeName[811:829], + 3114: _TokenTypeName[829:847], + 3115: _TokenTypeName[847:866], + 3116: _TokenTypeName[866:885], + 3200: _TokenTypeName[885:898], + 3201: _TokenTypeName[898:914], + 3202: _TokenTypeName[914:932], + 3203: _TokenTypeName[932:948], + 3204: _TokenTypeName[948:968], + 3205: _TokenTypeName[968:992], + 3206: _TokenTypeName[992:1008], + 3207: _TokenTypeName[1008:1025], + 4000: _TokenTypeName[1025:1033], + 4001: _TokenTypeName[1033:1045], + 5000: _TokenTypeName[1045:1056], + 6000: _TokenTypeName[1056:1063], + 6001: _TokenTypeName[1063:1078], + 6002: _TokenTypeName[1078:1094], + 6003: _TokenTypeName[1094:1107], + 6004: _TokenTypeName[1107:1121], + 6100: _TokenTypeName[1121:1135], + 6101: _TokenTypeName[1135:1153], + 7000: _TokenTypeName[1153:1160], + 7001: _TokenTypeName[1160:1174], + 7002: _TokenTypeName[1174:1185], + 7003: _TokenTypeName[1185:1197], + 7004: _TokenTypeName[1197:1211], + 7005: _TokenTypeName[1211:1226], + 7006: _TokenTypeName[1226:1239], + 7007: _TokenTypeName[1239:1252], + 7008: _TokenTypeName[1252:1265], + 7009: _TokenTypeName[1265:1282], + 7010: _TokenTypeName[1282:1298], + 7011: _TokenTypeName[1298:1314], + 8000: _TokenTypeName[1314:1318], + 8001: _TokenTypeName[1318:1332], + 8002: _TokenTypeName[1332:1342], + 8003: _TokenTypeName[1342:1357], } func (i TokenType) String() string { @@ -123,6 +125,7 @@ func (i TokenType) String() string { // Re-run the stringer command to generate them again. func _TokenTypeNoOp() { var x [1]struct{} + _ = x[Ignore-(-14)] _ = x[None-(-13)] _ = x[Other-(-12)] _ = x[Error-(-11)] @@ -196,6 +199,7 @@ func _TokenTypeNoOp() { _ = x[LiteralNumberInteger-(3204)] _ = x[LiteralNumberIntegerLong-(3205)] _ = x[LiteralNumberOct-(3206)] + _ = x[LiteralNumberByte-(3207)] _ = x[Operator-(4000)] _ = x[OperatorWord-(4001)] _ = x[Punctuation-(5000)] @@ -224,309 +228,315 @@ func _TokenTypeNoOp() { _ = 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 _TokenTypeValues = []TokenType{Ignore, 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, LiteralNumberByte, 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, + _TokenTypeName[0:6]: Ignore, + _TokenTypeLowerName[0:6]: Ignore, + _TokenTypeName[6:10]: None, + _TokenTypeLowerName[6:10]: None, + _TokenTypeName[10:15]: Other, + _TokenTypeLowerName[10:15]: Other, + _TokenTypeName[15:20]: Error, + _TokenTypeLowerName[15:20]: Error, + _TokenTypeName[20:28]: CodeLine, + _TokenTypeLowerName[20:28]: CodeLine, + _TokenTypeName[28:36]: LineLink, + _TokenTypeLowerName[28:36]: LineLink, + _TokenTypeName[36:47]: LineTableTD, + _TokenTypeLowerName[36:47]: LineTableTD, + _TokenTypeName[47:56]: LineTable, + _TokenTypeLowerName[47:56]: LineTable, + _TokenTypeName[56:69]: LineHighlight, + _TokenTypeLowerName[56:69]: LineHighlight, + _TokenTypeName[69:85]: LineNumbersTable, + _TokenTypeLowerName[69:85]: LineNumbersTable, + _TokenTypeName[85:96]: LineNumbers, + _TokenTypeLowerName[85:96]: LineNumbers, + _TokenTypeName[96:100]: Line, + _TokenTypeLowerName[96:100]: Line, + _TokenTypeName[100:110]: PreWrapper, + _TokenTypeLowerName[100:110]: PreWrapper, + _TokenTypeName[110:120]: Background, + _TokenTypeLowerName[110:120]: Background, + _TokenTypeName[120:127]: EOFType, + _TokenTypeLowerName[120:127]: EOFType, + _TokenTypeName[127:134]: Keyword, + _TokenTypeLowerName[127:134]: Keyword, + _TokenTypeName[134:149]: KeywordConstant, + _TokenTypeLowerName[134:149]: KeywordConstant, + _TokenTypeName[149:167]: KeywordDeclaration, + _TokenTypeLowerName[149:167]: KeywordDeclaration, + _TokenTypeName[167:183]: KeywordNamespace, + _TokenTypeLowerName[167:183]: KeywordNamespace, + _TokenTypeName[183:196]: KeywordPseudo, + _TokenTypeLowerName[183:196]: KeywordPseudo, + _TokenTypeName[196:211]: KeywordReserved, + _TokenTypeLowerName[196:211]: KeywordReserved, + _TokenTypeName[211:222]: KeywordType, + _TokenTypeLowerName[211:222]: KeywordType, + _TokenTypeName[222:226]: Name, + _TokenTypeLowerName[222:226]: Name, + _TokenTypeName[226:239]: NameAttribute, + _TokenTypeLowerName[226:239]: NameAttribute, + _TokenTypeName[239:250]: NameBuiltin, + _TokenTypeLowerName[239:250]: NameBuiltin, + _TokenTypeName[250:267]: NameBuiltinPseudo, + _TokenTypeLowerName[250:267]: NameBuiltinPseudo, + _TokenTypeName[267:276]: NameClass, + _TokenTypeLowerName[267:276]: NameClass, + _TokenTypeName[276:288]: NameConstant, + _TokenTypeLowerName[276:288]: NameConstant, + _TokenTypeName[288:301]: NameDecorator, + _TokenTypeLowerName[288:301]: NameDecorator, + _TokenTypeName[301:311]: NameEntity, + _TokenTypeLowerName[301:311]: NameEntity, + _TokenTypeName[311:324]: NameException, + _TokenTypeLowerName[311:324]: NameException, + _TokenTypeName[324:336]: NameFunction, + _TokenTypeLowerName[324:336]: NameFunction, + _TokenTypeName[336:353]: NameFunctionMagic, + _TokenTypeLowerName[336:353]: NameFunctionMagic, + _TokenTypeName[353:364]: NameKeyword, + _TokenTypeLowerName[353:364]: NameKeyword, + _TokenTypeName[364:373]: NameLabel, + _TokenTypeLowerName[364:373]: NameLabel, + _TokenTypeName[373:386]: NameNamespace, + _TokenTypeLowerName[373:386]: NameNamespace, + _TokenTypeName[386:398]: NameOperator, + _TokenTypeLowerName[386:398]: NameOperator, + _TokenTypeName[398:407]: NameOther, + _TokenTypeLowerName[398:407]: NameOther, + _TokenTypeName[407:417]: NamePseudo, + _TokenTypeLowerName[407:417]: NamePseudo, + _TokenTypeName[417:429]: NameProperty, + _TokenTypeLowerName[417:429]: NameProperty, + _TokenTypeName[429:436]: NameTag, + _TokenTypeLowerName[429:436]: NameTag, + _TokenTypeName[436:448]: NameVariable, + _TokenTypeLowerName[436:448]: NameVariable, + _TokenTypeName[448:469]: NameVariableAnonymous, + _TokenTypeLowerName[448:469]: NameVariableAnonymous, + _TokenTypeName[469:486]: NameVariableClass, + _TokenTypeLowerName[469:486]: NameVariableClass, + _TokenTypeName[486:504]: NameVariableGlobal, + _TokenTypeLowerName[486:504]: NameVariableGlobal, + _TokenTypeName[504:524]: NameVariableInstance, + _TokenTypeLowerName[504:524]: NameVariableInstance, + _TokenTypeName[524:541]: NameVariableMagic, + _TokenTypeLowerName[524:541]: NameVariableMagic, + _TokenTypeName[541:548]: Literal, + _TokenTypeLowerName[541:548]: Literal, + _TokenTypeName[548:559]: LiteralDate, + _TokenTypeLowerName[548:559]: LiteralDate, + _TokenTypeName[559:571]: LiteralOther, + _TokenTypeLowerName[559:571]: LiteralOther, + _TokenTypeName[571:584]: LiteralString, + _TokenTypeLowerName[571:584]: LiteralString, + _TokenTypeName[584:602]: LiteralStringAffix, + _TokenTypeLowerName[584:602]: LiteralStringAffix, + _TokenTypeName[602:619]: LiteralStringAtom, + _TokenTypeLowerName[602:619]: LiteralStringAtom, + _TokenTypeName[619:640]: LiteralStringBacktick, + _TokenTypeLowerName[619:640]: LiteralStringBacktick, + _TokenTypeName[640:660]: LiteralStringBoolean, + _TokenTypeLowerName[640:660]: LiteralStringBoolean, + _TokenTypeName[660:677]: LiteralStringChar, + _TokenTypeLowerName[660:677]: LiteralStringChar, + _TokenTypeName[677:699]: LiteralStringDelimiter, + _TokenTypeLowerName[677:699]: LiteralStringDelimiter, + _TokenTypeName[699:715]: LiteralStringDoc, + _TokenTypeLowerName[699:715]: LiteralStringDoc, + _TokenTypeName[715:734]: LiteralStringDouble, + _TokenTypeLowerName[715:734]: LiteralStringDouble, + _TokenTypeName[734:753]: LiteralStringEscape, + _TokenTypeLowerName[734:753]: LiteralStringEscape, + _TokenTypeName[753:773]: LiteralStringHeredoc, + _TokenTypeLowerName[753:773]: LiteralStringHeredoc, + _TokenTypeName[773:794]: LiteralStringInterpol, + _TokenTypeLowerName[773:794]: LiteralStringInterpol, + _TokenTypeName[794:811]: LiteralStringName, + _TokenTypeLowerName[794:811]: LiteralStringName, + _TokenTypeName[811:829]: LiteralStringOther, + _TokenTypeLowerName[811:829]: LiteralStringOther, + _TokenTypeName[829:847]: LiteralStringRegex, + _TokenTypeLowerName[829:847]: LiteralStringRegex, + _TokenTypeName[847:866]: LiteralStringSingle, + _TokenTypeLowerName[847:866]: LiteralStringSingle, + _TokenTypeName[866:885]: LiteralStringSymbol, + _TokenTypeLowerName[866:885]: LiteralStringSymbol, + _TokenTypeName[885:898]: LiteralNumber, + _TokenTypeLowerName[885:898]: LiteralNumber, + _TokenTypeName[898:914]: LiteralNumberBin, + _TokenTypeLowerName[898:914]: LiteralNumberBin, + _TokenTypeName[914:932]: LiteralNumberFloat, + _TokenTypeLowerName[914:932]: LiteralNumberFloat, + _TokenTypeName[932:948]: LiteralNumberHex, + _TokenTypeLowerName[932:948]: LiteralNumberHex, + _TokenTypeName[948:968]: LiteralNumberInteger, + _TokenTypeLowerName[948:968]: LiteralNumberInteger, + _TokenTypeName[968:992]: LiteralNumberIntegerLong, + _TokenTypeLowerName[968:992]: LiteralNumberIntegerLong, + _TokenTypeName[992:1008]: LiteralNumberOct, + _TokenTypeLowerName[992:1008]: LiteralNumberOct, + _TokenTypeName[1008:1025]: LiteralNumberByte, + _TokenTypeLowerName[1008:1025]: LiteralNumberByte, + _TokenTypeName[1025:1033]: Operator, + _TokenTypeLowerName[1025:1033]: Operator, + _TokenTypeName[1033:1045]: OperatorWord, + _TokenTypeLowerName[1033:1045]: OperatorWord, + _TokenTypeName[1045:1056]: Punctuation, + _TokenTypeLowerName[1045:1056]: Punctuation, + _TokenTypeName[1056:1063]: Comment, + _TokenTypeLowerName[1056:1063]: Comment, + _TokenTypeName[1063:1078]: CommentHashbang, + _TokenTypeLowerName[1063:1078]: CommentHashbang, + _TokenTypeName[1078:1094]: CommentMultiline, + _TokenTypeLowerName[1078:1094]: CommentMultiline, + _TokenTypeName[1094:1107]: CommentSingle, + _TokenTypeLowerName[1094:1107]: CommentSingle, + _TokenTypeName[1107:1121]: CommentSpecial, + _TokenTypeLowerName[1107:1121]: CommentSpecial, + _TokenTypeName[1121:1135]: CommentPreproc, + _TokenTypeLowerName[1121:1135]: CommentPreproc, + _TokenTypeName[1135:1153]: CommentPreprocFile, + _TokenTypeLowerName[1135:1153]: CommentPreprocFile, + _TokenTypeName[1153:1160]: Generic, + _TokenTypeLowerName[1153:1160]: Generic, + _TokenTypeName[1160:1174]: GenericDeleted, + _TokenTypeLowerName[1160:1174]: GenericDeleted, + _TokenTypeName[1174:1185]: GenericEmph, + _TokenTypeLowerName[1174:1185]: GenericEmph, + _TokenTypeName[1185:1197]: GenericError, + _TokenTypeLowerName[1185:1197]: GenericError, + _TokenTypeName[1197:1211]: GenericHeading, + _TokenTypeLowerName[1197:1211]: GenericHeading, + _TokenTypeName[1211:1226]: GenericInserted, + _TokenTypeLowerName[1211:1226]: GenericInserted, + _TokenTypeName[1226:1239]: GenericOutput, + _TokenTypeLowerName[1226:1239]: GenericOutput, + _TokenTypeName[1239:1252]: GenericPrompt, + _TokenTypeLowerName[1239:1252]: GenericPrompt, + _TokenTypeName[1252:1265]: GenericStrong, + _TokenTypeLowerName[1252:1265]: GenericStrong, + _TokenTypeName[1265:1282]: GenericSubheading, + _TokenTypeLowerName[1265:1282]: GenericSubheading, + _TokenTypeName[1282:1298]: GenericTraceback, + _TokenTypeLowerName[1282:1298]: GenericTraceback, + _TokenTypeName[1298:1314]: GenericUnderline, + _TokenTypeLowerName[1298:1314]: GenericUnderline, + _TokenTypeName[1314:1318]: Text, + _TokenTypeLowerName[1314:1318]: Text, + _TokenTypeName[1318:1332]: TextWhitespace, + _TokenTypeLowerName[1318:1332]: TextWhitespace, + _TokenTypeName[1332:1342]: TextSymbol, + _TokenTypeLowerName[1332:1342]: TextSymbol, + _TokenTypeName[1342:1357]: TextPunctuation, + _TokenTypeLowerName[1342:1357]: 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], + _TokenTypeName[0:6], + _TokenTypeName[6:10], + _TokenTypeName[10:15], + _TokenTypeName[15:20], + _TokenTypeName[20:28], + _TokenTypeName[28:36], + _TokenTypeName[36:47], + _TokenTypeName[47:56], + _TokenTypeName[56:69], + _TokenTypeName[69:85], + _TokenTypeName[85:96], + _TokenTypeName[96:100], + _TokenTypeName[100:110], + _TokenTypeName[110:120], + _TokenTypeName[120:127], + _TokenTypeName[127:134], + _TokenTypeName[134:149], + _TokenTypeName[149:167], + _TokenTypeName[167:183], + _TokenTypeName[183:196], + _TokenTypeName[196:211], + _TokenTypeName[211:222], + _TokenTypeName[222:226], + _TokenTypeName[226:239], + _TokenTypeName[239:250], + _TokenTypeName[250:267], + _TokenTypeName[267:276], + _TokenTypeName[276:288], + _TokenTypeName[288:301], + _TokenTypeName[301:311], + _TokenTypeName[311:324], + _TokenTypeName[324:336], + _TokenTypeName[336:353], + _TokenTypeName[353:364], + _TokenTypeName[364:373], + _TokenTypeName[373:386], + _TokenTypeName[386:398], + _TokenTypeName[398:407], + _TokenTypeName[407:417], + _TokenTypeName[417:429], + _TokenTypeName[429:436], + _TokenTypeName[436:448], + _TokenTypeName[448:469], + _TokenTypeName[469:486], + _TokenTypeName[486:504], + _TokenTypeName[504:524], + _TokenTypeName[524:541], + _TokenTypeName[541:548], + _TokenTypeName[548:559], + _TokenTypeName[559:571], + _TokenTypeName[571:584], + _TokenTypeName[584:602], + _TokenTypeName[602:619], + _TokenTypeName[619:640], + _TokenTypeName[640:660], + _TokenTypeName[660:677], + _TokenTypeName[677:699], + _TokenTypeName[699:715], + _TokenTypeName[715:734], + _TokenTypeName[734:753], + _TokenTypeName[753:773], + _TokenTypeName[773:794], + _TokenTypeName[794:811], + _TokenTypeName[811:829], + _TokenTypeName[829:847], + _TokenTypeName[847:866], + _TokenTypeName[866:885], + _TokenTypeName[885:898], + _TokenTypeName[898:914], + _TokenTypeName[914:932], + _TokenTypeName[932:948], + _TokenTypeName[948:968], + _TokenTypeName[968:992], + _TokenTypeName[992:1008], + _TokenTypeName[1008:1025], + _TokenTypeName[1025:1033], + _TokenTypeName[1033:1045], + _TokenTypeName[1045:1056], + _TokenTypeName[1056:1063], + _TokenTypeName[1063:1078], + _TokenTypeName[1078:1094], + _TokenTypeName[1094:1107], + _TokenTypeName[1107:1121], + _TokenTypeName[1121:1135], + _TokenTypeName[1135:1153], + _TokenTypeName[1153:1160], + _TokenTypeName[1160:1174], + _TokenTypeName[1174:1185], + _TokenTypeName[1185:1197], + _TokenTypeName[1197:1211], + _TokenTypeName[1211:1226], + _TokenTypeName[1226:1239], + _TokenTypeName[1239:1252], + _TokenTypeName[1252:1265], + _TokenTypeName[1265:1282], + _TokenTypeName[1282:1298], + _TokenTypeName[1298:1314], + _TokenTypeName[1314:1318], + _TokenTypeName[1318:1332], + _TokenTypeName[1332:1342], + _TokenTypeName[1342:1357], } // TokenTypeString retrieves an enum value from the enum constants string name. diff --git a/vendor/github.com/alecthomas/chroma/v2/types.go b/vendor/github.com/alecthomas/chroma/v2/types.go index 3d12310..a576293 100644 --- a/vendor/github.com/alecthomas/chroma/v2/types.go +++ b/vendor/github.com/alecthomas/chroma/v2/types.go @@ -41,6 +41,8 @@ const ( Other // No highlighting. None + // Don't emit this token to the output. + Ignore // Used as an EOF marker / nil token EOFType TokenType = 0 ) @@ -122,6 +124,7 @@ const ( LiteralNumberInteger LiteralNumberIntegerLong LiteralNumberOct + LiteralNumberByte ) // Operators. |
