aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/syntax.txt
Commit message (Collapse)AuthorAge
* docs(help): specify h4 "function signature" format #42434masterJustin M. Keyes2 days
| | | | | | | | | | | | | | | | | | | | | Work towards enabling ["flow" layout](https://github.com/neovim/neovim/blob/9244da12e400ec0291450a5e9400d995e7a29b83/src/gen/gen_help_html.lua#L86-L88) in all `:help` files. Problem: The final boss of vimdoc pseudo-structure: Vim's quasi-headings on function signatures and excmd docs is visually distinctive but too inconsistent for a nice parse rule. Solution: - Define the quasi-heading format as an "h4" variant, specified at `:help help-tag-heading`. - For simplicity and predictability, it is defined as any line that ends with a help tag(s) preceded by 2 or more spaces (or 1 tab). - Update existing docs. - This one-time update has a lot of changes, but is very unlikely to conflict with ported Vim-patches because (1) Vim rarely adds new *excmds* that we want, and (2) *function* docs are auto-generated. ref https://github.com/neovim/tree-sitter-vimdoc/issues/110
* docs: flow layoutJustin M. Keyes3 days
| | | | | | | | | | Work towards enabling "flow" layout in most `:help` files. Since [tables are supported in help](https://github.com/neovim/tree-sitter-vimdoc#tables), it's now possible to render most help files as ["flow" layout](https://github.com/neovim/neovim/blob/9244da12e400ec0291450a5e9400d995e7a29b83/src/gen/gen_help_html.lua#L86-L88) instead of the legacy fixed-width layout. Besides [improved HTML rendering](https://github.com/neovim/neovim/pull/42381#discussion_r4285705739), flow layout will allow `:help` presentation-mode to un-hardwrap text blocks.
* docs: cleanup #42395Justin M. Keyes3 days
| | | | | | | | | | Work towards enabling "flow" layout in most `:help` files. Since [tables are supported in help](https://github.com/neovim/tree-sitter-vimdoc#tables), it's now possible to render most help files as ["flow" layout](https://github.com/neovim/neovim/blob/9244da12e400ec0291450a5e9400d995e7a29b83/src/gen/gen_help_html.lua#L86-L88) instead of the legacy fixed-width layout. Besides [improved HTML rendering](https://github.com/neovim/neovim/pull/42381#discussion_r4285705739), flow layout will allow `:help` presentation-mode to un-hardwrap text blocks. https://github.com/neovim/neovim/issues/31825
* docs: cleanup tables, highlights.scm #42381Justin M. Keyes4 days
| | | highlights.scm: `#match` is slow, prefer `#lua-match`.
* fix(tabline): make TabLineFill base highlight group of default 'tabline'Sébastien Hoffmann2026-10-03
| | | | | | | | | | | | | | | | | | Follow-up to #41196 Problem: since #29976, the custom 'tabline' has a base highlight group TabLineFill that all %# highlights are automatically combined with. But the default C implementation still uses the TabLine and TabLineSel highlight groups uncombined, or rather effectively combined with Normal. Therefore, themes cannot depend on the base highlighting if they want to support both the default and custom tab lines. Solution: automatically combine TabLine and TabLineSel with TabLineFill in the default C implementation. fix https://github.com/neovim/neovim/issues/41173 ref https://github.com/neovim/neovim/pull/41196 ref https://github.com/neovim/neovim/pull/29976
* vim-patch:5cbadec: runtime(syntax): Add Regexp default highlight groupzeertzjq2026-10-03
| | | | | | | | | | | Most syntax files currently use String or Normal for highlighting regular expression literals; these should have a dedicated group. closes: vim/vim#21141 https://github.com/vim/vim/commit/5cbadec2e63b0e38c7c1fe4ae9c07b07123299b8 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.1.1568: need a few more default highlight groupszeertzjq2026-10-03
| | | | | | | | | | | | | Problem: need a few more default highlight groups Solution: Add Bold, Italic and BoldItalic default highlight groups (Maxim Kim). related: https://github.com/vim/vim/pull/17598#issuecomment-3007320523 closes: vim/vim#17804 https://github.com/vim/vim/commit/16f7098e68951ce421512c34d03810bdd1efbaed Co-authored-by: Maxim Kim <habamax@gmail.com>
* vim-patch:9.2.1128: filetype: icalendar files are not recognizedzeertzjq2026-09-25
| | | | | | | | | | | | | | | Problem: filetype: icalendar files are not recognized Solution: Detect *.ics files as icalendar filetype, include syntax and filetype plugins (Anakin Childerhose). Reference: https://datatracker.ietf.org/doc/html/rfc5545 closes: vim/vim#21356 https://github.com/vim/vim/commit/7c049d5ce1d6bc119abf9749ca5cad74225ca83e Co-authored-by: Anakin Childerhose <anakin@childerhose.ca>
* vim-patch:4d0ad5c: runtime(java): Make changes for JDK 27zeertzjq2026-09-25
| | | | | | | | | | | | | | Reintroduce supported syntax-preview-feature numbers 455, 488, 507, and 530 as _a new number_ 532. Reference: https://openjdk.org/jeps/532 (Primitive Types in Patterns etc.) closes: vim/vim#21341 https://github.com/vim/vim/commit/4d0ad5cb9b0d4d0da03237e4bda4dd162542820d Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:3041cf6: runtime(filetype): improve *.h filetype detection (#42028)Humble Seer2026-09-23
| | | | | | | | | | | | | | | This commit changes *.h files to default to C (instead of C++), and deprecates the existing `g:c_syntax_for_h` and `g:ch_syntax_for_h` variables in favor of a unified `g:filetype_h`, like is used for other ambiguous file extensions. closes: vim/vim#17135 https://github.com/vim/vim/commit/3041cf67d37cc23b79b17cc2c1c09feb7c22baf7 AI-assisted Co-authored-by: Amelia Clarke <selene@perilune.dev> Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:f1a677c: runtime(c): support 0O/0o octal prefix (C29)zeertzjq2026-09-22
| | | | | | | | closes: vim/vim#21327 https://github.com/vim/vim/commit/f1a677c4fb21874874afd57f3c1b31bcb3ed587b Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
* vim-patch:cb5ebfb: runtime(html): Update syntax, improve syncing (#41890)zeertzjq2026-09-13
| | | | | | | | fixes: vim/vim#10452 closes: vim/vim#21287 https://github.com/vim/vim/commit/cb5ebfb39ae25805a1e5a8b81bec62da7239ca2c Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* feat(multicursor): MC HAMMER #41587Justin M. Keyes2026-09-01
| | | | | | | | | | | | | | | | | | | | | Other (squashed) commits: fix(tui): emit ui_send output atomically with the frame Problem: tui_ui_send() writes directly to the TTY, bypassing the output buffer. Sequences sent via nvim_ui_send() (e.g. kitty multiple-cursors, or visual-dot-repeat) always arrive in a separate TTY write from the frame they were computed for. This manifests as "tearing", or e.g. in the case of multicursor the terminal renders text with stale cursor overlays. Solution: - tui_ui_send(): while a frame is being assembled (pending invalid regions or buffered output), buffer instead of writing directly. - Out-of-frame sends (tty queries, clear-on-disable) still write immediately. - mcursor.lua: emit the terminal-cursor update at the end of the redraw cycle (`on_end`, when screen positions are final) instead of vim.schedule().
* vim-patch:5d41506: runtime(sh): Selectively suppress matching syntax errors ↵zeertzjq2026-08-14
| | | | | | | | | | | | | | | | (#41302) As a refinement upon "g:sh_no_error", support not matching particular classes of syntax errors. Look up syntax rule names and list them with: ‐----------------------------------------------------------- let g:sh_no_error_rules = ["shCurlyError", "shParenError"] ‐----------------------------------------------------------- closes: vim/vim#20935 https://github.com/vim/vim/commit/5d41506eb4895fbf0b6ccf4067c7f6e3c8ac568b Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* vim-patch:e0b8113: runtime(doc): DocBook syntax variable scopes are not ↵zeertzjq2026-08-09
| | | | | | | | | | | | | | | | | clearly documented Problem: DocBook syntax variable scopes of docbk_type and docbk_ver are not clearly documented: docbk_type uses the wrong scope (it should be buffer-local) and docbk_ver also has an undocumented buffer-local version. Solution: Correct the docbk_type examples and describe the docbk_ver precedence. closes: vim/vim#20977 https://github.com/vim/vim/commit/e0b81136c76a5ab2203eb6f6ece0225f2565e42e Co-authored-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
* docs: misc, remove some old help tags #40214Justin M. Keyes2026-07-18
| | | | | | | | | | - Remove old help tags: they add noise to cmdline completion. Co-authored-by: acehinnnqru <acehinnnqru@gmail.com> Co-authored-by: KangaZero <samuelyongw@gmail.com> Co-authored-by: Simone Ragusa <hi@interrato.dev> Co-authored-by: Chinmay Dalal <~chinmay/public-inbox@lists.sr.ht> Co-authored-by: coyaSONG <66289470+coyaSONG@users.noreply.github.com> Co-authored-by: Olivia Kinnear <git@superatomic.dev>
* vim-patch:77099ed: runtime(cpp): add C++26 lexical constructs to syntax ↵zeertzjq2026-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | highlighting Add a guarded "C++ 26 extensions" block (cpp_no_cpp26) covering new lexical surface introduced since C++23: - [[ ... ]] attributes as a region, so P3394 annotations carrying a value expression (eg [[=foo{1}]]) no longer trip cErrInBracket on their braces/parens. A \w\@1<! look-behind keeps it from matching a subscripted immediately-invoked lambda (arr[[]{...}()]). - ^^ reflection operator (P2996). - [: :] splice brackets (P2996). - contract_assert keyword (P2900). Add input/cpp_cpp26.cpp exercising these constructs with screendumps, and update dumps/cpp_noreturn_00.dump for the new [[ ]] attribute delimiter highlighting. closes: vim/vim#20577 https://github.com/vim/vim/commit/77099ed6b3b35b6340fd4945ba219020034a9182 Co-authored-by: Gareth Lloyd <gareth@ignition-web.co.uk>
* vim-patch:fd30a73: runtime(cpp): recognize C++23 stdfloat typeszeertzjq2026-06-02
| | | | | | | | | | | | Add float16_t, float32_t, float64_t, float128_t and bfloat16_t from <stdfloat> as cppType under a new cpp_no_cpp23 guard. fixes: vim/vim#16498 closes: vim/vim#20367 https://github.com/vim/vim/commit/fd30a736cc4acbefe3a1b05e6051f8df13aa6b2b Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
* vim-patch:5333d9b: runtime(algol68): Update syntax, always highlight prelude ↵zeertzjq2026-05-28
| | | | | | | | | | | | | | symbolic operators (#40025) - Remove `g:algol68_symbolic_operators` config variable, these operators are now always highlighted along with bold word operators - Remove GSL `/-` operator, this was a typo in the implementation and now fixed in the latest Genie release as `/=` closes: vim/vim#20195 https://github.com/vim/vim/commit/5333d9b6705b5d81ab69f4c786562574ebdbb881 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:ecba601: runtime(doc): fix a few small problems (#39969)zeertzjq2026-05-24
| | | | | closes: vim/vim#20287 https://github.com/vim/vim/commit/ecba601e3f10fc046829877a0a4682a54cc27da0
* feat(highlights): new Dimmed hl group for de-emphasized text #39505Michele Campeotto2026-05-13
| | | | | | | | | | | | | Problem: Many color schemes assume the Comment hl group is dim text and use it for secondary text, decorations, or parts of UI. This is true for many color schemes but not all. Solution: Introducing a new highlight group with a more specific meaning, similar to Underlined or Ignore. The new group links to Comment by default so the behavior is unchanged for color schemes that don't define it.
* docs: rename "tabpage"Justin M. Keyes2026-05-07
|
* vim-patch:3cc7d50: runtime(algol68): Add new syntax file, ftplugin and ↵zeertzjq2026-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | 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: vim/vim#19818 https://github.com/vim/vim/commit/3cc7d5071619f30bba2ae4ccfa992dccb8fd5e51 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:c9eaff0: runtime(java): Make changes for JDK 26 (#38452)zeertzjq2026-03-24
| | | | | | | | | | | | | Reintroduce supported syntax-preview-feature numbers 455, 488, and 507 as _a new number_ 530. Reference: https://openjdk.org/jeps/530 (Primitive Types in Patterns etc.) closes: vim/vim#19793 https://github.com/vim/vim/commit/c9eaff0a8ac7d8c38878361b53343348d93afff5 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* feat(highlight): support more SGR attributes #37901Riccardo Mazzarini2026-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: TUI does not support several standard SGR text attributes: - dim/faint (SGR 2) - blink (SGR 5) - conceal (SGR 8) - overline (SGR 53) This means that when a program running in the embedded terminal emits one of these escape codes, we drop it and don't surface it to the outer terminal. Solution: - Add support for those attributes. - Also add corresponding flags to `nvim_set_hl` opts, so users can set these attributes in highlight groups. - refactor(highlight): widen `HlAttrFlags` from `int16_t` to `int32_t` Widen the `rgb_ae_attr` and `cterm_ae_attr` fields in HlAttrs from int16_t to int32_t to make room for new highlight attribute flags, since there was only one spare bit left. - The C flag is named HL_CONCEALED to avoid colliding with the existing HL_CONCEAL in syntax.h (which is a syntax group flag, not an SGR attribute). - Also note that libvterm doesn't currently support the dim and overline attributes, so e.g. `printf '\e[2mThis should be dim\n'` and `printf '\e[53mThis should have an overline\n'` are still not rendered correctly when run from the embedded terminal.
* vim-patch:b422a33: runtime(gdb): Update syntax and ftplugin (#37783)zeertzjq2026-02-09
| | | | | | | | | | | | | | | | | | | | - 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: vim/vim#10649 https://github.com/vim/vim/commit/b422a33ac22dbd0086f64e7540afefc0c9a5a7ee Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:0f3b7d2: runtime(doc): fix missing code block marker in ↵zeertzjq2026-01-28
| | | | | | | | ft-python-syntax (#37588) related: vim/vim#18922 closes: vim/vim#19261 https://github.com/vim/vim/commit/0f3b7d2563f6371e3e46d5f2c8fcb15c4bd266a0
* vim-patch:632fd8b: runtime(python): Highlight built-in constants in Pythonzeertzjq2026-01-27
| | | | | | | | | | | Also add syntax tests for those newly constants. closes: vim/vim#17788 closes: vim/vim#18922 https://github.com/vim/vim/commit/632fd8bb968b029d0a7c40a00101008ea5200b91 Co-authored-by: Rob B <github@0x7e.net>
* vim-patch:e914ada: runtime(doc): Fix erroneous *roff syntax exampleszeertzjq2026-01-26
| | | | | | | | | | | | | | | | | Problem dates back at least to commit 071d4279d6, Vim 7.0001 (2004). The examples shown were of special character interpolation syntax, not ("number") register interpolation syntax. Sources: * https://www.gnu.org/software/groff/manual/groff.html.node/Built_002din-Registers.html * https://github.com/mamccollum/troff-resources/blob/main/cstr-54.pdf closes: vim/vim#19243 https://github.com/vim/vim/commit/e914ada32334af67604c9791aa4149a74ab0d1eb Co-authored-by: G. Branden Robinson <g.branden.robinson@gmail.com>
* vim-patch:3a324c8: runtime(doc): Fix typo in syntax.txt (#37522)zeertzjq2026-01-23
| | | | | | | closes: vim/vim#19239 https://github.com/vim/vim/commit/3a324c83abb78a0fc80433db09737ab0e660a0a6 Co-authored-by: Antoine Saez Dumas <antoine.saezdumas.git@gmail.com>
* vim-patch:f338a2f: runtime(doc): Update [gnt]roff information (#37476)zeertzjq2026-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Content: * Refer to the formatter as "GNU troff". Strictly, "groff" refers to several things.[1] Since the context is the editing of input to the formatter, GNU's troff program is most relevant choice. * Refer to groff as distributions' default "typesetting" rather than "text processing" package. Many text processing tools exist, and some distributions (Alpine Linux, NetBSD, OpenBSD) have replaced groff with mandoc[2] as their man page formatter. * Mention that Plan 9 still ships an AT&T-derived troff; they even maintain it.[3] * Correct explanation of traditional `yr` register (1). `\n(yr` is not a request, but an escape sequence.[4] * Correct explanation of traditional `yr` register (2). This register has not interpolated a "2-digit year" since the year 2000; it now interpolates a 3-digit one, because AT&T troff designed the `yr` register with a Y2K bug in it.[5] * Fix scrambled terminology. The phrase "macro request" confuses two separate things: macros and requests.[6] Say instead "font, request, register, macro, and string names"; these are the formatter object types that people writing groff documents most often use. * Refer to "groff's mm package" instead of "GNU mm". Strictly, this package is in groff's "contrib" area, which implies that it's not official GNU product. (To be fair, after shipping with groff for over 34 years,[7] I'm not sure how much distinction anyone perceives.) * Motivate the newly added advice preferring macro package facilities for paragraphing; this issue is distinct from aiding sentence boundary detection, which until recently[8] was the only advice offered here. Style: * Condense introductory paragraphs. * Refer to "language syntax" rather than "language primitives". * Use slightly more idiomatic English. While these revisions convey more information, they leave the line count unchanged. I'll try to stop fooling with this material now. Notes: [1] https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/man/groff.7.man?h=1.24.0.rc1#n303 [2] https://mandoc.bsd.lv/ [3] https://github.com/9fans/plan9port/pull/738 https://github.com/9front/9front/commit/4f3a4d8b3da7e7f38b4bc392524944f6f9ccf21f [4] https://www.gnu.org/software/groff/manual/groff.html.node/Formatter-Instructions.html https://github.com/mamccollum/troff-resources/blob/main/cstr-54.pdf [5] Tellingly, groff added the `year` register in its 1.16 release, dated 2000-05-23. https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.24.0.rc1#n3650 https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/ChangeLog.116?h=1.24.0.rc1#n261 [6] https://www.gnu.org/software/groff/manual/groff.html.node/Requests-and-Macros.html https://www.gnu.org/software/groff/manual/groff.html.node/groff.html_fot.html#FOOT26 [7] https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.24.0.rc1#n4192 https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/ChangeLog.old?h=1.24.0.rc1#n2714 [8] https://github.com/vim/vim/commit/638bbc57c151b0360d953e1e4ad372e3c9f0d3ce closes: vim/vim#19221 https://github.com/vim/vim/commit/f338a2f1a6fdb89bd4764c38b4cf8954526b632e Co-authored-by: G. Branden Robinson <g.branden.robinson@gmail.com>
* vim-patch:638bbc5: runtime(doc): Update advice for [gnt]roff userszeertzjq2026-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Content: * Offer more specific guidance regarding input line breaks and sentence endings. * Advise what to do when a line ends with sentence-ending punctuation but doesn't end a sentence. * Advise against use of blanks lines and leading spaces for formatting when a macro package is in use. * Advise how to achieve visual separation in the document without affecting formatting. * Point out how the newline/end-of-sentence rules aid diffing. * Distinguish the separate processes of inter-sentence space supplementation and filling. * Use conventional (but accessible) terms from typography instead of more casual, approximate ones. * Clarify what sort of extension the ms package's `XP` macro is. Style: * Fix comma splice with a semicolon. * Use slightly more standard/idiomatic English. Sources: * https://rhodesmill.org/brandon/2012/one-sentence-per-line/ * https://www.ualberta.ca/en/computing-science/media-library/docs/unix-beginners.pdf (p. 20) * https://www.gnu.org/software/groff/manual/groff.html.node/Input-Conventions.html * https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/doc/ms.ms?h=1.23.0#n1131 * https://docs-archive.freebsd.org/44doc/usd/18.msdiffs/paper.pdf closes: vim/vim#19193 https://github.com/vim/vim/commit/638bbc57c151b0360d953e1e4ad372e3c9f0d3ce Co-authored-by: G. Branden Robinson <g.branden.robinson@gmail.com>
* vim-patch:77a59be: runtime(cangjie): Update syntax script (#37267)zeertzjq2026-01-06
| | | | | | | | | | | | | | | | | | | | | | This commit updates `syntax/cangjie.vim` to match the latest `std.core` library: New Features: * Documentation: Added highlighting for documentation keywords (e.g., `@param`, `@return`). * Standard Library: Added highlighting for `std.core` functions, interfaces, and classes. * Exceptions: Added highlighting for standard exception types. * FFI Support: Added highlighting for C interoperability types (e.g., `CPointer`). Improvements: * Configuration: Added a unified switch (`s:enabled('builtin')`) for standard library highlighting. * Type System: Updated `Int` and `UInt` aliases. * Interpolation: Enabled standard library highlighting inside string interpolation. * Cleanup: Removed non-core types like `ArrayList` and `HashMap`. closes: vim/vim#19085 https://github.com/vim/vim/commit/77a59be594f372ceef87b8c423660d1f5dbb5854 Co-authored-by: Neila <wu.junkai@qq.com>
* docs: miscJustin M. Keyes2025-12-06
| | | | | | fix https://github.com/neovim/neovim.github.io/issues/419 Co-authored-by: Rob Pilling <robpilling@gmail.com>
* vim-patch:310082f: runtime(rst): Add support for rst_minlineszeertzjq2025-10-14
| | | | | | | | | | | | | Following the approach used in other syntax definitions, add support for defining the "syntax sync minlines=..." values for rst files in the users' ~/.vimrc files, to allow the users to adjust that value in case syntax highlighting stops working for some of the files they edit. related: vim/vim#18566 https://github.com/vim/vim/commit/310082f3cfab92a28a635b0dc2a972c7f1fa5b92 Co-authored-by: Dragan Simic <dsimic@manjaro.org>
* vim-patch:partial:c58f91c: runtime(doc): Whitespace updates (#36160)zeertzjq2025-10-13
| | | | | | | | | | | | | | Use double sentence spacing and wrap lines at 'textwidth'. Code examples and tables were not wrapped unless this had already been done locally. closes: vim/vim#18453 https://github.com/vim/vim/commit/c58f91c035db09358c282f2a908e2aea4287785e Fix incorrect docs in :h ModeChanged. Cherry-pick :h bufnr() changes from patch 8.1.2080. Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:40dec46: runtime(doc): Replace rotted URL links (#36151)zeertzjq2025-10-13
| | | | | | | | | | | | | | | | | Both links to libXpm and mysyntax.vim are up but the listed libXpm version is not offered anymore and mysyntax.vim is no longer served at all. The link for searching dictionary extensions of Apache OpenOffice is broken; an alternative link can be discovered from the home page. Finally, the English dictionaries Apache OpenOffice extension is probably gone for good (is it incompatible with more recent versions of the suite?) as its page neither available directly nor discoverable through search. closes: 18549 https://github.com/vim/vim/commit/40dec4609d73c7ba2068aa3b4cea9d003bec5545 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
* docs: small fixes (#36146)zeertzjq2025-10-12
| | | | | | | | | Close #35989 Close #36031 Close #36107 Co-authored-by: Kieran Moy <kfatyuip@gmail.com> Co-authored-by: William Sprent <william@sprent.dk> Co-authored-by: David Briscoe <43559+idbrii@users.noreply.github.com>
* fix(ui): 'pumborder' parsing, shadow #36127glepnir2025-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 1. Setting `pumborder=+,+,+,+,+,+,+,+` failed to render the custom border characters correctly. The issue occurred in `parse_winborder()` where it incorrectly used `p_winborder` instead of the `border_opt` parameter when the option value didn't contain commas. 2. In `pum_redraw()`, calling `parse_border_style()` directly with the option string failed to parse comma-separated border characters. 3. Missing documentation for PmenuShadow and PmenuShadowThrough highlight groups used by the shadow border style. 4. Coverity reports CID 631420: passing WinConfig (480 bytes) by value in `grid_draw_border()`. 5. crash when using `shadow` value on pumborder. Solution: 1. Fix `parse_winborder()` to use `border_opt` parameter consistently, ensuring the correct option value is parsed regardless of which option (winborder/pumborder) is being set. 2. Update `pum_redraw()` to call `parse_winborder()` instead of `parse_border_style()`, properly handling both predefined styles and custom comma-separated border characters. 3. Add documentation for PmenuShadow (blended shadow areas) and PmenuShadowThrough (see-through corners) highlight groups. 4. Change `grid_draw_border()` to accept WinConfig by pointer. 5. When the "shadow" style is used, no additional row and column offset is applied, and the border width is reduced.
* vim-patch:partial:7dba04f: runtime(doc,vim): Update base syntax, match full ↵zeertzjq2025-10-10
| | | | | | | | | | | | | :syntime command - Use the optional tail command-name spec at :help :syntime. - Match full :syntime command and highlight args. https://github.com/vim/vim/commit/7dba04f15cc43562c67c4cd0db82c2165c1cdb40 Documentation changes only. Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:143686b: runtime(java): Fold adjacent "import" declarations (#36095)zeertzjq2025-10-09
| | | | | | | | | | | | | | | | | | | Also, distinguish (by abbreviating their names) and manage foldable kinds of syntax items: blocks of code ("b"), plain comments ("c"), Javadoc comment