34125 Commits

Author SHA1 Message Date
Yee Cheng Chin a3db3e70fc Merge remote-tracking branch 'vim/master' 2026-06-04 19:39:30 -07:00
Yasuhiro Matsumoto f1ed84158a patch 9.2.0588: GTK4: drawing area loses focus after closing a menubar popover
Problem:  After a menubar popover (e.g. File, Edit) was opened and then
          dismissed without selecting an item, keyboard focus remained
          outside the drawing area, leaving the cursor stuck in the
          unfocused (outline) shape until the pointer was moved over the
          drawarea (Foxe Chen)
Solution: Install an emission hook on GtkPopover::closed and, when a
          popover that descends from gui.menubar closes, queue an idle
          callback that grabs focus back to the drawing area. The grab
          must be deferred because GTK is still completing the close
          transition when the signal fires (Yasuhiro Matsumoto).

fixes:  #20274
closes: #20291

Co-Authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-02 18:36:26 +00:00
Foxe Chen 3dc1ece6af patch 9.2.0587: GTK4: left scrollbar overlaps drawarea
Problem:  GTK4: the drawarea is wrapped in a GtkOverlay with the
          scrollbar form layered on top, so the left scrollbar
          appears over the drawarea instead of beside it.
Solution: Place the drawarea and the scrollbars as siblings inside
          the form widget, removing the GtkOverlay.  Add
          gui_mch_update_scrollbar_size() to query the actual
          scrollbar dimensions and call it from gui_set_shellsize(),
          rename GtkForm to VimForm so the GTK namespace is not used
          (Foxe Chen).

closes: #20375

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-02 17:44:42 +00:00
nyngwang 18c6b91ca9 runtime(doc): fix a typo in :write-plugin
closes: #20410

Signed-off-by: nyngwang <nyngwang@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-02 17:35:54 +00:00
Hirohito Higashi de18ef6284 runtime(doc): Tweak documentation style
closes: #20412

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 21:25:04 +00:00
Yasuhiro Matsumoto fd30a736cc runtime(cpp): recognize C++23 stdfloat types
Add float16_t, float32_t, float64_t, float128_t and bfloat16_t from
<stdfloat> as cppType under a new cpp_no_cpp23 guard.

fixes:  #16498
closes: #20367

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 21:15:41 +00:00
Foxe Chen 2e7833bde9 patch 9.2.0586: Crash with TextPut autocmd when pasting in terminal buffer
Problem:  Crash with TextPut autocmd when pasting in normal mode in a
          terminal buffer.
Solution: Skip the TextPut autocmds when reg and insert are both NULL
          and regname is not '.' (Foxe Chen).

closes: #20407

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 21:08:20 +00:00
Yasuhiro Matsumoto 77b2376769 runtime(c): classify type qualifiers, function specifiers and C23 attributes
Move const, volatile, restrict and _Atomic to a new cTypeQualifier group
and inline and _Noreturn to cFunctionSpec. Add the C23 standard attributes
deprecated, fallthrough, maybe_unused, nodiscard, unsequenced and
reproducible as cStandardAttribute, and reclassify the existing noreturn
into the same group.

The new groups link to cStorageClass, so the default highlighting and any
existing cStorageClass override are unchanged, while allowing finer-grained
customization.

fixes:  #19574
closes: #20368

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 21:04:08 +00:00
glepnir 64982d6010 patch 9.2.0585: line number wrong after undoing a deletion in quickfix buffer
Problem:  Deleting a quickfix line and undoing it leaves the entry
          pointing one line below where it should.
Solution: Don't shift already cleared entries in qf_mark_adjust.

closes: #20379

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 20:43:56 +00:00
Borys Lykah bcb8dacb6d runtime(sgf): Include sgf syntax script
closes: #20380

Signed-off-by: Borys Lykah <lykahb@fastmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 20:36:45 +00:00
Foxe Chen 8f508cdcfb patch 9.2.0584: GTK4: missing UI features
Problem:  GTK4: :popup, menu item show/hide and menu bar state
          updates are not implemented.
Solution: Implement gui_make_popup(), gui_mch_menu_hidden() and
          gui_mch_draw_menubar() (Foxe Chen).

closes: #20393

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 20:26:18 +00:00
glepnir 9fa5f64135 patch 9.2.0583: completion: indent not ignored for fuzzy line completion
Problem:  Indent is not stripped in whole-line completion (CTRL-X
          CTRL-L).
Solution: Skip the matched line's indent for whole-line matches in
          search_for_fuzzy_match (glepnir).

closes: #20405

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 20:15:35 +00:00
Foxe Chen e2d1c334ee patch 9.2.0582: GTK4: compile error when XFONTSET is defined
Problem:  GTK4: compile error when XFONTSET is defined
          (simozz)
Solution: Undefine FEAT_XFONTSET when GTK4 UI is defined
          (Foxe Chen)

fixes:  #20404
closes: #20406

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 19:46:46 +00:00
Doug Kearns 7895c9e6b8 runtime(vim): Update ftplugin, add heredocs to b:match_words
This depends on chrisbra/matchit#61 for full support of non-alphnum
heredoc markers.

closes: #20399

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-01 19:43:01 +00:00
Yegappan Lakshmanan 07f055f579 patch 9.2.0581: After maximizing and deleting the quickfix buffer, window height is wrong
Problem:  After maximizing and deleting the quickfix buffer, window
          height is wrong (tertium)
Solution: Reset the winfixheight option when a quickfix buffer is
          deleted from a window (Yegappan Lakshmanan)

fixes:  #3378
closes: #20403

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 21:38:30 +00:00
Christian Brabandt e9f8e0fcbe runtime(matchit): Update matchit plugin
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 21:34:51 +00:00
Antonio Giovanni Colombo b7d07d3e80 translation(it): Update Italian xxd man page
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 21:24:16 +00:00
Hirohito Higashi f0cae9d5ab patch 9.2.0580: xxd: binary output is not colored with -R
Problem:  With xxd the -R option colors the hex output but leaves the
          binary output produced by -b uncolored (Boris Verkhovskiy)
Solution: Color the binary (bits) output per byte with the same colors as
          the hex output, update the documentation and add a test
          (Hirohito Higashi).

fixes:  #20385
closes: #20401

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 21:11:55 +00:00
Miguel Barro d69cf0dbcf patch 9.2.0579: :mksession, :mkview and :mkvimrc emit legacy Vim script
Problem:  :mksession, :mkview and :mkvimrc emit legacy Vim script
Solution: Generate vim9 script for those commands (Miguel Barro).

fixes:  #16549
fixes:  #16688
fixes:  #19005
closes: #20152

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 21:03:12 +00:00
Yasuhiro Matsumoto 63a9471e22 patch 9.2.0578: GTK4: :unmenu does not remove entries from the menubar
Problem:  GTK4: gui_mch_destroy_menu() never removed the entry from its
          parent GMenu, so :unmenu was effectively a no-op against the
          visible menubar model.  After "Refresh menu" the Buffers menu
          items doubled because runtime/menu.vim BMShow() re-appended
          Refresh / Delete / Alternate / Next / Previous / -SEP- into a
          still-populated GMenu.  The GAction registered for the item
          and the reference on its submenu GMenu were also leaked.
Solution: Compute the entry's position in the parent GMenu by walking
          the vimmenu_T sibling list, call g_menu_remove(), remove the
          GAction we registered, and release our reference on the
          submenu GMenu (Yasuhiro Matsumoto)

fixes:  #20262
closes: #20314

Co-Authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 20:32:40 +00:00
Foxe Chen 568daf65b8 patch 9.2.0577: GTK4: window resizing issues
Problem:  GTK4: window size does not account for client-side decorations
Solution: Compute the client side decoration height from
          gui_resize_shell() (Foxe Chen)

fixes:  #20365
closes: #20388

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 20:14:59 +00:00
Christian Brabandt 4f1cd5f78a patch 9.2.0576: popup_create() not blocked in secure/sandbox
Problem:  popup_create() is not gated by check_secure(), unlike the
          similar deferred-callback registrars timer_start() and
          feedkeys().  A popup created with a 'time' and 'callback' (or with
          close/filter callbacks) registers code that runs after the secure/sandbox
          context has been left, which is inconsistent with how
          timer_start() and feedkeys() handle the same situation.
Solution: Call check_secure() at the top of popup_create(), matching the
          timer_start()/feedkeys() pattern.

closes: #20400

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 20:00:14 +00:00
Patrick Meiser-Knosowski 0878792046 patch 9.2.0575: tests: filetype test for v9.2.0557 can be improved
Problem:  tests: filetype test for v9.2.0557 can be improved
Solution: Use a correct Kawasaki robot AS test file
          (Patrick Meiser-Knosowski)

related: #20370
closes:  #20387

Signed-off-by: Patrick Meiser-Knosowski <knosowski@graeffrobotics.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 19:52:46 +00:00
thinca b16a9ddc28 patch 9.2.0574: tests: missing test for v9.2.0572
Problem:  tests: missing test for v9.2.0572 (the patch accidentally
          included some additional unwanted changes from #20372)
          (thinca)
Solution: Add additional test for delfunc
          (thinca)

Patch 9.2.0572 fixed ":call d.key()" and ":delfunction d.key" failing
with E1017 in Vim9 script, but only the :call form was covered by a
regression test.  Add Test_delfunction_dict_funcref to exercise both
"delfunction d.key" and "delfunction d['k2']".

closes: #20372

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 19:47:46 +00:00
Peter Kenny 38d9a16eba patch 9.2.0573: Vim9: missing EX_WHOLE on some block keywords
Problem:  Several Vim9 keywords lack EX_WHOLE and can be shortened in
          Vim9 script, inconsistent with endif/enddef/endfor/endwhile/
          endtry which already have it.  The error from :endd in a
          nested function also hardcodes "enddef" instead of reporting
          what the user typed.  fullcommand("ho") returns "horizontal"
          even though :ho is below the documented 3-char minimum.
Solution: Add EX_WHOLE to :class, :def, :endclass, :endinterface,
          :endenum, :public and :static.  In get_function_body() pass
          the user-typed command to the error message.  Force :ho to
          CMD_SIZE in find_ex_command() so fullcommand() reflects the
          modifier minimum.  Extend tests and documentation accordingly
          (Peter Kenny).

fixes:  #20032
closes: #20191

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 19:16:57 +00:00
K.Takata 905312e0e6 NSIS: Fix 32-bit context menu
The 32-bit context menu was not translated after 8ae45e4202.
NSIS requires a space after a `!`.

closes: #20396

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 18:46:40 +00:00
Hirohito Higashi 09f7fc60d3 patch 9.2.0572: lines disappear with wrapping virtual text after a double-width char
Problem:  With 'nowrap', when a line ends with a double-width character
          exactly at the window width and has wrapping "after" virtual
          text, the lines below disappear and "@@@" is shown.
Solution: Detect that the last character fills the rightmost column using
          its displayed width (win_chartabsize(), so a <Tab> or double-width
          character is handled like a single-width one), and also when it
          overflows the last column.  Also clarify in the help that "wrap"
          only takes effect with the 'wrap' option set.

fixes:   #20384
related: #12213
closes:  #20395

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 18:43:42 +00:00
thinca 37089793b8 patch 9.2.0571: Vim9: memory leak in compile_nested_function() on failure
Problem:  compile_nested_function() calls define_function(), which registers
          the new ufunc in func_hashtab with uf_refcount == 1.  For a local
          nested function the caller then reserves a local lvalue and
          generates a FUNCREF instruction; if either step fails, the code
          jumps to the theend label and leaves the ufunc behind with
          refcount 1 and no external reference, leaking it.  This mirrors
          patch 8.2.3951, which fixed the same leak for the "text after
          :enddef" branch a few lines above.
Solution: Call func_ptr_unref() on the ufunc before "goto theend" on both
          failure paths in the local-variable branch (thinca).

closes: #20394

Co-Authored-by: Claude <noreply@anthropic.com>
Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 18:28:34 +00:00
Foxe Chen d0fffdab16 patch 9.2.0570: GTK4: mouse wheel scrolling does not work correctly
Problem:  GTK4: mouse wheel scrolling does not work correctly
Solution: Use gui_mch_getmouse() to obtain the pointer position, and
          add GTK_EVENT_CONTROLLER_SCROLL_DISCRETE to the scroll
          controller flags (Foxe Chen).

closes: #20389

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 18:24:21 +00:00
Christian Brabandt 54ffef7eb8 patch 9.2.0569: out-of-bounds access in libvterm CSI 8 t resize
Problem:  In the bundled libvterm the CSI 8 ; rows ; cols t sequence reaches
          on_resize() without validating its arguments.  Missing, zero or
          negative dimensions cause a negative-size memmove() in
          resize_buffer() and out-of-bounds accesses in set_lineinfo() and
          DECALN, all reachable from output rendered in a terminal window
          (Yukihiro Nakamura).
Solution: Reject missing, zero or negative dimensions before calling
          on_resize().  Also clamp a negative cell width in on_text() as
          hardening for the bundled libvterm.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 14:27:16 +00:00
thinca 868ad62cb8 patch 9.2.0568: pythoncomplete: g:pythoncomplete_allow_import had no effect
Problem:  The security patch 9.2.0561 added a vim.eval() call inside
          Completer.evalsource() to honor g:pythoncomplete_allow_import.
          But the 'vim' module is only imported inside the outer
          vimcomplete() / vimpy3complete() function, not at the script's
          top level, so referring to it from a Completer method raises
          NameError.  The surrounding bare 'except' silently swallows
          the error and leaves allow_imports at 0, meaning the opt-in
          never takes effect -- 'import os' (and any other
          buffer-level import) is always skipped, no candidates are
          produced for 'os.<...>' and
          Test_popup_and_preview_autocommand() fails on the Windows
          CI matrix (Linux skips the test because Python 2 is absent).
Solution: Re-import 'vim' at the top of evalsource() in both
          pythoncomplete.vim and python3complete.vim so the eval reads
          the global, and set g:pythoncomplete_allow_import = 1 in the
          test (it is the opt-in intended for callers that trust the
          buffer contents) (thinca).

closes: #20386

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-31 12:33:07 +00:00
thinca 2b2dfc4f5a patch 9.2.0567: dict function name allocation failure not handled
Problem:  When defining a dictionary function, the function name string
          is allocated with vim_strnsave() but the result is not
          checked. On allocation failure the dict entry is left with
          type VAR_FUNC and a NULL name, and in the overwrite case the
          previous entry has already been freed before the NULL is
          stored.
Solution: Allocate the name before modifying the dict entry and bail out
          on failure, freeing it on all error paths (thinca)

closes: #20376

Co-Authored-by: Claude <noreply@anthropic.com>
Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 18:40:55 +00:00
Mao-Yining 22a78b5de7 runtime(vim9): remove unnecessary temp variable
closes: #20374

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 18:32:28 +00:00
dependabot[bot] 0e8cf80ca1 CI: Bump github/codeql-action
Bumps the github-actions group with 1 update in the / directory: [github/codeql-action](https://github.com/github/codeql-action).

Updates `github/codeql-action` from 4.35.5 to 4.36.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.35.5...v4.36.0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

closes: #20377

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 18:24:24 +00:00
zeertzjq 6de842c273 runtime(autoload): consistently align with TABs in README.txt
closes: #20378

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 18:20:47 +00:00
Shuo Wang 3b0a32d7d8 runtime(pilrc): fix typo country names in pilrcCountry syntax list
Corrected "Indian" to "India" for accurate naming.

closes: #20369

Signed-off-by: wangshuo <wangshuo@kylinos.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 18:18:41 +00:00
Yohei Kojima 113e507cdd patch 9.2.0566: <C-w>f duplicates window if do_ecmd() is aborted
Problem:  If got_int is true when win_close() is called, it unexpectedly
          fails in the branch that detects failure in apply_autocmds().
          This causes wingotofile in do_window() to duplicate current
          window when do_ecmd() is aborted with got_int.
Solution: Fix do_window() to save the got_int value before trying to
          close the split window (Yohei Kojima).

Steps to reproduce:
 1. run `touch a && touch .a.swp && echo a > b && vim b`
 2. Type `<C-w>f`
 3. In the warning dialogue, type `a` to abort
 4. Current window is duplicated

closes: #20382

Signed-off-by: Yohei Kojima <yk@y-koj.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 18:07:21 +00:00
Christian Brabandt 63680c6d3d patch 9.2.0565: [security]: out-of-bounds read in update_snapshot()
Problem:  Out-of-bounds read in update_snapshot() when a terminal cell
          fills all VTERM_MAX_CHARS_PER_CELL slots (a base character
          plus five combining marks): the loop over cell.chars[] has no
          upper bound and libvterm leaves the array unterminated when full, so
          it reads past the array and appends out-of-bounds values to a
          buffer sized for only VTERM_MAX_CHARS_PER_CELL characters.
Solution: Bound the loop with i < VTERM_MAX_CHARS_PER_CELL, mirroring
          the loop in handle_pushline() (Christian Brabandt).

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-30 16:34:40 +00:00
Foxe Chen 2c5b383807 patch 9.2.0564: GTK4: tabline does not respond to mouse clicks
Problem:  GTK4: tabline does not respond to mouse clicks
Solution: Connect on_select_tab() to "switch-page" to fire the tabline
          event, and on_tab_reordered() to "page-reordered" to call
          tabpage_move() with the new index (Foxe Chen).

closes: #20362

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 19:47:24 +00:00
Christoffer Aasted 92510c09ed patch 9.2.0563: GTK3/Wayland: crash with right mouse-button in tabline
Problem:  GTK3/Wayland: crash with right mouse-button in tabline
Solution: Use gui.mainwin and get coordinates (Christoffer Aasted).

GtkNotebook (tabline) is a windowless container widget causing a
nullptr deref inside `gdk_window_get_effective_parent()` as Wayland
lacks a surface to anchor to.

fixes:  #18864
closes: #20348

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 19:39:04 +00:00
Borys Lykah dda45ba88f patch 9.2.0562: filetype: SGF files are not recognized
Problem:  filetype: SGF files are not recognized
Solution: Detect *.sgf as sgf filetype
          (Borys Lykah)

Reference:
https://www.red-bean.com/sgf/index.html

closes: #20349

Signed-off-by: Borys Lykah <lykahb@fastmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 19:23:27 +00:00
Maxim Kim 61ad44f4af runtime(odin): remove const and opaque keywords
They don't exist in odin lang.

closes: #20364

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 19:19:38 +00:00
Christian Brabandt 4b850457e1 patch 9.2.0561: [security]: possible code execution with python3complete
Problem:  [security]: possible code execution with python3complete
Solution: Disable execution of import/from statements

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-52mc-rq6p-rc7c

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 19:08:20 +00:00
Christoffer Aasted 69f402e97f patch 9.2.0560: filetype: busybox shebang lines are not recognized
Problem:  filetype: busybox shebang lines are not recognized
Solution: Add filetype detection pattern for #!busybox sh, detect
          ash as shell in the shebang lines (Christoffer Aasted).

closes: #20358

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 18:31:35 +00:00
Wu, Zhenyu 73e619d699 patch 9.2.0559: filetype: Kaitai struct files are not recogonized
Problem:  filetype: Kaitai struct files are not recogonized
Solution: Detect *.ksy files as yaml filetype (Wu, Zhenyu)

Reference:
https://doc.kaitai.io/

closes: #20353

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 18:25:25 +00:00
Maxim Kim 339b523657 runtime(colors): update colorschemes
closes: #20363

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 18:22:32 +00:00
Patrick Meiser-Knosowski f31407f9fa runtime(karel): Add indent plugin for Karel
closes: #20357

Signed-off-by: Patrick Meiser-Knosowski <knosowski@graeffrobotics.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 18:19:39 +00:00
Wu, Zhenyu c83d2f888e patch 9.2.0558: filetype: Popcap Reanimation files are not recognized
Problem:  filetype: Popcap Reanimation files are not recognized
Solution: Recognize *.reanim files as xml filetype (Wu, Zhenyu).

Reference:
https://github.com/wszqkzqk/PvZ-Portable

closes: #20354

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 18:10:39 +00:00
Mao-Yining bc2141d27d runtime(2html): Convert to Vim9 script
closes: #19915

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: fritzophrenic <fritzophrenic@gmail.com>
Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 18:02:01 +00:00
KnoP-01 dec3d6c7da patch 9.2.0557: filetype: Kawasaki Robots files are not recognized
Problem:  filetype: Kawasaki Robots files are not recognized
Solution: Detect *.pg as kawasaki_as filetype, add filetype detection
          for *.as as atlas or kawasaki_as filetype (KnoP-01).

In Kawasaki robots (https://kawasakirobotics.com/products-robots/)
AS language

*.pg is the extention for a program file and
*.as is for a complete backup.

closes: #20370

Signed-off-by: KnoP-01 <knosowski@graeffrobotics.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-29 17:54:57 +00:00