698 Commits

Author SHA1 Message Date
Felipe Matarazzo cb0b4cf45c Fix a few more typos
closes: #20135

Signed-off-by: Felipe Matarazzo <felipemps@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-04 19:10:37 +00:00
zeertzjq c23bfd7922 runtime(help): fix wrong check for existing HelpComplete function
To check for an existing HelpComplete function, exists('*HelpComplete')
should be used, as exists('HelpComplete') still returns 0 after sourcing
the ftplugin.

closes: #20073

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-26 14:36:23 +00:00
Doug Kearns 3cc7d50716 runtime(algol68): Add new syntax file, ftplugin and filetype detection
- Add a syntax file update to Neville Dempsey's long-serving version
- Add a new rudimentary ftplugin
- Add filetype detection

Changes to the syntax file include:
- improved prelude, number and symbol highlighting
- prelude highlighting tests
- updated boiler plate

Note that these runtime files currently target Algol 68 Genie employing
the default UPPER stropping regime.  Support for GNU Algol 68 should
also be usable with the UPPER stropping regime, although somewhat less
complete.  Full support for the SUPPER stropping regime in GNU Algol 68
is also planned.

closes: #19818

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Janis Papanagnou <janis_papanagnou@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-26 14:31:55 +00:00
Peter Cardenas 0ca1121d1f runtime(help): make help omnifunc global
closes: #20024

Signed-off-by: Peter Cardenas <16930781+PeterCardenas@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-26 08:42:57 +00:00
Bez Hermoso b30803b231 patch 9.2.0371: filetype: ghostty config files are not recognized
Problem:  filetype: ghostty config files are not recognized
Solution: Detect ghostty configuration files as ghostty filetype,
          include a simple ghostty filetype plugin (Bez Hermoso)

closes: #20002

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Bez Hermoso <me@bez.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-20 14:50:37 +00:00
Christian Brabandt 82ebaa79b0 runtime(racket): Make visual K mapping more robust for shell injection
fyi @benknoble

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-01 08:10:15 +00:00
Christian Brabandt 374f06ffd8 runtime(racket): Use shellescape() to harden the K mapping
fyi: @benknoble

Co-authored-by: Michał Majchrowicz <mmajchrowicz@afine.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-31 15:38:30 +00:00
Anakin Childerhose 8c116bbe79 patch 9.2.0235: filetype: wks files are not recognized.
Problem:  filetype: wks files are not recognized.
Solution: Detect *.wks, *.wks.in and *.wks.inc as wks filetype,
          include a filetype and syntax plugin (Anakin Childerhose)

The OpenEmbedded Image Creation tool, `wic` uses wic kickstarter files
to define image partition and bootloader layouts.
wks files can end with .wks, .wks.in for templated wks files, and
.wks.inc for including in other .wks files.

The autocmd for *.wks.inc needs to come before *.inc in
runtime/ftdetect.vim

Reference:
https://docs.yoctoproject.org/ref-manual/kickstart.html#openembedded-kickstart-wks-reference
https://git.openembedded.org/openembedded-core/tree/scripts/lib/wic/canned-wks

closes: #19796

Signed-off-by: Anakin Childerhose <anakin@childerhose.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-23 19:43:57 +00:00
Phạm Bình An ce4fbda992 runtime(fish): Add matchit support to filetype plugin
closes: #19701

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-20 21:29:57 +00:00
Thomas Dupuy 39ee7d17b9 runtime(yara): add ftplugin for yara filetype
Add a minimal ftplugin `runtime/ftplugin/yara.vim` that sets:
- `commentstring` for YARA line comments (`//`)
- `comments` for YARA block comment (`/* */`)
- `formatoptions` to wrap comment lines and continue comment after newlines
This was heavily inspired from `runtime/ftplugin/c.vim`

closes: #19736

Signed-off-by: Thomas Dupuy <thom4s.d@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-18 21:13:12 +00:00
Eisuke Kawashima 3697c6b020 runtime(ssh): ignore case in 'keywordprg', update syntax script
- ftplugin(sshdconfig): use "-I" for 'keywordprg' to search
  case-insensitive in the man page
- syntax(sshdconfig,sshconfig): Mark "lowdelay", "throughput", and
  "reliability" as deprecated for IPQoS, highlighting them as
  errors/warnings to reflect OpenSSH 10.1p1 release

Reference:
https://www.openssh.org/releasenotes.html#10.1p1

closes: #19636

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 20:04:17 +00:00
Eisuke Kawashima 8f2cd47404 runtime(sudoers): update filetype plugin and syntax script
- remove `set isk+=-` to highlight `-=` operator correctly
- implement highlighting of GID
- fix highlight of hostname and add special value ALL
- fix highlight of IP address
- update include and includedir patterns
- remove duplicate syntax rules
- add missing options
- fix highlight of parameter assignment (limit operators to list
  parameters)
- fix highlight of string and list parameters with trailing whitespaces
- implement highlight of permission (octal)
- implement highlight of floating point numbers
- implement highlight of timeout-specific options
- support highlight of negatable options (integer, mode, float, timeout,
  string)
- allow sudoersListParameter to be negated
- fix highlight of comma-separated parameter list used as boolean
- fix highlight of parameter negation (prevent highlighting ill-formed `! !`)
- fix highlight of Tag_Spec
- allow empty Runas spec: `()` and `(:)`
- fix highlight of comma-concatenated commands, hosts, and users
- check word boundaries for special value ALL
- implement highlight of Option_Spec
- fix highlight in User_Spec (specifically for Host position)
- fix highlight of `Default!` command
- support highlight of digests (sha224, etc.)
- add syntax test and update header

closes: #19634

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:33:36 +00:00
Riley Bruins 99ba87d152 runtime(nickel): Add filetype plugin with com, cms settings
closes: #19545

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:50:47 +00:00
GX 14eddc7d46 runtime(xkb): Include a simple xkb ftplugin
Problem:  There is a xkb syntax, but no filetype plugin.
Solution: Create a filetype plugin and set the comment and commentstring
          options for the xkb filetype (xkb = X keyboard extension)

closes: #19537

Signed-off-by: GX <59413576+gx089@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 17:12:00 +00:00
Daniel Wennberg 75c291fc39 runtime(julia): Update julia ftplugin
commentstring changed to single line variant in
JuliaEditorSupport/julia-vim@edd3512

closes: #19530

Signed-off-by: Daniel Wennberg <daniel.wennberg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:37:23 +00:00
snelling-a 9148644c1e runtime(env): add ftplugin for env filetype
Patch 9.2.0033 (#19260) introduced a dedicated `env` filetype for
.env files, which were previously detected as `sh`. This left env
files without `commentstring`, `comments`, or `formatoptions` since
no ftplugin was added alongside the new filetype.

Add runtime/ftplugin/env.vim to set these options, matching the
behavior that .env files had when they used the `sh` filetype.

closes: #19522

Signed-off-by: snelling-a <72226000+snelling-a@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 18:51:34 +00:00
TG 10f5573672 runtime(systemverilog): use correct matchit pattern for the covergroup block
A covergroup start with the "covergroup" keyword and ends with the
"endgroup" keyword. "group" is not even a reserved keyword in systemverilog.

Reference:
https://www.chipverify.com/systemverilog/systemverilog-covergroup-coverpoint#covergroup
https://github.com/MikePopoloski/slang/blob/master/docs/grammar.md#covergroup_declaration

closes: #19393

Signed-off-by: TG <tarik.graba@telecom-paris.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-13 16:14:27 +00:00
Doug Kearns dcc4175284 runtime(go,gleam): Remove 'formatprg' from ftplugins
Effective use of 'formatprg' requires both an understanding of the
specific capabilities of the formatting tool and Vim's formatting
commands.  This is overly burdensome for some users.

Rather than address each complaint on a filetype by filetype basis,
remove 'formatprg' settings from all ftplugins.

It is expected that formatter plugins will be available in the near
future as a better solution. See #17145 (Add "formatter" feature using
"compiler" as a template).

Note: 'formatprg' will be removed from older ftplugins after the release
of Vim 9.2. The setting was added to the go and gleam ftplugins during
the current development cycle and have not been included in a Vim
release.

See: #18650 (rust.vim: stop setting formatprg to rustfmt)

closes: #19108

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-13 16:05:17 +00:00
Doug Kearns 5ed37232bb runtime(ruby): Update for Vim 9.2 release
closes: #19316

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-10 14:12:22 +01:00
Doug Kearns b422a33ac2 runtime(gdb): Update syntax and ftplugin
- Change syntax file maintainer.
- Add Guile and Python command highlighting.
- Update command list to version 12.
- Add foldable regions for the commands 'define', 'if' and 'while'
  multiline commands.
- Support documented partial command names.
- Add matchit, browsefilter, and comment formatting support.
- Support embedded C in compiler {code|print} commands.
- Add largely complete settings highlighting and folding.
- Add syntax tests (incomplete).

Thanks to Claudio Fleiner for many years of maintenance.

closes: #10649

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-08 20:51:47 +00:00
CatsDeservePets 56d470a008 runtime(lf): update syntax to support lf version r41
Also, mark @CatsDeservePets as maintainer.

closes: #18640

Signed-off-by: CatsDeservePets <145048791+CatsDeservePets@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:55:53 +00:00
Amelia Clarke de5d100c2f runtime(hare): update to match upstream
closes: #18640

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:44:56 +00:00
Mao-Yining a2e76bb8fe runtime(c): only set keywordprg when there has 'man'
closes: #19319

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-03 14:51:24 +00:00
Mark Woods ac5af8ecd3 runtime(vim): Fix for :VimKeywordPrg when syntax does not match
When using vim9-syntax plugin, :VimKeywordPrg does not lookup functions
correctly, as it relies solely on syntax names to find the help topic.

The syntax keyword used for builtin function is vi9FuncNameBuiltin in
vim9-syntax plugin, not vimFuncName expected by :VimKeywordPrg, so the
fallback rules apply, and there is no fallback rule for function calls.

Fix by just checking if the first char after topic is '(', and if so
assume help topic is a function.

closes: #19320

Signed-off-by: Mark Woods <mwoods.online.ie@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-03 14:48:58 +00:00
Mateo Gjika b8efcc0202 runtime(vim): set 'path' to common Vim directories
closes: #19219

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-26 19:45:21 +00:00
Mateo Gjika ca6726285c runtime(c): set 'keywordprg' to :CKeywordPrg in a GUI
closes: #19222

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-26 18:46:41 +00:00
Aman Verma dd3aa92ce6 runtime(toml): update syntax and ftplugin.
Add "-" to iskeyword. This required a change to the syntax files too
because they were using the word begin and end atoms.

closes: #17259

Co-authored-by: Teemu Ikonen <tpikonen@mailbox.org>
Co-authored-by: A4-Tacks <wdsjxhno1001@163.com>
Signed-off-by: Aman Verma <amanraoverma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 18:01:31 +00:00
Kiyoon Kim e5f61842b5 patch 9.1.2110: filetype: skhd files are not recognized
Problem:  filetype: skhd files are not recognized
Solution: Detect .skhdrc and skhdrc as skhd filetype,
          include a syntax and filetype plugin, add syntax tests
          (Kiyoon Kim)

Add syntax highlighting for skhd (simple hotkey daemon for macOS)
configuration files. Includes filetype detection for skhdrc and
.skhdrc files.

Reference:
- https://github.com/asmvik/skhd

closes: #19235

Signed-off-by: Kiyoon Kim <kiyoon@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 17:39:05 +00:00
Doug Kearns 09a48056c7 runtime(csh): Update ftplugin, improve matchit behaviour
- Allow for an unparenthesised expression argument to the 'if',
  'if-then', and 'while' commands.  This is undocumented, and probably
  unintended, behaviour but is frequently seen in the wild.
- Allow for a continued-line expression argument to the 'if-then'
  command.

related: #19172 (csh: Support negated if in matchit)
closes:  #19190

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-23 19:07:21 +00:00
Arvin Verain 87635dcb5a runtime(kitty): Add kitty ftplugin file
closes: #19232

Signed-off-by: Arvin Verain <arvinverain@proton.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-20 20:48:41 +00:00
Mateo Gjika d829e10e0f runtime(sml): add 'include' setting to ftplugin
closes: #19156

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-19 19:10:41 +00:00
Mateo Gjika b1fa262960 runtime(asm): add '#' as comment symbol (GNU as)
closes: #19158

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-19 19:08:39 +00:00
Mateo Gjika 0b103d6a7c runtime(haskell): add include-search and define support in ftplugin
closes: #19143

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-18 21:30:26 +00:00
Simão Afonso f25c343b26 runtime(csh): Support negated if in matchit
Currently, the matchit configuration chokes on valid syntax like:

```csh
if !(true) then
   true
endif
```

Make sure the negation syntax is supported.

closes: #19172

Signed-off-by: Simão Afonso <simao.afonso@powertools-tech.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-15 20:27:54 +00:00
Mateo Gjika 17d60cee55 runtime(compiler): add compiler plugin for cabal
closes: #19152

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-13 21:37:46 +00:00
Anakin Childerhose be6225976c runtime(rst): set suffixesadd for rst
Add .rst to suffixesadd. This allows gf and similar commands to work for
rst documentation such as in the linux kernel Documentation.

closes: #19149

Signed-off-by: Anakin Childerhose <anakin@childerhose.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-11 18:50:13 +00:00
Lifepillar cb7cbfcc12 runtime: Update files for ConTeXt, METAFONT, and MetaPost.
This update is meant to be included in the upcoming 9.2 release.

**New**

- Support ConTeXt's convention to optionally specify an output directory
  in a comment line at the beginning of a source file.
- If a log file is not found, Vim does not create a new buffer.
- Removed `syntax/shared` files for the following reasons:
  - they are not necessary for the plugin to work (they only improve
    over existing syntax highlighting);
  - they are relative large;
  - they can be automatically (re)generated by users at any time using
    ConTeXt (explained in the doc);
  - since ConTeXt is updated frequently, they quickly become obsolete.

**Minor**

- Prefer `var` to `const` inside functions.
- Prefer `$`-interpolation to `printf()`.
- All revision dates set to the same date for consistency.
- Updated the error format.
- Various tweaks to the documentation, but nothing disruptive or new.

closes: #19148

Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-11 18:45:42 +00:00
André-Patrick Bubel fc00006777 runtime(sieve): preserve existing line endings in ftplugin
Only set fileformat=dos for new files; preserve existing line endings
when editing. This satisfies RFC 5228 for new files while avoiding
issues with version control and existing workflows.

The previous change (3cb4148) unconditionally set fileformat=dos, which
converts existing files with LF line endings to CRLF on save. This
causes issues with version control (entire file appears changed) and
breaks workflows where sieve files are stored with unix line endings.

Dovecot Pigeonhole (the main sieve implementation) has explicitly
accepted LF line endings since 2008 (commit 97b967b5):
  /* Loose LF is allowed (non-standard) and converted to CRLF */
This behavior has remained unchanged for almost 18 years.

closes: #19144

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: André-Patrick Bubel <code@apb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-09 17:44:04 +00:00
Christian Brabandt 5eb10c5359 runtime(xml): update XML runtime files
closes: #19112

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:54:51 +00:00
Christian Brabandt c45e16a939 runtime(zsh): Update runtime files
closes: #19113

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:53:13 +00:00
Christian Brabandt 57352b279d runtime: mention subscription only ml, fix typo in maintainer email
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-03 16:29:07 +00:00
Paulo Moura cc71684ab0 runtime(logtalk): Update Logtalk runtime files for the latest language spec
closes: #19058

Signed-off-by: Paulo Moura <pmoura@logtalk.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-02 13:42:57 +00:00
Christian Brabandt 62d8f3dab5 runtime: Revert several "mark invalid contact addresses" commits
This reverts commits:
- 6b652a7850
- 2f689d5abd
- a025a46d41

Several email addresses that are known to be valid caused bounces
due to an issue with my email setup. The previous commits incorrectly
marked these addresses as invalid. So revert the whole thing again.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-01 15:14:14 +00:00
Christian Brabandt a025a46d41 runtime: mark more invalid email addresses
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-31 17:18:13 +00:00
Christian Brabandt 2f689d5abd runtime: mark more invalid email addresses
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-31 16:38:08 +00:00
Scott McKendry 4e722fdfdd patch 9.1.2027: filetype: bicep filetype used for 2 bicep file types
Problem:  filetype: bicep filetype used for 2 bicep file types
Solution: Detect *.bicepparam files as bicep-param filetype, include
          new bicep-params and bicep filetype plugin
          (Scott McKendry)

The bicep language server handles parameter files differently than
regular bicep files. Treating them the same at the editor level leads to
false positive diagnostics in the editor.

References:

Bicep Language Constants:
- https://github.com/Azure/bicep/blob/51392d32ca2c8b94b1bb7a255e78e1d559d12573/src/Bicep.Core/LanguageConstants.cs#L23
VS Code Extension definition:
- https://github.com/Azure/bicep/blob/51392d32ca2c8b94b1bb7a255e78e1d559d12573/src/vscode-bicep/package.json#L47

closes: #19026

Signed-off-by: Scott McKendry <me@scottmckendry.tech>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-27 15:20:39 +00:00
Stanislaw Gruszka 5e577c7aa8 runtime(ftplugin): set different formatoptions for bpftrace
Problem:   Comment formatting does not work by default for bpftrace.
Solution:  Change default 'formatoptions' similarly as C and many other
           languages.

closes: #18996

Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-23 20:15:14 +00:00
Sergio Alejandro Vargas f958d35723 runtime(julia): Update Julia runtime files
Port changes from JuliaEditorSupport/julia-vim made during 2022-2025.
Most notably:

- 88f178c Do not reset shiftwidth/expandtab at undo
- f17257a Allow else block in try/catch
- 7946ce3 Support public statements (added in Julia v1.11.0-DEV.469)

Signed-off-by: Sergio Alejandro Vargas <savargasqu+git@unal.edu.co>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 12:55:17 +01:00
Aaron Jacobs 98ef8433b6 runtime(rust): use textwidth=100 for the Rust recommended style
The help text here said 99 was the recommended style for the standard
library, but I can't find a citation for this anywhere. In contrast the
Rust Style Guide hosted on rust-lang.org
[says](https://doc.rust-lang.org/stable/style-guide/#indentation-and-line-width)
the maximum line width is 100, and rustfmt
[agrees](https://github.com/rust-lang/rust/blob/37aa2135b5d0936bd13aa699d941aaa94fbaa645/src/tools/rustfmt/src/config/options.rs#L570).

Having the two disagree causes an annoying off-by-one error in vim: if
you configure vim to highlight too-long lines then it will occasionally
complain about a line that rustfmt refuses to fix.

closes: #18892

Signed-off-by: Aaron Jacobs <jacobsa@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 12:43:39 +01:00
Stanislaw Gruszka b60b33a9dc patch 9.1.1957: filetype: bpftrace files are not recognized
Problem:  filetype: bpftrace files are not recognized
Solution: Detect *.bt files as btftrace filetype,
          include a btftrace filetype plugin (Stanislaw Gruszka)

closes: #18866

Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:40:44 +01:00