aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax
Commit message (Collapse)AuthorAge
* vim-patch:cf40409e7d17Christian Clason2023-11-26
| | | | | | | | | | | | | | | | | | | | | | | runtime(nginx): add additional nginx keywords (vim/vim#13581) * Add support for missing keywords to the nginx syntax plugin This adds support for several keywords from - the built-in HTTP/2 module, - the built-in SSL module, - the built-in uWSGI module, - the experimental QUIC branch, - the third-party SSL CT module, - the third-party dynamic TLS records patch. Co-Author: ObserverOfTime <chronobserver@disroot.org> * Add missing http2/ http3 keywords to nginx plugin https://github.com/vim/vim/commit/cf40409e7d17ddadaa697188788753c761479ef8 Co-authored-by: Chris Aumann <me@chr4.org> Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.0.2128: runtime(swig): add syntax and filetype pluginsChristian Clason2023-11-26
| | | | | | | | | | | | | | | | | | Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface Generator) description files. The default syntax for .i files highlights comments in a reverse color scheme which doesn't look well. This syntax builds on vim's c++ syntax by adding highlighting for common swig directives and user defined directives. For an alternative syntax, see vimscript vim/vim#1247 (which I found after writing this). closes: vim/vim#13562 https://github.com/vim/vim/commit/2e31065a650015892179e520038bf2083a9519b6 Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
* vim-patch:9.0.2104: wast filetype should be replaced by wat filetypeChristian Clason2023-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: wast filetype should be replaced by wat filetype Solution: start using the official wat filetype name runtime: rename `wast` filetype to `wat` (Wasm text format) The problem is the name of the current filetype wast. When the plugin was initially created, the file extension for Wasm text format was not fixed and .wast was more popular. However, recently .wat became the official file extension for WebAssembly text (WAT) format and .wast is now a file extension for the unofficial WAST format, which is a superset of .wat for the convenience to describe the Wasm specification conformance tests. https://webassembly.js.org/docs/contrib-wat-vs-wast.html However for now, let's keep using the `wat` filetype even for the .wast extension, so that we at least do not lose the filetype settings and syntax highlighting. This can be adjusted later, if it turns out to have a separate need for. closes: vim/vim#13533 https://github.com/vim/vim/commit/bc8f79d36a456054ed29f46585830af6d71f57c8 Co-authored-by: rhysd <lin90162@yahoo.co.jp>
* vim-patch:2c133f6c1a16Christian Clason2023-11-12
| | | | | | | | runtime(lynx): Update for Lynx 2.8.9 (vim/vim#13510) https://github.com/vim/vim/commit/2c133f6c1a165a74678a89722ed8c42967c295e4 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9358b8d99349 (#25998)zeertzjq2023-11-12
| | | | | | | | | | runtime(vim): Improve :let-heredoc syntax highlighting (vim/vim#12923) "trim" and "eval" are allowed in any order and whitespace is not required after "=<<". https://github.com/vim/vim/commit/9358b8d99349818666718f513655c2bf53d43754 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.0.2098: No filetype support for xcompose files (#25983)ObserverOfTime2023-11-12
| | | | | | | | Problem: No filetype support for xcompose files Solution: Add filetype detection closes: vim/vim#13508 https://github.com/vim/vim/commit/4f9074b96cc7efb1c829ca74902a851551dcf4e8
* vim-patch:5994329667a6Christian Clason2023-11-11
| | | | | | | | | runtime(i3config): Update for i3 4.23 (vim/vim#13522) https://github.com/vim/vim/commit/5994329667a630b85fae07b9121668456e86b22d Co-authored-by: Ivan Grimaldi <grimaldi.ivan@gmail.com> Co-authored-by: Ivan Grimaldi <grimaldi.ivam@gmail.com>
* vim-patch:d56f15caf602Christian Clason2023-11-09
| | | | | | | | runtime(wget): Update for Wget2 2.1.0 (vim/vim#13497) https://github.com/vim/vim/commit/d56f15caf602a061f5f9f0a3c6a4537ab2dc6acc Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:ce3b0136c6d9Christian Clason2023-11-04
| | | | | | | | | | | | | | | | | | runtime(sh): Update sh syntax and add shDerefOffset to shDerefVarArray for bash (vim/vim#13480) Add shDerefOffset to shDerefVarArray. Example code: ```bash declare -a a=({a..z}) echo "${a[@]:1:3}" ``` https://github.com/vim/vim/commit/ce3b0136c6d9d09af41969d3dc9634f115505a32 Co-authored-by: Lucien Grondin <grondilu@yahoo.fr>
* vim-patch:1858e2b22ad1Christian Clason2023-11-03
| | | | | | | | runtime(sh) Update sh syntax and add shDblParen to shCaseList (vim/vim#13469) https://github.com/vim/vim/commit/1858e2b22ad168b1fd44a4efcd3a2b6cd9f6772d Co-authored-by: Lucien Grondin <grondilu@yahoo.fr>
* vim-patch:2b89afd5eb63Christian Clason2023-11-03
| | | | | | | | runtime(debversions): Add noble (24.04 LTS) as Ubuntu release name (vim/vim#13472) https://github.com/vim/vim/commit/2b89afd5eb63864154d973e7991a56a53b87a767 Co-authored-by: James McCoy <jamessan@jamessan.com>
* vim-patch:a390e984db20Christian Clason2023-10-29
| | | | | | | | | | | | | | | | | | | | runtime(sh): add shDblParen to shLoopList for bash (vim/vim#13445) add shDblParen to shLoopList to correctly highlight arithmetic expressions for Bash and Ksh This should allow code such as: ```bash declare -i i j for i in foo bar do ((j = 1 << j)) done ``` https://github.com/vim/vim/commit/a390e984db20575dc726b4e0ebf95582265df8e7 Co-authored-by: Lucien Grondin <grondilu@yahoo.fr>
* vim-patch:7b7cda67a124Christian Clason2023-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(debian): update debian related runtime files (vim/vim#13423) * Update Debian runtime files Add mantic as a supported Ubuntu release and move buster/kinetic to unsupported. Add syntax highlighting for deb822sources filetype. Add debsources ftplugin to set relevant comment options. Move common version information to shared/debversions.vim Closes vim/vim#11934 * Add myself as codeowner for Debian-related runtime files --------- https://github.com/vim/vim/commit/7b7cda67a1246874520b280277d9b1447e1a7ef5 Co-authored-by: James McCoy <jamessan@jamessan.com> Co-authored-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Co-authored-by: James Addison <jay@jp-hosting.net> Co-authored-by: Viktor Szépe <viktor@szepe.net> Co-authored-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Co-authored-by: James Addison <jay@jp-hosting.net> Co-authored-by: Viktor Szépe <viktor@szepe.net>
* vim-patch:e08bfef88bd0Gregory Anders2023-10-19
| | | | | | | | | | | runtime(zig): Update Zig runtime files (vim/vim#13388) Update runtime files from upstream (https://github.com/zig/zig.vim) at commit 54c216e5306a5c3878a60596aacb94dca8652ab9. https://github.com/vim/vim/commit/e08bfef88bd05a9d27ee16c57cd10173e280f600 Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
* vim-patch:5a33ce2a661fChristian Clason2023-10-18
| | | | | | | | | | | | | | runtime(json5): include syntax script for json5 (vim/vim#13356) Merging syntax file from gutenye/json5.vim, modified to include proper vim header. See: https://github.com/vim/vim/issues/8499 https://github.com/vim/vim/commit/5a33ce2a661fb836d4c5c489f2a850172a23e0b0 Co-authored-by: Rolf Vidar Mazunki Hoksaas <32819373+mazunki@users.noreply.github.com> Co-authored-by: Guten Ye <ywzhaifei@gmail.com>
* vim-patch:dbf749bd5aae (#25665)zeertzjq2023-10-16
| | | | | | | | | | | runtime: Fix more typos (vim/vim#13354) * Fix more typos * Fix typos in ignored runtime/ directory https://github.com/vim/vim/commit/dbf749bd5aaef6ea2d28bce081349785d174d96a Co-authored-by: Viktor Szépe <viktor@szepe.net>
* vim-patch:54f70cf0780aChristian Clason2023-09-27
| | | | | | | | runtime(swayconfig): Update syntax file (vim/vim#13192) https://github.com/vim/vim/commit/54f70cf0780a797efaf0ff9fd4190215a3ff0eb7 Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:02774f99cebcChristian Clason2023-09-27
| | | | | | | | runtime(i3config): update i3config syntax (vim/vim#13191) https://github.com/vim/vim/commit/02774f99cebcb890d3861febc1d03e75c02cc92d Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:347459423903Christian Clason2023-09-27
| | | | | | | | | | | | | | | | | runtime(rmd) Update ftplugin and syntax files (vim/vim#13193) ftplugin/rmd.vim: - Set 'commentstring' dynamically according to code region. syntax/rmd.vim: - Include syntax highlighting of fenced languages dynamically. - Add conceal char for line break. https://github.com/vim/vim/commit/34745942390383ec626b168e9837d284622c7bbe Co-authored-by: Jakson Alves de Aquino <jalvesaq@gmail.com>
* vim-patch:e30d8e4ce01dChristian Clason2023-09-17
| | | | | | | | | | runtime(kotlin): Add Kotlin runtime files (vim/vim#13110) Closes udalov/kotlin-vimvim/vim#39 https://github.com/vim/vim/commit/e30d8e4ce01dc1aca95d25be9fd27c09855fd4be Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:8b2457a38198Christian Clason2023-09-13
| | | | | | | | | | | runtime(swayconfig): improve syntax highlighting (vim/vim#13060) * syntax(swayconfig): improved highlighting * syntax(swayconfig): adapt to i3config structure https://github.com/vim/vim/commit/8b2457a3819826d90ad2b1677d213d9f924ec6c0 Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:fc93594d562dChristian Clason2023-09-13
| | | | | | | | runtime(rust): sync rust runtime files with upstream (vim/vim#13075) https://github.com/vim/vim/commit/fc93594d562dbbd9da03c89754538f91efd0c7ca Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
* vim-patch:f5356bf6751fChristian Clason2023-09-13
| | | | | | | | | | | runtime(i3config): syntax structure cleanup (vim/vim#13080) * syntax(i3config): improved i3config highlighting * syntax(i3config): refactor structure https://github.com/vim/vim/commit/f5356bf6751fc1af77c8d27c7286639527fde3f2 Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:62145db91b10Christian Clason2023-09-12
| | | | | | | | syntax(i3config): improved i3config highlighting (vim/vim#13054) https://github.com/vim/vim/commit/62145db91b104075277cb3a940e18832ad106264 Co-authored-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
* vim-patch:9.0.1891: No runtime support for MojoChristian Clason2023-09-11
| | | | | | | | | | | | Problem: No runtime support for Mojo Solution: Add basic filetype and syntax plugins closes: vim/vim#13062 closes: vim/vim#13063 https://github.com/vim/vim/commit/0ce2c594d0704f27a16d2c13fce85d596cc91489 Co-authored-by: Mahmoud Abduljawad <mahmoud@masaar.com>
* vim-patch:e7833e73471aChristian Clason2023-09-11
| | | | | | | | runtime(masm): add support for AVX-2 and AVX-512 (vim/vim#13061) https://github.com/vim/vim/commit/e7833e73471a110c7c38c80935e1b840f254a3da Co-authored-by: Wu Yongwei <wuyongwei@gmail.com>
* vim-patch:066103307534Christian Clason2023-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(scala): Fix Scala highlighting string literal as type param (vim/vim#13070) Since https://docs.scala-lang.org/sips/42.type.html which is implemented in Scala 2.13 and in Scala 3 it possible to use string literals as singleton types. So code like ``` someFunc["abc"] ``` is valid. Currently this code is not hightlighted correctly and worse if there is an unclosed `(` in the string it breaks the formating in the rest of the file. I also submitted this patch to the mentioned project for this runtime file: https://github.com/derekwyatt/vim-scala/pull/173 But there are no commits there over the last 2 years and no response in the week since I created it. Also the last change to the Scala syntax file: https://github.com/vim/vim/pull/9594 is yet to be backported to that repo. Therefore I am opening this PR as well to get some feedback on how to proceed to get this fixed. https://github.com/vim/vim/commit/066103307534f81de08a092aac3a15e864a5a25f Co-authored-by: Emil Ejbyfeldt <eejbyfeldt@liveintent.com>
* vim-patch:733bbcde776eChristian Clason2023-09-10
| | | | | | | | runtime(nasm): updated syntax file https://github.com/vim/vim/commit/733bbcde776e857b45bf4c713a3c9203ac728040 Co-authored-by: Andrii Sokolov <andriy145@gmail.com>
* vim-patch:86cfb39030ebChristian Clason2023-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(tohtml): Update TOhtml to version 9.0v2 (vim/vim#13050) Modified behavior: - Change default value of g:html_use_input_for_pc from "fallback" to "none". This means with default settings, only the standards-based method to make special text unselectable is used. The old method relying on unspecified browser behavior for <input> tags is now only used if a user specifically enables it. - Officially deprecate g:use_xhtml option (in favor of g:html_use_xhtml) by issuing a warning message when used. Bugfixes: - Fix issue vim/vim#8547: LineNr and other special highlight groups did not get proper style rules defined when using "hi link". - Fix that diff filler was not properly added for deleted lines at the end of a buffer. Other: - Refactored function definitions from long lists of strings to use :let-heredoc variable assignment instead. - Corrected deprecated "." string concatenation operator to ".." operator in more places. https://github.com/vim/vim/commit/86cfb39030eb557e1a1c7804f9c147556ca5dbf1 Co-authored-by: fritzophrenic <fritzophrenic@gmail.com>
* vim-patch:acb91d3905cfChristian Clason2023-09-02
| | | | | | | | runtime(zserio): add zserio syntax (vim/vim#13005) https://github.com/vim/vim/commit/acb91d3905cfef5eff8edfb76e62a6b6bab1e91e Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
* vim-patch:da16a1b471aaChristian Clason2023-09-02
| | | | | | | | | | | | | | | runtime(ruby): Update syntax, indent and ftplugin files While making changes to the ruby ftplugin, slightly change the exepath() conditional from patch 9.0.1833 and move it after the :cd invocation. closes: 12981 closes: 12994 https://github.com/vim/vim/commit/da16a1b471aa717f58909cc6531cb6dbbff14d22 Co-authored-by: Doug Kearns <dougkearns@gmail.com> Co-authored-by: Tim Pope <code@tpope.net>
* vim-patch:1610528cc305Christian Clason2023-08-31
| | | | | | | | runtime(forth): Update syntax and ftplugin files (vim/vim#12976) https://github.com/vim/vim/commit/1610528cc3052103e368c4175b09db6f9a6c150c Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:535b9e12d02fChristian Clason2023-08-28
| | | | | | | | | | runtime(typescript): Fix highlighting symbols after number literal (vim/vim#12911) fixes vim/vim#12831 https://github.com/vim/vim/commit/535b9e12d02f5fef969fb680d579c586bd5f40db Co-authored-by: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>
* Merge pull request #24702 from seandewar/vim-1688938dd5acSean Dewar2023-08-24
|\ | | | | vim-patch:1688938dd5ac,96d6c4aabed1,e8d6f03f6a61
| * vim-patch:e8d6f03f6a61Sean Dewar2023-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime: Remove Brams name from a few more runtime files (vim/vim#12780) syntax/model.vim: minor wording improvement https://github.com/vim/vim/commit/e8d6f03f6a61f60de6893253621d057f63dd6a23 Use the updated "Last Change" date for all. Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl>
| * vim-patch:1688938dd5acSean Dewar2023-08-23
| | | | | | | | | | | | | | | | runtime: Add a few more remarks about Bram and new runtime files https://github.com/vim/vim/commit/1688938dd5ac78ab67e54299b9d5b93499dba762 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:3fc7a7e44abdChristian Clason2023-08-24
| | | | | | | | | | | | | | | | | | | | runtime: Fix typos in various files closes: vim/vim#12836 https://github.com/vim/vim/commit/3fc7a7e44abda6505ccd39a6d067db6e5173cbf6 Co-authored-by: Viktor Szépe <viktor@szepe.net>
* | vim-patch:6e93689bde73Christian Clason2023-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(bindzone): updated syntax file - Add support for APL type in runtime/syntax/bindzone.vim - all values between 0- 4294967295 are valid serials closes: vim/vim#9743 closes: vim/vim#8382 https://github.com/vim/vim/commit/6e93689bde7321ce974ae99ec6c74efb08d78842 vim-patch:544b209a2d4b runtime(scala): Link Scala highlighting groups using 'hi def link' in syntax script (vim/vim#9594) They were linked using 'hi link' which made it impossible for color schemes to override highlight groups. https://github.com/vim/vim/commit/544b209a2d4b10e0a4874c925036def30d33d708 Co-authored-by: Oskar Stenman <oskar@cetex.se> Co-authored-by: Job Noorman <job@noorman.info>
* | vim-patch:118f8e9da39eChristian Clason2023-08-24
| | | | | | | | | | | | | | | | runtime(cmake) Recognize add_compile_definitions in syntax script (vim/vim#10416) https://github.com/vim/vim/commit/118f8e9da39e6cec5ffe644d5b87a7772418ed0c Co-authored-by: MichaWiedenmann <mw-r1@gmx.de>
* | vim-patch:cdd934439d08Christian Clason2023-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(crontab): add support for BSD specifics in syntax script (vim/vim#11196) * OpenBSD supports the use of `~` as alias for "random valid value" * FreeBSD supports `@every_{minute,second}` See: * https://man.openbsd.org/crontab.5 * https://www.freebsd.org/cgi/man.cgi?query=crontab&sektion=5 https://github.com/vim/vim/commit/cdd934439d08768235be04817ee214f067e8cf56 Co-authored-by: Moviuro <moviuro@users.noreply.github.com>
* | vim-patch:b0d584d97ab6Christian Clason2023-08-24
| | | | | | | | | | | | | | | | | | | | runtime(go): Update Go syntax file with 1.21 builtins (vim/vim#12876) * Update Go syntax file with 1.21 builtins https://github.com/vim/vim/commit/b0d584d97ab6f5cb070caba3882ba387b81448c1 Co-authored-by: José-Paul D <fixed.combinator@gmail.com>
* | vim-patch:e34b51e95fd0Christian Clason2023-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | runtime(solidity): add new ftplugin (vim/vim#12877) Set undo_{ftplugin,indent} closes vim/vim#11240 https://github.com/vim/vim/commit/e34b51e95fd0ea7b0e34a625db0f9ed7e051e0dd Co-authored-by: dkearns <dougkearns@gmail.com> Co-authored-by: cothi <jiungdev@gmail.com>
* | vim-patch:c6d533b0ad56Christian Clason2023-08-24
|/ | | | | | | | | | | | | runtime(gp): update gp.vim syntax file for the GP language (version 2.15) (vim/vim#12884) - add missing defaults - add missing control structures (incl. parallelism) - add missing scope declarations - whitespace edits (remove extra tabs) https://github.com/vim/vim/commit/c6d533b0ad565a610a48386b0ad72cc591010fcb Co-authored-by: Karim Belabas <Karim.belabas@math.u-bordeaux.fr>
* vim-patch:690963924956Christian Clason2023-08-21
| | | | | | | | | | | | | | | runtime(dosini): save and restore cpo value in syntax script Commit dd0ad2598898c2b4641c4acd5b70b6184fa698ed introduced line-continuation. However, to make sure this does not cause an error when Vim is run in compatible mode, we need to set compatibility mode temporarily and reset it back when finished reading the file. This fixes: https://groups.google.com/g/vim_use/c/9zccgo_RIqM/m/xlUmhBktBgAJ https://github.com/vim/vim/commit/690963924956d800b94bb86076aa9d25f04565ac Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:6d626c41842eChristian Clason2023-08-21
| | | | | | | | runtime(sdc): Add underscore to sdc flags in syntax file (vim/vim#6201) https://github.com/vim/vim/commit/6d626c41842e2c3ab698338bbe5fcfcf0557ecd8 Co-authored-by: Jordi Altayó <jordialtayo@gmail.com>
* vim-patch:309ded19543cChristian Clason2023-08-21
| | | | | | | | runtime(css): Update pseudo-classes in syntax script (vim/vim#11595) https://github.com/vim/vim/commit/309ded19543c140375b28ef562257e9f22c918c6 Co-authored-by: Adrian Heine né Lang <mail@adrianheine.de>
* vim-patch:e71e9d9ad368Christian Clason2023-08-21
| | | | | | | | | | runtime(javascript): fix default link of javaScriptNumber in syntax file (vim/vim#11788) cool unused matching https://github.com/vim/vim/commit/e71e9d9ad368f83162a9c08217a9faf9bda909a7 Co-authored-by: Meqa <106783764+Meqativ@users.noreply.github.com>
* vim-patch:72904d5fda0aChristian Clason2023-08-21
| | | | | | | | | | | | | | | | Runtime: Add nixInherit matcher in nix.vim syntax Perform the lookahead in `nixInheritAttributeScope`, then hand over to a new region called `nixInheritAttributeSubExpr`, which sets the match start to one char after the opening bracket to avoid a double-match. Finally, only do a lookahead to `)` in `nixInheritAttributeSubExpr` (and thus make sure the region is closed to not get a match of `nixParen` here) and let `nixInheritAttributeScope` close the bracket. https://github.com/vim/vim/commit/72904d5fda0a1bc78f4bc9080c158226e6e90d5c Co-authored-by: James Fleming <james@electronic-quill.net>
* vim-patch:9.0.1766: Runtime: Missing QML supportChristian Clason2023-08-21
| | | | | | | | | | | Problem: Runtime: Missing QML support Solution: Add QML support to Vim closes: vim/vim#12810 https://github.com/vim/vim/commit/bedc69f9d67b117ab05aa735c701cd3899d1ae2d Co-authored-by: ChaseKnowlden <haroldknowlden@gmail.com>
* vim-patch:442d1746f4c6Christian Clason2023-08-18
| | | | | | | | | | bindzone runtime: add new DNS record types (vim/vim#7351) Recognize some newer DNS record types - CAA (RFC8659, certificate authority authorization), OPENPGPKEY (RFC7929), SMIMEA (RFC8162). Sort SSHFP alphabetically while there. https://github.com/vim/vim/commit/442d1746f4c650e2e41246fd5679f635a4a30232 Co-authored-by: Stuart Henderson <sthen@users.noreply.github.com>