Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kitty for openSUSE:Factory checked 
in at 2024-03-21 17:01:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kitty (Old)
 and      /work/SRC/openSUSE:Factory/.kitty.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kitty"

Thu Mar 21 17:01:43 2024 rev:29 rq:1160399 version:0.33.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/kitty/kitty.changes      2024-03-15 
20:32:10.190035254 +0100
+++ /work/SRC/openSUSE:Factory/.kitty.new.1905/kitty.changes    2024-03-21 
17:02:29.308950746 +0100
@@ -1,0 +2,15 @@
+Thu Mar 21 14:03:41 UTC 2024 - Scott Bradnick <scott.bradn...@suse.com>
+
+- Update to 0.33.1:
+  * Fix a regression in the previous release that caused requesting data from
+    the clipboard via OSC 52 to instead return data from the primary
+    selection (#7213)
+  * Splits layout: Allow resizing until one of the halves in a split is
+    minimally sized (#7220)
+  * macOS: Fix text rendered with fallback fonts not respecting bold/italic
+    styling (#7241)
+  * macOS: When CoreText fails to find a fallback font for a character in the
+    first Private Use Unicode Area, preferentially use the NERD font, if
+    available, for it (#6043)
+
+-------------------------------------------------------------------

Old:
----
  kitty-0.33.0.tar.gz

New:
----
  kitty-0.33.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kitty.spec ++++++
--- /var/tmp/diff_new_pack.0UVWnq/_old  2024-03-21 17:02:29.876971650 +0100
+++ /var/tmp/diff_new_pack.0UVWnq/_new  2024-03-21 17:02:29.876971650 +0100
@@ -19,7 +19,7 @@
 # sphinx_copybutton not in Factory
 %bcond_with docs
 Name:           kitty
-Version:        0.33.0
+Version:        0.33.1
 Release:        0
 Summary:        A GPU-based terminal emulator
 License:        GPL-3.0-only

++++++ kitty-0.33.0.tar.gz -> kitty-0.33.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/kitty/kitty-0.33.0.tar.gz 
/work/SRC/openSUSE:Factory/.kitty.new.1905/kitty-0.33.1.tar.gz differ: char 30, 
line 1

++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/alecthomas/chroma/v2/.editorconfig 
new/vendor/github.com/alecthomas/chroma/v2/.editorconfig
--- old/vendor/github.com/alecthomas/chroma/v2/.editorconfig    2024-03-15 
14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/.editorconfig    2024-03-21 
15:22:59.000000000 +0100
@@ -11,3 +11,7 @@
 indent_style = space
 indent_size = 2
 insert_final_newline = false
+
+[*.yml]
+indent_style = space
+indent_size = 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/alecthomas/chroma/v2/.golangci.yml 
new/vendor/github.com/alecthomas/chroma/v2/.golangci.yml
--- old/vendor/github.com/alecthomas/chroma/v2/.golangci.yml    2024-03-15 
14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/.golangci.yml    2024-03-21 
15:22:59.000000000 +0100
@@ -49,6 +49,8 @@
     - nosnakecase
     - testableexamples
     - musttag
+    - depguard
+    - goconst
 
 linters-settings:
   govet:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/alecthomas/chroma/v2/README.md 
new/vendor/github.com/alecthomas/chroma/v2/README.md
--- old/vendor/github.com/alecthomas/chroma/v2/README.md        2024-03-15 
14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/README.md        2024-03-21 
15:22:59.000000000 +0100
@@ -8,75 +8,72 @@
 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, 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, 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, Hare, 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, PRQL, 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, 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, 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         
                                                                                
                                                                                
                |
+|   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, 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                                              
                                                                                
                                                                                
                |
 
 _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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 
 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,10 +267,6 @@
 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:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go 
new/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go      
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/caddyfile.go      
2024-03-21 15:22:59.000000000 +0100
@@ -4,52 +4,82 @@
        . "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 @@
                },
                "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
+                       {`\s*\n`, Text, Pop(2)},
+                       Include("base"),
+               },
+               "nested_arguments": {
+                       {`\{(?=\s)`, Punctuation, Push("nested_block")},
+                       {caddyfileCommentRegexp, CommentSingle, Pop(2)},
                        {`\\\n`, Text, nil}, // Skip escaped newlines
-                       {`\n`, Text, Pop(2)},
+                       {`\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"),
                },
-               "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
-               },
-               "comments": {
-                       {`^#.*\n`, CommentSingle, nil},   // Comment at start 
of line
-                       {`\s+#.*\n`, CommentSingle, nil}, // Comment preceded 
by whitespace
-               },
-               "comments_pop_1": {
-                       {`^#.*\n`, CommentSingle, Pop(1)},   // Comment at 
start of line
-                       {`\s+#.*\n`, CommentSingle, Pop(1)}, // Comment 
preceded by whitespace
-               },
-               "comments_pop_2": {
-                       {`^#.*\n`, CommentSingle, Pop(2)},   // Comment at 
start of line
-                       {`\s+#.*\n`, CommentSingle, Pop(2)}, // Comment 
preceded by whitespace
-               },
-               "comments_pop_3": {
-                       {`^#.*\n`, CommentSingle, Pop(3)},   // Comment at 
start of line
-                       {`\s+#.*\n`, CommentSingle, Pop(3)}, // Comment 
preceded by whitespace
+               "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"),
+               },
+               "double_quotes": {
+                       Include("placeholder"),
+                       {`\\"`, StringDouble, nil},
+                       {`[^"]`, StringDouble, nil},
+                       {`"`, StringDouble, Pop(1)},
+               },
+               "backticks": {
+                       Include("placeholder"),
+                       {"\\\\`", StringBacktick, nil},
+                       {"[^`]", StringBacktick, nil},
+                       {"`", StringBacktick, Pop(1)},
+               },
+               "optional": {
+                       // Docs syntax for showing optional parts with [ ]
+                       {`\[`, Punctuation, Push("optional")},
+                       Include("name_constants"),
+                       {`\|`, Punctuation, nil},
+                       {`[^\[\]\|]+`, String, nil},
+                       {`\]`, Punctuation, Pop(1)},
+               },
+               "heredoc": {
+                       {`(<<([a-zA-Z0-9_-]+))(\n(.*|\n)*)(\s*)(\2)`, 
ByGroups(StringHeredoc, nil, String, String, String, StringHeredoc), nil},
+               },
+               "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 @@
 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 @@
                        {`,\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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml   
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c#.xml   
2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml  
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cue.xml  
2024-03-21 15:22:59.000000000 +0100
@@ -49,7 +49,7 @@
       <rule pattern="(true|false|null|_)\b">
         <token type="KeywordConstant"/>
       </rule>
-      <rule pattern="[_a-zA-Z]\w*">
+      <rule pattern="#?[_a-zA-Z$]\w*">
         <token type="Name"/>
       </rule>
     </state>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml
--- 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/desktop_entry.xml    
    2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml      
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.xml      
2024-03-21 15:22:59.000000000 +0100
@@ -86,7 +86,7 @@
       <rule pattern="\\(?![:!#$%&amp;*+.\\/&lt;=&gt;?@^|~-]+)">
         <token type="NameFunction"/>
       </rule>
-      <rule 
pattern="(&lt;-|::|-&gt;|=&gt;|=)(?![:!#$%&amp;*+.\\/&lt;=&gt;?@^|~-]+)">
+      <rule 
pattern="(&lt;-|::|-&gt;|=&gt;|=|'([:!#$%&amp;*+.\\/&lt;=&gt;?@^|~-]+))(?![:!#$%&amp;*+.\\/&lt;=&gt;?@^|~-]+)">
         <token type="OperatorWord"/>
       </rule>
       <rule pattern=":[:!#$%&amp;*+.\\/&lt;=&gt;?@^|~-]*">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml 
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/json.xml 
2024-03-21 15:22:59.000000000 +0100
@@ -3,6 +3,7 @@
     <name>JSON</name>
     <alias>json</alias>
     <filename>*.json</filename>
+    <filename>*.avsc</filename>
     <mime_type>application/json</mime_type>
     <dot_all>true</dot_all>
     <not_multiline>true</not_multiline>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml
 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml
--- 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/materialize_sql_dialect.xml
      2024-03-21 15:22:59.000000000 +0100
@@ -0,0 +1,155 @@
+<lexer>
+  <config>
+    <name>Materialize SQL dialect</name>
+    <alias>materialize</alias>
+    <alias>mzsql</alias>
+    <mime_type>text/x-materializesql</mime_type>
+    <case_insensitive>true</case_insensitive>
+    <not_multiline>true</not_multiline>
+  </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+)(&#39;?)(\w+)?(&#39;?)(\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|ACKS|ADD|ADDRESSES|AGGREGATE|ALL|ALTER|AND|ANY|ARN|ARRANGEMENT|ARRAY|AS|ASC|ASSERT|AT|AUCTION|AUTHORITY|AVAILABILITY|AVRO|AWS|BEGIN|BETWEEN|BIGINT|BILLED|BODY|BOOLEAN|BOTH|BPCHAR|BROKEN|BROKER|BROKERS|BY|BYTES|CARDINALITY|CASCADE|CASE|CAST|CERTIFICATE|CHAIN|CHAR|CHARACTER|CHARACTERISTICS|CHECK|CLIENT|CLOSE|CLUSTER|CLUSTERS|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPACTION|COMPRESSION|COMPUTE|COMPUTECTL|CONFLUENT|CONNECTION|CONNECTIONS|CONSTRAINT|COPY|COUNT|COUNTER|CREATE|CREATECLUSTER|CREATEDB|CREATEROLE|CROSS|CSV|CURRENT|CURSOR|DATABASE|DATABASES|DATUMS|DAY|DAYS|DEALLOCATE|DEBEZIUM|DEBUG|DEBUGGING|DEC|DECIMAL|DECLARE|DECORRELATED|DEFAULT|DEFAULTS|DELETE|DELIMITED|DELIMITER|DESC|DETAILS|DISCARD|DISK|DISTINCT|DOC|DOT|DOUBLE|DROP|EFFORT|ELEMENT|ELSE|ENABLE|END|ENDPOINT|ENFORCED|ENVELOPE|ERROR|ESCAPE|EXCEPT|EXECUTE|EXISTS|EXPECTED|EXPLAIN|EXPOSE|EXTRACT|FACTOR|FALSE|FETCH|FIELDS|FILTER|FIRST|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FORWARD|FROM|
 
FULL|FULLNAME|FUNCTION|GENERATOR|GRANT|GREATEST|GROUP|GROUPS|HAVING|HEADER|HEADERS|HOLD|HOST|HOUR|HOURS|ID|IDEMPOTENCE|IDLE|IF|IGNORE|ILIKE|IN|INCLUDE|INDEX|INDEXES|INFO|INHERIT|INLINE|INNER|INPUT|INSERT|INSPECT|INT|INTEGER|INTERNAL|INTERSECT|INTERVAL|INTO|INTROSPECTION|IS|ISNULL|ISOLATION|JOIN|JSON|KAFKA|KEY|KEYS|LAST|LATERAL|LATEST|LEADING|LEAST|LEFT|LEVEL|LIKE|LIMIT|LIST|LOAD|LOCAL|LOG|LOGICAL|LOGIN|MANAGED|MAP|MARKETING|MATERIALIZE|MATERIALIZED|MAX|MECHANISMS|MEMBERSHIP|MERGE|MESSAGE|METADATA|MINUTE|MINUTES|MODE|MONTH|MONTHS|MS|MUTUALLY|NAME|NAMES|NATURAL|NEXT|NO|NOCREATECLUSTER|NOCREATEDB|NOCREATEROLE|NOINHERIT|NOLOGIN|NONE|NOSUPERUSER|NOT|NOTICE|NULL|NULLIF|NULLS|OBJECTS|OF|OFFSET|ON|ONLY|OPERATOR|OPTIMIZED|OPTIMIZER|OPTIONS|OR|ORDER|ORDINALITY|OUTER|OVER|OWNED|OWNER|PARTITION|PASSWORD|PHYSICAL|PLAN|PLANS|PORT|POSITION|POSTGRES|PRECEDING|PRECISION|PREFIX|PREPARE|PRIMARY|PRIVATELINK|PRIVILEGES|PROGRESS|PROTOBUF|PROTOCOL|PUBLICATION|QUERY|QUOTE|RAISE|RANGE|RAW|READ|REAL|REASSIGN
 
|RECURSION|RECURSIVE|REFERENCES|REFRESH|REGEX|REGION|REGISTRY|RENAME|REPEATABLE|REPLACE|REPLICA|REPLICAS|REPLICATION|RESET|RESPECT|RESTRICT|RETENTION|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLES|ROLLBACK|ROTATE|ROW|ROWS|SASL|SCALE|SCHEMA|SCHEMAS|SCRIPT|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|SUBSCRIBE|SUBSOURCE|SUBSOURCES|SUBSTRING|SUPERUSER|SWAP|SYSTEM|TABLE|TABLES|TAIL|TEMP|TEMPORARY|TEST|TEXT|THEN|TICK|TIES|TIME|TIMELINE|TIMEOUT|TIMESTAMP|TIMESTAMPTZ|TO|TOKEN|TOPIC|TPCH|TRACE|TRAILING|TRANSACTION|TRIM|TRUE|TUNNEL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNION|UNIQUE|UNKNOWN|UP|UPDATE|UPSERT|URL|USAGE|USER|USERNAME|USERS|USING|VALIDATE|VALUE|VALUES|VARCHAR|VARYING|VIEW|VIEWS|WARNING|WEBHOOK|WHEN|WHERE|WINDOW|WIRE|WITH|WITHIN|WITHOUT|WORK|WORKERS|WRITE|YEAR|YEARS|ZONE|ZONES)\b">
+        <token type="Keyword"/>
+      </rule>
+      <rule pattern="[+*/&lt;&gt;=~!@#%^&amp;|`?-]+">
+        <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&amp;)?)(&#39;)">
+        <bygroups>
+          <token type="LiteralStringAffix"/>
+          <token type="LiteralStringSingle"/>
+        </bygroups>
+        <push state="string"/>
+      </rule>
+      <rule pattern="((?:U&amp;)?)(&#34;)">
+        <bygroups>
+          <token type="LiteralStringAffix"/>
+          <token type="LiteralStringName"/>
+        </bygroups>
+        <push state="quoted-ident"/>
+      </rule>
+      <rule 
pattern="(?s)(\$)([^$]*)(\$)(.*?)(\$)(\2)(\$)(\s+)(LANGUAGE)?(\s+)(&#39;?)(\w+)?(&#39;?)">
+        <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=":([&#39;&#34;]?)[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="[^&#39;]+">
+        <token type="LiteralStringSingle"/>
+      </rule>
+      <rule pattern="&#39;&#39;">
+        <token type="LiteralStringSingle"/>
+      </rule>
+      <rule pattern="&#39;">
+        <token type="LiteralStringSingle"/>
+        <pop depth="1"/>
+      </rule>
+    </state>
+    <state name="quoted-ident">
+      <rule pattern="[^&#34;]+">
+        <token type="LiteralStringName"/>
+      </rule>
+      <rule pattern="&#34;&#34;">
+        <token type="LiteralStringName"/>
+      </rule>
+      <rule pattern="&#34;">
+        <token type="LiteralStringName"/>
+        <pop depth="1"/>
+      </rule>
+    </state>
+  </rules>
+</lexer>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml      
1970-01-01 01:00:00.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ndisasm.xml      
2024-03-21 15:22:59.000000000 +0100
@@ -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="[&amp;|^&lt;&gt;+*/%~-]+">
+        <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="&#34;(\\&#34;|[^&#34;\n])*&#34;|&#39;(\\&#39;|[^&#39;\n])*&#39;|`(\\`|[^`\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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml      
1970-01-01 01:00:00.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/promela.xml      
2024-03-21 15:22:59.000000000 +0100
@@ -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="(\[\]|&lt;&gt;|/\\|\\/)|(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)?(&quot;)"><bygroups><token 
type="LiteralStringAffix"/><token type="LiteralString"/></bygroups><push 
state="string"/></rule>
+      <rule 
pattern="([LuU]|u8)?(&#x27;)(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\&#x27;\n])(&#x27;)"><bygroups><token
 type="LiteralStringAffix"/><token type="LiteralStringChar"/><token 
type="LiteralStringChar"/><token type="LiteralStringChar"/></bygroups></rule>
+      <rule 
pattern="0[xX]([0-9a-fA-F](\&#x27;?[0-9a-fA-F])*\.[0-9a-fA-F](\&#x27;?[0-9a-fA-F])*|\.[0-9a-fA-F](\&#x27;?[0-9a-fA-F])*|[0-9a-fA-F](\&#x27;?[0-9a-fA-F])*)[pP][+-]?[0-9a-fA-F](\&#x27;?[0-9a-fA-F])*[lL]?"><token
 type="LiteralNumberFloat"/></rule>
+      <rule 
pattern="(-)?(\d(\&#x27;?\d)*\.\d(\&#x27;?\d)*|\.\d(\&#x27;?\d)*|\d(\&#x27;?\d)*)[eE][+-]?\d(\&#x27;?\d)*[fFlL]?"><token
 type="LiteralNumberFloat"/></rule>
+      <rule 
pattern="(-)?((\d(\&#x27;?\d)*\.(\d(\&#x27;?\d)*)?|\.\d(\&#x27;?\d)*)[fFlL]?)|(\d(\&#x27;?\d)*[fFlL])"><token
 type="LiteralNumberFloat"/></rule>
+      <rule 
pattern="(-)?0[xX][0-9a-fA-F](\&#x27;?[0-9a-fA-F])*(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token
 type="LiteralNumberHex"/></rule>
+      <rule 
pattern="(-)?0[bB][01](\&#x27;?[01])*(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token 
type="LiteralNumberBin"/></rule>
+      <rule 
pattern="(-)?0(\&#x27;?[0-7])+(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token 
type="LiteralNumberOct"/></rule>
+      <rule 
pattern="(-)?\d(\&#x27;?\d)*(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?"><token 
type="LiteralNumberInteger"/></rule>
+      <rule pattern="[~!%^&amp;*+=|?:&lt;&gt;/-]"><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="//(?:.|(?&lt;=\\)\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}|::)+(?:[&amp;*\s])+)(\s*(?:(?:(?://(?:.|(?&lt;=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+)(\s*(?:(?:(?://(?:.|(?&lt;=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)(\([^;&quot;\&#x27;)]*?\))(\s*(?:(?:(?://(?:.|(?&lt;=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)([^;{/&quot;\&#x27;]*)(\{)"><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}|::)+(?:[&amp;*\s])+)(\s*(?:(?:(?://(?:.|(?&lt;=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)((?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+)(\s*(?:(?:(?://(?:.|(?&lt;=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)(\([^;&quot;\&#x27;)]*?\))(\s*(?:(?:(?://(?:.|(?&lt;=\\)\n)*\n)|(?:/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/))\s*)*)([^;/&quot;\&#x27;]*)(;)"><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="&quot;"><token type="LiteralString"/><pop 
depth="1"/></rule>
+      <rule 
pattern="\\([\\abfnrtv&quot;\&#x27;]|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="[^\\&quot;\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*)?)(&quot;[^&quot;]+&quot;)([^\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*)?)(&lt;[^&gt;]+&gt;)([^\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="(?&lt;=\\)\n"><token type="CommentPreproc"/></rule>
+      <rule pattern="\n"><token type="CommentPreproc"/><pop depth="1"/></rule>
+    </state>
+    <state name="if0">
+      <rule pattern="^\s*#if.*?(?&lt;!\\)\n"><token 
type="CommentPreproc"/><push/></rule>
+      <rule pattern="^\s*#el(?:se|if).*\n"><token type="CommentPreproc"/><pop 
depth="1"/></rule>
+      <rule pattern="^\s*#endif.*?(?&lt;!\\)\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*(?=&gt;)"><token type="Text"/><pop depth="1"/></rule>
+      <rule><pop depth="1"/></rule>
+    </state>
+    <state name="case-value">
+      <rule pattern="(?&lt;!:)(:)(?!:)"><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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml 
1970-01-01 01:00:00.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rego.xml 
2024-03-21 15:22:59.000000000 +0100
@@ -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="&#34;&#34;&#34;.*?&#34;&#34;&#34;">
+        <token type="LiteralStringDouble"/>
+      </rule>
+      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
+        <token type="LiteralStringDouble"/>
+      </rule>
+      <rule pattern="\$/((?!/\$).)*/\$">
+        <token type="LiteralString"/>
+      </rule>
+      <rule pattern="/(\\\\|\\&#34;|[^/])*/">
+        <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="[=&lt;&gt;!+-/*&amp;|]">
+        <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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml 
new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpm_spec.xml     
2024-03-21 15:22:59.000000000 +0100
@@ -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="&quot;"><token type="LiteralStringDouble"/><pop 
depth="1"/></rule>
+      <rule 
pattern="\\([\\abfnrtv&quot;\&#x27;]|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="&#x27;.*?&#x27;"><token 
type="LiteralStringSingle"/></rule>
+      <rule pattern="&quot;"><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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/alecthomas/chroma/v2/lexers/go.go 
new/vendor/github.com/alecthomas/chroma/v2/lexers/go.go
--- old/vendor/github.com/alecthomas/chroma/v2/lexers/go.go     2024-03-15 
14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/lexers/go.go     2024-03-21 
15:22:59.000000000 +0100
@@ -55,7 +55,7 @@
                        {`"(\\\\|\\"|[^"])*"`, 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/renovate.json5 
new/vendor/github.com/alecthomas/chroma/v2/renovate.json5
--- old/vendor/github.com/alecthomas/chroma/v2/renovate.json5   2024-03-15 
14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/renovate.json5   2024-03-21 
15:22:59.000000000 +0100
@@ -1,11 +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.
-  ],
+       $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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml 
new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml
--- old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml     
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-frappe.xml     
2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml 
new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml
--- old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml      
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-latte.xml      
2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml 
new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml
--- old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml  
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-macchiato.xml  
2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml 
new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml
--- old/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml      
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/styles/catppuccin-mocha.xml      
2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml 
new/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml
--- old/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml   
2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/github.com/alecthomas/chroma/v2/styles/github-dark.xml   
2024-03-21 15:22:59.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2024-03-15 14:44:45.000000000 +0100
+++ new/vendor/modules.txt      2024-03-21 15:22:59.000000000 +0100
@@ -1,7 +1,7 @@
 # github.com/ALTree/bigfloat v0.2.0
 ## explicit; go 1.15
 github.com/ALTree/bigfloat
-# github.com/alecthomas/chroma/v2 v2.12.0
+# github.com/alecthomas/chroma/v2 v2.13.0
 ## explicit; go 1.19
 github.com/alecthomas/chroma/v2
 github.com/alecthomas/chroma/v2/lexers

Reply via email to