Compare commits

...

496 Commits

Author SHA1 Message Date
Hirohito Higashi
5193375b10 patch 9.1.1978: tests: Test_smoothscroll_number() may fail
Problem:  tests: Test_smoothscroll_number() may fail because of
          'showcmd'
Solution: Send redraw command (Hirohito Higashi)

closes: #18921

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-14 16:23:18 +01:00
Christian Brabandt
b5cf53b8b1 patch 9.1.1977: MS-Windows: missing dependency on optiondefs.h in Make_cyg_ming.mak
Problem:  MS-Windows: missing dependency on optiondefs.h in Mingw and
          Cygwin Makefile (Mao-Yining)
Solution: Update $INCL variable

fixes: #18915

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-13 18:43:27 +01:00
Foxe Chen
4438b8e071 patch 9.1.1976: Cannot define callbacks for redraw events
Problem:  When using listeners, there is no way to run callbacks at
          specific points in the redraw cycle.
Solution: Add redraw_listener_add() and redraw_listener_remove() and
          allow specifying callbacks for redraw start and end
          (Foxe Chen).

closes: #18902

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-13 18:23:54 +01:00
Mao-Yining
3a113e04de nsis: add Chinese translation to nsis installer
closes: #18912

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-13 17:50:47 +01:00
Hirohito Higashi
e9a9833263 runtime(doc): Tweak documentation style in eval.txt and options.txt
closes: #18914

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-13 17:45:36 +01:00
Gourmet
ef7a577b27 runtime(doc): Remove outdated agide.org link
The agide.org domain no longer hosts Vim-related tools and now points to
unrelated content. Remove the outdated reference to avoid confusion.

closes: #18916

Signed-off-by: Gourmet <110063472+ItalianG0urmet@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-13 17:42:59 +01:00
Foxe Chen
3d06113c8c patch 9.1.1975: blob2str() may call STRNCPY() with a NULL pointer
Problem:  blob2str() may call strcpy with a NULL pointer
Solution: Check for NULL before calling STRNCPY()

closes: #18907

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-12 08:52:07 +01:00
zeertzjq
353103e59a patch 9.1.1974: tests: missing cleanup in Test_bwipe_during_save()
Problem:  tests: missing cleanup in Test_bwipe_during_save().
Solution: Reset &charconvert.

closes: #18908

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-12 08:47:18 +01:00
Foxe Chen
131d878aaa patch 9.1.1973: some minor problems with clipboard provider code
Problem:  some minor problems with clipboard provider code
          (after v9.1.1972)
Solution: Fix minor issues (Foxe Chen)

- allow empty register type for paste function to mean automatic
- fix internal inc_clip_provider() and dec_clip_provider() functions not
  setting the pause count correctly
- don't call paste function when yanking

closes: #18909

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-12 08:44:14 +01:00
Foxe Chen
fcd3958dcb patch 9.1.1972: No way to access the clipboard without X11/Wayland
Problem:  No way to access the clipboard without X11/Wayland.
Solution: Add the clipboard provider feature (Foxe Chen).

closes: #18781

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 21:13:35 +01:00
Christian Brabandt
98a0cbf05b patch 9.1.1971: crash with invalid positional argument 0 in printf()
Problem:  crash with invalid positional argument 0 in printf()
Solution: Reject positional arguments <= 0.

closes: #18898

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 20:51:03 +01:00
glepnir
fe1c57cd2c patch 9.1.1971: Crash when buffer gets deleted inside charconvert during save
Problem:  Crash when buffer gets deleted inside charconvert during save
Solution: Check for `b_saving` inside `can_unload_buffer()`, so we don’t try to
          unload a buffer while it’s still being saved (glepnir).

closes: #18901

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 20:48:43 +01:00
phanium
fa3bdc2501 patch 9.1.1970: visual end column returns wrong value after block edit
Problem:  visual end column returns wrong value after block edit
Solution: update visual end column after block insert (phanium)

fixes:  #18900
closes: #18903

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: phanium <91544758+phanen@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 20:39:27 +01:00
Doug Kearns
bfb9f5c40e runtime(doc): Rename NoDefaultCurrentDirectoryInExePath tag
- Add leading "$" to match other environment variable tags.
- Clarify :help $NoDefaultCurrentDirectoryInExePath.

closes: #18895

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 20:33:51 +01:00
zeertzjq
50325c3d59 patch 9.1.1969: Wrong cursor position after formatting with long 'formatprg'
Problem:  Wrong cursor position after formatting with long 'formatprg'.
Solution: Don't show hit-enter prompt when there are stuffed characters.

Previously a stuffed character at the hit-enter prompt will dismiss the
prompt immediately and be put in the typeahead buffer, which leads to
incorrect behavior as the typeahead buffer is processed after the stuff
buffers. Using vungetc() when KeyStuffed is TRUE can fix this problem,
but since the hit-enter prompt isn't visible anyway (and is likely not
desired here), just skip the prompt instead, which also avoids a wait
when using "wait" instead of "hit-enter" in 'messagesopt'.

fixes:  #18905
closes: #18906

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 20:28:48 +01:00
Christian Brabandt
44d480e0c3 patch 9.1.1968: tests: test_python3.vim leaves swapfiles behind
Problem:  tests: test_python3.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 20:26:06 +01:00
lsq
a52b11d057 patch 9.1.1967: if_python: 64bit numbers truncated
Problem:  if_python: 64bit numbers truncated
Solution: cast python result to long long (lsq)

fixes:  #18899
closes: #18904

Signed-off-by: lsq <lsqypj@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-11 19:59:13 +01:00
Mao-Yining
e758eac336 patch 9.1.1966: MS-Windows: dark mode in gui is not supported
Problem:  MS-Windows: dark mode in gui is not supported
Solution: Inplement the 'd' flag in 'guioptions'
          (Mao-Yining).

related: #12282
closes: #18877

Co-Authored-By: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 15:23:39 +01:00
Doug Kearns
927ad166a4 runtime(vim): Update base syntax, match full :help command
closes: #18833

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 13:40:59 +01:00
Bjoern Foersterling
ecce3497fa patch 9.1.1965: q can accidentally start recording at more prompt
Problem:  When exiting at the end of the more prompt (at the hit enter
          prompt) by hitting q the recording mode will be started.
          (Jakub Łuczyński)
Solution: Don't add the q key to the typeahead buffer
          in the function wait_return (Bjoern Foersterling)

fixes: #2589
closes: #18889

Signed-off-by: Bjoern Foersterling <bjoern.foersterling@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 13:27:00 +01:00
zeertzjq
e72eacceab patch 9.1.1964: Wrong display when using setline() at hit-enter prompt
Problem:  Wrong display when using setline() at hit-enter prompt
          (after 8.2.3204).
Solution: Only skip scrolling for changed lines in top area if it's
          scrolled down due to w_topline change. Also add more testing
          for what 8.2.3204 fixed (zeertzjq).

closes: #18887

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 13:10:12 +01:00
Yee Cheng Chin
4af6d9755c patch 9.1.1963: diff: missing diff size limit for xdiff
Problem:  diff: missing diff size limit for xdiff
Solution: Impose file size limit for internal diff (xdiff)
          (Yee Cheng Chin).

Git imposes a hard cap on file size for content that it passes to xdiff
(added to Git in dcd1742e56e, defined in xdiff-interface.h), due to
integer overflow concerns in xdiff. Vim doesn't specify such a limit
right now, which means it's possible for a user to diff a large file
(1GB+) and trigger these overflow issues.

Add the same size limit (1GB minus 1MB) to Vim and simply throws an
error when Vim encounters files larger than said limit. For now, reuse
the same error message regarding internal diff failures. There is no
need to add the same limit for external diff as it's up to each tool to
error check their input to decide what is appropriate or not.

closes: #18891

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 13:05:17 +01: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](37aa2135b5/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
Christian Brabandt
b22c145c22 runtime(doc): document change in Windows behavior for patch 9.1.1947
closes: #18886

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-09 12:36:15 +01:00
Doug Kearns
cf5c255260 patch 9.1.1962: filetype: Erlang application resource files are not recognized
Problem:  filetype: Erlang application resource files are not recognized
Solution: Add content-based filetype detection for application resource
          files matching extension '*.app' (Doug Kearns)

related: #18835
closes:  #18842

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-07 19:12:33 +01:00
zeertzjq
2b3566d89e patch 9.1.1961: :0tab behaves like :tab for :stag when 'swb' contains "newtab"
Problem:  :0tab behaves like :tab for :stag when 'switchbuf' contains
          "newtab" (after 9.1.1949).
Solution: Don't override cmod_tab if it's already non-zero (zeertzjq).

closes: #18859

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-07 19:07:37 +01:00
glepnir
7a0d0a022a patch 9.1.1960: Wrong position of info popup
Problem:  When the popup menu is displayed above the cursor and the
          selected item has no room below for the info popup,
          popup_adjust_position() places the popup in the available
          space above. The calculation added some extra lines, causing
          the popup to be misaligned.
Solution: For info popups, undo that extra spacing so the popup stays
          aligned with the selected item (glepnir)

closes: #18860

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-07 19:06:20 +01:00
glepnir
826d10296f patch 9.1.1959: Wrong wrapping of long output using :echowindow
Problem:  Outputting long strings using :echowindow wraps one character
          per line and display in reverse order (Hirohito Higashi)
Solution: Use full width for :echowindow, reset msg_col after wrapping,
          and increment lnum correctly when creating new lines (glepnir)

fixes: #18750
closes: #18874

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-07 18:48:22 +01:00
zeertzjq
2da433cff7 patch 9.1.1958: Wrong display with sign_unplace() and setline() in CursorMoved
Problem:  Wrong display when scrolling with 'scrolloff' and calling
          sign_unplace() and setline() in CursorMoved (after 8.2.3204).
Solution: Still scroll for changed lines below the top area when the top
          is scrolled down (zeertzjq)

closes: #18878

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-07 18:45:19 +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
Maxim Kim
c7c16e4130 runtime(odin): support underscore-separated numeric literals
Add support for underscore-separated numeric literals in Odin syntax
highlighting. This allows proper highlighting of numbers like 1_000_000,
0xFF_AA_BB, and 0b1010_1111 as specified in the Odin language.

>  Numerical literals are written similar to most other programming
>  languages. A useful feature in Odin is that underscores are allowed
>  for better readability: 1_000_000_000 (one billion).
>  https://odin-lang.org/docs/overview/#numbers

closes: #18852

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:36:30 +01:00
Mao-Yining
911ecdcd0e runtime(doc): fix return value in 'exists' and 'exists_compiled()'
closes: #18867

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:33:45 +01:00
Christian Brabandt
f8c550fea0 patch 9.1.1956: tests: test_sort.vim leaves swapfiles behind
Problem:  tests: test_sort.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:28:33 +01:00
Yegappan Lakshmanan
04794efe12 patch 9.1.1955: sort() does not handle large numbers correctly
Problem:  sort() does not handle large numbers correctly
          (Igbanam Ogbuluijah)
Solution: Don't truncate the return value of tv_get_number_chk()
          (Yegappan Lakshmanan)

closes: #18868

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:22:07 +01:00
Yegappan Lakshmanan
f4a299700e patch 9.1.1954: Setting a byte in a blob, accepts values outside 0-255
Problem:  Setting a byte in a blob, accepts values outside 0-255
Solution: When setting a byte in a blob, check for valid values
          (Yegappan Lakshmanan)

closes: #18870

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:13:00 +01:00
Mao-Yining
d30e76389c patch 9.1.1953: gui_mch_set_titlebar_colors() is excessively called
Problem:  gui_mch_set_titlebar_colors() doesn't need to be called when
          'go+=C' is not set.
Solution: Switch the default value to false.

closes: #18872

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-06 10:04:06 +01:00
Josef Litoš
b46cbecb1d runtime(swayconfig): separate identifier groups + cleanup
- cleanup of PR for tearing and other output options
  - removed `allow_tearing` from global keywords (it's only an output option)
  - moved `...clockwise` directives from general to transform options
  - separated `icc` highlight to correctly detect and highlight paths
  - updated output bg to use the same approach as `icc` for file path
- separated all identifier-matchers into their own groups
- added support for bar identifiers

closes: #18851

Signed-off-by: Josef Litoš <54900518+litoj@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 21:10:02 +00:00
Josef Litoš
20d35f9eb9 runtime(i3config): highlight identifiers separately
- mapped all identifier-highlighting groups to a new group `i3ConfigIdent`
- i3config bar is now split into keyword and block matches
- support `xft:` namespace in fonts
- Update maintainer information in i3config.vim

related: #18851

Signed-off-by: Josef Litoš <54900518+litoj@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 21:09:19 +00:00
Christian Brabandt
23f23e611f patch 9.1.1952: tests: need better tests for tf files
Problem:  tests: need better tests for tf files
Solution: Add better filetype test for terraform/tf filetype

closes: #18339

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 21:01:37 +00:00
Doug Kearns
89f422df41 runtime(quarto): add missing loaded guard
closes: #18630

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 20:30:59 +00:00
Rob B
8d8c9074c3 runtime(python): Highlight t-strings
- Highlight t-strings
- Update comments
- Add tests

closes: #18679

Signed-off-by: Rob B <github@0x7e.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 20:25:41 +00:00
Doug Kearns
85fc83f849 runtime(sml): Update syntax, improve special constant matching
- Match \dE\d real literal form
- Match all string escape sequences
- Add related tests

closes: #18723

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 20:21:49 +00:00
D. Ben Knoble
ffc7f8c9da runtime(hog): set undo_ftplugin correctly, delete trailing whitespace
closes: #18727

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 20:15:06 +00:00
zeertzjq
2c164f02c6 patch 9.1.1951: tests: Test_windows_external_cmd_in_cwd() only run in huge builds
Problem:  tests: Test_windows_external_cmd_in_cwd() is only run in huge
          builds (after 9.1.1947).
Solution: Move it to test_system.vim so that it is run in normal builds.

closes: #18853

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 20:10:07 +00:00
Christian Brabandt
05a56aabee patch 9.1.1950: tests: Test_tagjump.vim leaves swapfiles behind
Problem:  tests: Test_tagjump.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 19:27:08 +00:00
Yegappan Lakshmanan
efc7509be2 patch 9.1.1949: :stag does not use 'swichtbuf' option
Problem:  :stag does not use 'swichtbuf' option, though the
          documentation states differently
          (Christian Brabandt)
Solution: Respect 'switchbuf' option (Yegappan Lakshmanan).

related: #18845
closes: #18856

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 19:22:13 +00:00
Peter Kenny
2d54d9934d runtime(doc): Update vim9.txt Section 1
closes: #18855

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-03 19:13:34 +00:00
Christian Brabandt
4d87c9742a patch 9.1.1948: Windows: Vim adds current directory to search path
Problem:  Windows: Vim always adds the current directory to search path.
          This should only happen when using cmd.exe as 'shell'. For
          example, powershell won't run binaries from the current
          directory.
Solution: Only add current directory to system path, when using cmd.exe
          as 'shell'.

related: #10341
related: 083ec6d9a3

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-02 21:46:34 +00:00
Christian Brabandt
083ec6d9a3 patch 9.1.1947: [security]: Windows: Vim may execute commands from current directory
Problem:  [security]: Windows: Vim may execute commands from current
          directory (Simon Zuckerbraun)
Solution: Set the $NoDefaultCurrentDirectoryInExePath before running
          external commands.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-g77q-xrww-p834

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-02 21:22:02 +00:00
Peter Kenny
c0f2d2f140 patch 9.1.1946: Cannot open the help in the current window
Problem:  Cannot open the help in the current window
Solution: Promote the example from tips.txt to a proper package and
          include the helpcurwin package, add tests for it
          (Peter Kenny)

closes: #18840

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-02 20:42:53 +00:00
Christian Brabandt
397ad21268 patch 9.1.1945: tests: Test_getbufwintabinfo() leaves swapfiles behind
Problem:  tests: Test_getbufwintabinfo() leaves swapfiles behind
Solution: Close all open buffers using %bw!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-02 19:59:54 +00:00
Hirohito Higashi
a04ab5f04c patch 9.1.1944: getwininfo() does not return if statusline is visible
Problem:  gewininfo() does not return if statusline is visible
Solution: Add status_height to the dict items returned by
          getwininfo() (Hirohito Higashi)

closes: #18841

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-02 19:58:01 +00:00
Christian Brabandt
c3cfdefdee runtime(doc): clarify the use of v:errormsg
fixes: #18825

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-01 20:02:10 +00:00
zeertzjq
a474de64df patch 9.1.1943: Memory leak with :breakadd expr
Problem:  Memory leak with :breakadd expr
Solution: Free debug_oldval and debug_newval before assigning to them.
          Verify the existing (though confusing) :breakadd expr behavior
          (zeertzjq).

It seems that :breakadd expr doesn't work as documented at all. This PR
only fixes the memory leak. The tests are for the existing behavior.

closes: #18844

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-01 19:43:05 +00:00
CatsDeservePets
cce452f52d runtime(lf): update syntax to support lf version r39
closes: #18846

Signed-off-by: CatsDeservePets <145048791+CatsDeservePets@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-01 18:49:24 +00:00
Doug Kearns
a4c43a6cf5 runtime(vim): Update base syntax, match full :language command
closes: #18808

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:44:36 +00:00
Doug Kearns
e5c5378cd2 patch 9.1.1942: Vim9: Assignment to read-only registers @: and @% is allowed
Problem:  Assignment to read-only registers @: and @% is allowed during
          compilation.
Solution: Abort compilation and emit an E354 error when assigning to
          these registers (Doug Kearns).

Fix the E354 error emitted when attempting to declare @: with :var so
that it references the correct register, @:,  rather than the garbage
string "^@".

closes: #18806

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:26:22 +00:00
Christian Brabandt
791478b30a patch 9.1.1941: tests: Test_execute_register() leaves swapfile behind
Problem:  tests: Test_execute_register() leaves swapfile behind
Solution: Use :bw instead of :close to close the buffer completely

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:22:40 +00:00
Corey Hickey
aa133f8b3e patch 9.1.1940: clipboard registers "+" and "*" synced without "autoselect"
Problem:  clipboard registers "+" and "*" synced without "autoselect"
Solution: Remove code that explicitly syncs those clipboard registers
          (Corey Hickey)

Before this change, writes to '+' get copied to '*', but only under
certain conditions. By default, this does not happen, because clipboard
"autoselect" (via :set clipboard+=autoselect) is enabled. Disabling
"autoselect" (an option which should only apply to visual mode) results
in normal-mode writes such as "+yy also going to the '*' register.

This behavior is undocumented and untested; remove the behavior in order
to make Vim's handling of these two registers be consistent.

This frees up the did_star variable to be removed.

Add a test to check that the registers are independent.

fixes: #18830
closes: #18831

Signed-off-by: Corey Hickey <bugfood-c@fatooh.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:16:16 +00:00
Christian Brabandt
6e9694df10 patch 9.1.1939: tests: test_matchfuzzy() leaves swapfiles behind
Problem:  tests: test_matchfuzzy() leaves swapfiles behind
Solution: Close loaded buffers using "%bw"

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:09:53 +00:00
Corey Hickey
d4f9de889b patch 9.1.1938: tests: excessive wait in Test_matchfuzzy_initialized
Problem:  tests: excessive wait in Test_matchfuzzy_initialized
Solution: Use term_wait() instead of the TermWait() wrapper
          (Corey Hickey)

Test_matchfuzzy_initialized is a terminal test, which are specified to be
"flaky" and automatically retried. The TermWait wrapper multiplies the
specified wait time by higher values for later retries, maxing out at
10x the specified value. This makes tries #3 to #6 sleep for 20 seconds
each, which makes the test very slow to work with. The specified intent
of the test (as noted in a comment eight lines above here) is to
sleep for 2s.

closes: #18822

Signed-off-by: Corey Hickey <bugfood-c@fatooh.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:07:40 +00:00
Corey Hickey
a3925d783a patch 9.1.1937: tests: Test_matchfuzzy_initialized() fails
Problem:  tests: Test_matchfuzzy_initialized() fails
Solution: Send a dummy key (Corey Hickey)

Test_matchfuzzy_initialized seems to expect that the 'lvimgrep' will be
interrupted by sending a SIGINT. If the search finishes beforehand,
though, then the SIGINT triggers vim to tell the user how to quit.

Vim does not show this message immediately, though; instead, vim shows
the message next time it is active. When StopVimInTerminal() sends a key
sequence intended to cause vim to quit, this activates vim to show the
message instead of quitting.

I do not understand every detail of the problem fully--if I type the
characters from StopVimInTerminal() into a post-SIGTERM terminal
directly, that seems to work ok; there seems to be a timing issue due to
sending all the characters at once.

This fix does make the test work reliably for me, and the test still
works even if I limit my CPU frequency so that the search is interrupted
by the SIGINT.

fixes: #18821
related: #18822

Signed-off-by: Corey Hickey <bugfood-c@fatooh.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 15:02:39 +00:00
Jon Parise
b087c5452b patch 9.1.1936: filetype: Erlang lexical files are not recognized
Problem:  filetype: Erlang lexical files are not recognized
Solution: Detect *.xrl files as leex filetype, include syntax and
          filetype plugins (Jon Parise).

leex is the lexical analyzer generator for Erlang. Its input file format
follows a section-based structure and uses the `.xrl` file extension.

This initial work includes file detection, an ftplugin (which inherits
the Erlang configuration), and a syntax definition.

Reference:
-  https://www.erlang.org/doc/apps/parsetools/leex.html

related: #18819
closes: #18832

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Csaba Hoch <csaba.hoch@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 14:45:48 +00:00
Jon Parise
2b2580e61a patch 9.1.1935: filetype: not all Erlang files are recognized
Problem:  filetype: not all Erlang files are recognized
Solution: Detect *.app.src and rebar.config files as erlang filetype
          (John Parise).

*.app.src files contain Erlang application definitions. (There are also
*.app files, which are similar but more often build artifacts, and that
file extension is too ambiguous to be recognized by default.)

Reference:
- https://www.erlang.org/doc/system/applications.html

Rebar is the Erlang build tool. rebar.config uses Erlang syntax.

Reference:
- https://rebar3.org/docs/configuration/configuration/

closes: #18835

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 10:02:45 +00:00
Peter Kenny
8b9b422111 runtime(doc): Update and clarify vim9.txt Section 3
closes: #18779

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 09:40:04 +00:00
Doug Kearns
49f731d243 runtime(doc): Improve :help :catch command specification
The pattern argument is optional.  See :help :sort for another example.

closes: #18834

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-30 09:23:16 +00:00
Christian Brabandt
ab090993ad runtime(netrw): fix undefined variable curwin in s:NetrwMenu()
fixes: #18829

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 22:37:06 +00:00
Bruno Belanyi
3ba6a97fea patch 9.1.1934: filetype: not all starlark files are recognized
Problem:  filetype: not all starlark files are recognized
Solution: Detect *.sky files as starlark filetype (Bruno Belanyi)

References:
- https://docs.bazel.build/versions/0.17.1/skylark/spec.html

closes: #18807

Signed-off-by: Bruno Belanyi <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 20:48:55 +00:00
Rochish Manda
4bb44b287c runtime(doc): Change termdebug_config debug value to v:true in terminal.txt
closes: #18820

Signed-off-by: Rochish Manda <28740792+Rochish-Manda@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 20:42:13 +00:00
Shin Rag
afd46fd9c9 runtime(doc): Correct typo in usr_30.txt regarding softtabstop
Fix typo in explanation of softtabstop and shiftwidth.

closes: #18823

Signed-off-by: Shin Rag <62047911+aquanjsw@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 20:37:16 +00:00
Mao-Yining
7f60105cba runtime(doc): fix typo in "appendbufline()", builtin.txt
closes: #18824

Signed-off-by: Mao-Yining <101858210+mao-yining@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 20:34:38 +00:00
C.D. MacEachern
bc1a82245c runtime(defaults): Update comment for reverting C comment strings
Add `g:` prefix, so the example works in vim9script as well (errors
without it).

closes: #18827

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com>
2025-11-28 20:25:41 +00:00
Paul Ollis
9ade3f5894 runtime(doc): Clarification in listener_add() doc
Make it clear that the overall end value can be greater than
line('$') + 1.

fixes: #18664
closes: #18828

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 20:21:29 +00:00
Girish Palya
cbcbff8712 patch 9.1.1933: completion: complete_match() is not useful
Problem:  completion: complete_match() Vim script function and
          'isexpand' option are not that useful and confusing
          (after v9.1.1341)
Solution: Remove function and option and clean up code and documentation
          (Girish Palya).

complete_match() and 'isexpand' add no real functionality to Vim. They
duplicate what `strridx()` already does, yet pretend to be part of the
completion system. They have nothing to do with the completion mechanism.

* `f_complete_match()` in `insexpand.c` does not call any completion code.
   It’s just a `STRNCMP()` wrapper with fluff logic.
* `'isexpand'` exists only as a proxy argument to that function.
   It does nothing on its own and amounts to misuse of a new option.

The following Vim script function can be used to implement the same
functionality:

```vim
  func CompleteMatch(triggers, sep=',')
    let line = getline('.')->strpart(0, col('.') - 1)
    let result = []
    for trig in split(a:triggers, a:sep)
      let idx = strridx(line, trig)
      if l:idx >= 0
        call add(result, [idx + 1, trig])
      endif
    endfor
    return result
  endfunc
```

related: #16716
fixes: #18563
closes: #18790

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-27 21:28:05 +00:00
Foxe Chen
c531501748 patch 9.1.1932: OSC terminal response hard to detect
Problem:  OSC terminal response hard to detect
Solution: Add the <OSC> and <xOSC> pseudo keys
          (Foxe Chen).

related: #18660
closes: #18799

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-27 20:53:36 +00:00
zeertzjq
b217ffbef2 runtime(doc): remove outdated help about 'completeopt' "fuzzy"
closes: #18815

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-27 20:27:13 +00:00
Christian Brabandt
1b51fd5eb5 translation: regenerate po/vim.pot after v9.1.1930
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-27 20:25:22 +00:00
Girish Palya
057ea1232a patch 9.1.1931: completion: wrong item selected with fuzzy and noinsert
Problem:  completion: wrong item selected with fuzzy and noinsert
          (Evgeni Chasnovski)
Solution: Reset selected item after fuzzy sort
          (Girish Palya)

fixes: #18802
closes: #18816

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-27 20:20:38 +00:00
Girish Palya
33fbfe003c patch 9.1.1930: completion: 'completefuzzycollect' is too obscure
Problem:  completion: 'completefuzzycollect' option is too obscure
Solution: Deprecate the option, but don't error out for existing scripts,
          behave like 'completefuzzycollect' is set when fuzzy
          completion is enabled (Girish Palya).

fixes: #18498
closes: #18788

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-26 21:00:16 +00:00
Robertus Chris
25a736e323 runtime(i3config/swayconfig): add all option for i3config only
Since i3 version 4.24, popup_during_fullscreen has new
option `all`. So add the `all` option for popup_during_fullscreen to
prevent `all` option highlighted as error.

However, sway won't implement `all` option for popup_during_fullscreen,
so let's remove the extra options from the syntax cluster in swayconfig
syntax script after sourcing the i3config.

Reference:
- https://i3wm.org/docs/userguide.html#_popups_during_fullscreen_mode
- https://github.com/swaywm/sway/issues/8746

closes: #18760

Signed-off-by: Robertus Chris <robertusdchris@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-26 20:37:09 +00:00
Maxim Kim
0e1ab0adb8 patch 9.1.1929: completion: spell completion wrong with fuzzy
Problem:  completion: spell completion wrong with fuzzy
Solution: Disable fuzzy sort for spell completion
          (Maxim Kim)

fixes #18800
closes: #18809

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-26 20:23:44 +00:00
Brent Pappas
712b650332 runtime(doc): Fix typo in "Jumping to Changes", usr_08.txt
- Change "Prepended" (past tense) to "Prepend" (present tense,
  imperative).
- Add short examples clarifying the behavior of prepending a count to
  commands that jump to changes in diff mode.

closes: #18810

Signed-off-by: Brent Pappas <pappasbrent@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-26 20:12:28 +00:00
Foxe Chen
ef8588f8ea CI: retire socketserver runner
closes: #18811

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-26 20:06:03 +00:00
Stefan Haubenthal
40699e3990 patch 9.1.1928: xxd: exit_with_usage() can be simplified
Problem:  xxd: exit_with_usage() can be simplified
Solution: Clean up exit_with_usage() formatting slightly
          (Stefan Haubenthal)

closes: #18813

Signed-off-by: Stefan Haubenthal <polluks@sdf.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-26 20:02:16 +00:00
Foxe Chen
efa3b1f86d patch 9.1.1927: Wayland: clipboard code too complex
Problem:  Wayland: clipboard code too complex
Solution: Simplify clipboard related code around W23/W24
          (Foxe Chen).

Improve Wayland and clipboard related code:

- improve documentation
- remove unused code
- fix error handling
- remove warning per Clipboard_T

closes: #18794

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-25 22:04:58 +00:00
dependabot[bot]
c11fbe51e6 CI: Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

closes: #18803

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-25 21:50:30 +00:00
Philip H.
23d4e496f6 Update link to XDG base specification in option.c comment
closes: #18789

Co-authored-by: dkearns <dougkearns@gmail.com>
Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-23 19:35:12 +00:00
Alex Plate
2190036c8c runtime(doc): Add environment variable expansion note to options
Add "Environment variables are expanded |:set_env|" documentation to
options that have the P_EXPAND flag but were missing this note.

Updated options:
- 'cdpath'
- 'dictionary'
- 'mkspellmem'
- 'packpath'
- 'runtimepath'
- 'spellfile'
- 'spellsuggest'
- 'thesaurus'
- 'ttytype'
- 'undodir'
- 'verbosefile'
- 'viewdir'
- 'viminfofile'

These options support environment variable expansion in their values
(e.g., $HOME, $USER) but the documentation didn't explicitly mention
this capability. This brings their documentation in line with other
options like backupdir, directory, and makeprg that already include
this note.

closes: #18791

Signed-off-by: Alex Plate <AlexPl292@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-23 19:30:19 +00:00
Yee Cheng Chin
cf7c0038a4 patch 9.1.1926: xdiff: Coverity warning with MAX_CNT/UINT_MAX usage
Problem:  xdiff: Coverity warning with MAX_CNT/UINT_MAX usage
          (after v9.1.1921)
Solution: Replace XDL_MIN macro to a manual check.
          (Yee Cheng Chin)

In the recent xdiff upstream sync (#18765), MAX_CNT in xhistogram was
switched back to using UINT_MAX to match upstream. This exposed an issue
in xdiff that using using min() to compare against the max integer will
not work as the number will just overflow. Switch the check to be done
in a saturating add that respects integer overflow.

related: #18765
closes: #18792

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-23 19:24:10 +00:00
zeertzjq
898ac80be6 runtime(new-tutor): update vim-02-beginner following 48940d9
closes: #18793

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-23 19:19:35 +00:00
Hirohito Higashi
24af3eca68 patch 9.1.1925: make depend does not include osdef.h
Problem:  make depend does not add osdef.h for the dependencies
          (Drew Vogel)
Solution: Move ifdef PROTO (Hirohito Higashi).

fixes: #18777
closes: #18796

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-23 18:43:25 +00:00
Victorhck
48940d94f6 runtime(tutor): Improve style for chapter 2
closes: #18786

Signed-off-by: Victorhck <victorhck@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-21 18:46:27 +00:00
Victorhck
58fafb6549 runtime(tutor): Add Spanish translation for chapter 2
related: #18786

Signed-off-by: Victorhck <victorhck@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-21 18:45:21 +00:00
Victorhck
9cd512c7f5 runtime(tutor): Improve Spanish translation of chapter 1
related: #18786

Signed-off-by: Victorhck <victorhck@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-21 18:43:43 +00:00
Doug Kearns
ea14bb7df9 runtime(haskell): Add syntax test
Add a test for issue #18776 (allow spaces in backticked operators).

closes: #18783

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-21 18:22:37 +00:00
Doug Kearns
8da886269a runtime(vim): Update base syntax, match full :history command
closes: #18784

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-21 18:18:51 +00:00
Doug Kearns
e5ab63a066 CI: Fix triage labelling of maintainer runtime files
A directory name alone does not generate matches for its contents.

closes: #18785

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-21 18:16:15 +00:00
Doug Kearns
a08030c9f7 patch 9.1.1924: 'commentstring' requires +folding feature
Problem:  'commentstring' requires the +folding feature but is used in
	  contexts other than folding.
Solution: Remove the +folding feature guards from 'commentstring' and
          make it available in all builds (Doug Kearns).

closes: #18731

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 21:16:48 +00:00
Doug Kearns
2447131e00 patch 9.1.1923: wrong error when assigning to read-only register
Problem:  When assigning to @. in a :let command an incorrect "E15"
          error is emitted.
Solution: Emit the correct "E354" error. (Doug Kearns).

An incorrect "E488" error was also emitted in Vim9 script assignments.

It appears that the code deleted in this commit was added to work around
a limitation in the returned value from find_name_end() that no longer
exists.

See commit 76b92b2830 (tag: v7.0b).

closes: #18757

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:59:10 +00:00
Doug Kearns
ea86e53c2b runtime(vim): Update base syntax, match :debug and :break* commands
Match full :debug, :breakadd, :breakdel and :breaklist commands.

closes: #18748

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:57:15 +00:00
Konfekt
74b4f9242e runtime(compiler): set errorformat where missing
As a matter of caution it sets it to the default gcc errorformat:

```
errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-Gg%\?make[%*\d]: *** [%f:%l:%m,%-Gg%\?make: *** [%f:%l:%m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%*\d]: Entering directory %*[`']%f',%X%*\a[%*\d]: Leaving directory %*[`']%f',%D%*\a: Entering directory %*[`']%f',%X%*\a: Leaving directory %*[`']%f',%DMaking %*\a in %f,%f|%l| %m
```

so that the compiler keeps working after switching to others.

While likely only a subset is needed; such a subset has been proposed in
a commented errorformat;

checked to work for yamllint but ran out of steam for other compilers;

closes: #18754

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:54:31 +00:00
John Wellesz
d1288503aa runtime(php): Update indent script to 1.76 (from 1.75)
fixes: #18739 (editor hang on mixed syntax style)
closes: #18758

Signed-off-by: John Wellesz <john.wellesz@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:50:54 +00:00
Mirek Kratochvil
ddb88ab796 runtime(haskell): allow spaces in backticked operators in syntax script
This formatting (although rare) is actually accepted by GHC, but vim
does not highlight it. This patch adds the simplest possible regex to
support the behavior.

Inconveniently, this might trigger weird formatting on lines that
contain errors, e.g. if the first backtick is removed from:

    a `b` c `d` e

then `c` is going to be marked as an operator, which seems weird but is
valid.

closes: #18776

Signed-off-by: Mirek Kratochvil <exa.exa@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:47:01 +00:00
zeertzjq
d434f6c2a5 patch 9.1.1922: Wrong virtcol('$') with virtual text at EOL
Problem:  Wrong virtcol('$') with virtual text at EOL (rickhowe).
Solution: Also add 1 to end virtcol when there is virtual text.
          (zeertzjq)

fixes: #18761
closes: #18762

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:35:12 +00:00
Yee Cheng Chin
6aac706232 patch 9.1.1921: xdiff: included xdiff code is outdated
Problem:  xdiff: included xdiff code is outdated because it is based on
          git 2.40.0
Solution: Sync with xdiff from git 2.52 (Yee Cheng Chin).

Git [v2.52](https://github.com/git/git/releases/tag/v2.52.0) has just been
released. Merge from upstream to get the latest version of xdiff. Vim's xdiff
was last updated in #12181 (Patch v9.0.1418) from Git v2.33 to v2.40.

I have refined the strategy for merging from upstream a bit compared to last
time. I use the following commands to create an orphaned branch that extracts
the before/after xdiff source code from the Git codebase, and then perform a
subtree merge. The commits in the orphaned branch are reproducible
deterministically so a reviewer can reproduce the steps and it should result in
identical commit hashes (63264f229d and d741f0e230). The commands are as
follows (you could run in a separate Vim repo to keep things clean):

```bash
git remote add --no-tags git https://github.com/git/git.git
git fetch git

git switch --orphan xdiff-orig
git read-tree --reset -u 73876f4861:xdiff/  # Git v2.40.0
git rm -f xmerge.c                          # Vim doesn't use xmerge
(GIT_COMMITTER_NAME="dummy" GIT_COMMITTER_EMAIL="dummy" GIT_COMMITTER_DATE="1600000000 +0000" \
  git commit --no-gpg-sign --reuse-message=73876f4861)

git switch -c xdiff-new
git read-tree --reset -u 9a2fb147f2:xdiff/  # Git v2.52.0
git rm -f xmerge.c
(GIT_COMMITTER_NAME="dummy" GIT_COMMITTER_EMAIL="dummy" GIT_COMMITTER_DATE="1600000000 +0000" \
  git commit --no-gpg-sign --reuse-message=9a2fb147f2)

git switch master
git switch -c xdiff-upstream-v2.52.0
git merge -s ours --no-edit --allow-unrelated-histories xdiff-orig
git merge -Xsubtree=xdiff xdiff-new
```

The commit graph looks like so:

```
* a005e268bd 2025-11-17 17:11:26 Yee Cheng Chin (HEAD -> xdiff-upstream-v2.52.0) Update xdiff README
*   d353c6f2c8 2025-11-17 16:26:15 Yee Cheng Chin Merge branch 'xdiff-new' into xdiff-upstream-v2.52.0
|\
| * d741f0e230 2025-11-17 07:35:33 Junio C Hamano (xdiff-new) Git 2.52
* | c4f8b15dd9 2025-11-17 16:22:30 Yee Cheng Chin Merge branch 'xdiff-orig' into xdiff-upstream-v2.52.0
|\|
| * 63264f229d 2023-03-12 14:34:41 Junio C Hamano (xdiff-orig) Git 2.40
* 6437997d83 2025-11-16 18:30:42 Girish Palya   (tag: v9.1.1918, origin/master, origin/HEAD, master) patch 9.1.1918: completion: crash with fuzzy completion
```

For reviewing I recommend using the following commands which simplifies the diff to only what we care about:
- `git show --remerge-diff d353c6f2c8`: This shows how my merge actually
  resolved the merge conflicts.
- `vimdiff <(git diff-tree -U0 63264f229d master:src/xdiff/) \
   <(git diff-tree -U0 d741f0e230 xdiff-upstream-v2.52.0:src/xdiff) \
   -c "silent windo %s/^index.*/index/" \
   -c "silent windo %s/^@@ [-+, 0-9]* @@/@@/"`:
This shows how the patch (downstream changes done in Vim on top of Git) has
changed. Note that some local changes for fixing compiler warnings are now gone
because they are fixed upstream.

- d39e28e68c
  added a dependency (`signed_add_overflows`) to Git code base. I replaced it
  with a custom one since it's not hard to implement.
- Upstream had fixed a lot of compiler warnings with signed/unsigned integers,
  so the compiler warning fixes that were done in Vim downstream were removed.
- Replace new `BUG()` calls with `xdl_bug()` where we use Vim's assertion
  mechanisms instead.

- Performance improvement due to optimizations in the line hashing function
  (41d97837ab and
   a4bbe8af0b).
  - From personal unscientific testing (Apple M1 Max, macOS 15), when using the
    new xdiff, for simple/normal diff's this could result in **11%/29%** overall
    diff speed improvement. For larger more pathologically complicated diff this
    results in a more modest **4%/7%** improvement.
  - The two improvement numbers above are for compiling Vim with `-O3 -flto` vs
    `-O2`. The more optimized version of Vim results in lower performance
    improvement as it was already doing inlining via link-time-optimization
    before.
  - Just for reference, the command I used to test this was the following (use
    either test case and comment out the other one):
    ```bash
    # Simple/normal diff test case
    (COMMIT=0d9160e11ce; git show ${COMMIT}:src/diff.c > test1.txt; git show ${COMMIT}~:src/diff.c > test2.txt)
    # Larger diff test case
    (COMMIT=9670f61d468; git show ${COMMIT}:src/auto/configure > test1.txt; git show ${COMMIT}~:src/auto/configure > test2.txt)

    # Build Vim with old/new xdiff, then copy ./src/vim to ./src/vim_orig / ./src/vim_new respectively.
    hyperfine --warmup 4 --runs 20 -L vimcmd vim_orig,vim_new \
        "./src/{vimcmd} -u NONE -U NONE -es -V1 -c \"let g:f1=readfile('test1.txt')\" -c \"let g:f2=readfile('test2.txt')\" -c \"for i in range(1,200) | call diff(g:f1, g:f2) | endfor\" -c 'q'"
    ```

closes: #18765

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 20:21:49 +00:00
zeertzjq
eb33c2eb28 patch 9.1.1920: tests: not enough testing for wildtrigger() pum redrawing
Problem:  tests: not enough testing for wildtrigger() pum redrawing.
Solution: Also test redrawing when leaving cmdline mode (zeertzjq).

closes: #18773

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 19:52:18 +00:00
Philip H.
55c65c3e40 CI: Switch to macOS 26 runner
closes: #18775

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-20 19:50:00 +00:00
Harry
7fe4b8c1bd runtime(c): Update signal constants in syntax script
closes: #18763

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Harry <166658338+harrystevens4@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-18 20:50:39 +00:00
Hirohito Higashi
ed4af756c2 patch 9.1.1919: tabpanel: cannot handle mouse clicks in command line
Problem:  tabpanel: cannot handle mouse clicks in command line
          (char101, after v9.1.1898)
Solution: Update the condition that checks if the mouse pointer is on
          the command line (Hirohito Higashi)

closes: #18771

Co-authored-by: Charles <char101@ui.ac.id>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-18 20:10:14 +00:00
Miguel Barro
040a47a470 runtime(netrw): Use proper UNC notation for temp files
closes: #18764

Signed-off-by: Guybrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-18 20:06:06 +00:00
Konfekt
c2cc63ec7d runtime(compiler): expand errorformats in maven compiler
matches malformed POM error messages and tries to catch other tools
as well.

closes: #18768

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-18 19:49:01 +00:00
Doug Kearns
d284277be9 runtime(doc): Remove :runtime completion (#11447) todo item
This was fixed in commit a6759381a5.

closes: #18769

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-18 19:44:16 +00:00
Girish Palya
6437997d83 patch 9.1.1918: completion: crash with fuzzy completion
Problem:  completion: crash with fuzzy completion
          (Christian Brabandt)
Solution: When completion candidates are gathered from a different
          window, and when completing `<c-p>`, linked list should be
          sorted only after all items are collected (Girish Palya).

fixes: #18752
closes: #18756

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-16 18:30:42 +00:00
Antonio Giovanni Colombo
4b4a893614 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-16 17:31:43 +00:00
Yegappan Lakshmanan
a650485ed5 patch 9.1.1917: Vim9: incorrect type inference with mkdir()
Problem:  Vim9: incorrect type inference with mkdir()
          (dezza)
Solution: Before compiling a RHS expression in an assignment, save the
          new local variable contents (Yegappan Lakshmanan)

fixes: #18751
closes: #18751

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-15 17:41:28 +00:00
Christian Brabandt
61b73b89a3 patch 9.1.1916: WinEnter autocommand confuses Vim when closing tabpage
Problem:  WinEnter autocommand may confuse Vim when closing tabpage
          (hokorobi)
Solution: Verify that curwin did not change in close_others()

fixes: #18722
closes: #18733

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-15 17:32:50 +00:00
Konfekt
fb8ebf1ee0 runtime(compiler): Remove version check in rustc compiler
closes: #18347

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-15 17:18:41 +00:00
Konfekt
d0dd5614db runtime(compiler): add biome linter
closes: #18685

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-15 10:39:57 +00:00
Doug Kearns
f46616f0c4 runtime(vim): Update base syntax and generator, match :cd commands
Match :cd commands explicitly.

fixes: #17964
closes: #18736

Reported by Maxim Kim.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-15 10:17:17 +00:00
Doug Kearns
de7049ede1 patch 9.1.1915: :breaklist accepts unprocessed arguments.
Problem:  :breaklist accepts unprocessed arguments.
Solution: Remove EX_EXTRA flag from the Ex command definition.
          (Doug Kearns)

The command should emit an "E488: Trailing characters" error rather than
silently accept arguments.

closes: #18746

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-15 10:13:25 +00:00
Andrey Starodubtsev
d5821638e2 runtime(new-tutor): escape tutor filename
If Vim is installed into the Windows "Program Files" directory the tutor
path name contains spaces and must therefore be quoted before passing to
:drop.

closes: #18742

Signed-off-by: Andrey Starodubtsev <andrey.starodubtsev@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-13 21:49:20 +00:00
Christian Brabandt
384685fade patch 9.1.1914: runtime(netrw): wipes unnamed buffers
Problem:  runtime(netrw): LocalBrowseCheck() wipes unnamed buffers when
          g:netrw_fastbrowse=0 (Carlos Falgueras García)
Solution: Check that bufname() is not empty

fixes: #18740
closes: #18741

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-13 21:11:51 +00:00
Christian Brabandt
b8119920eb patch 9.1.1913: Error message with :unlet! and non-existing dictionary item
Problem:  Error message with :unlet! and non-existing dictionary item
          (Coacher)
Solution: Set GLV_QUIET when using unlet with bang attribute

fixes: #18516
closes: #18734

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-13 21:06:43 +00:00
Doug Kearns
eb732ed26d runtime(doc): Wrap overlength lines in uganda.txt
Wrap overlength lines and normalise URL indentation.

closes: #18737

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-13 21:01:42 +00:00
Doug Kearns
8644c3b7e6 runtime(help): Update syntax, match tables at :help :digraph-table
Match the digraph tables to avoid false positive matches for helpSpecial
etc.  No syntax groups should match in these tables.

closes: #18738

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-13 20:59:44 +00:00
Christian Brabandt
8cb4505ec6 patch 9.1.1912: tests: test_plugin_comment fails
Problem:  tests: test_plugin_comment fails, because it depends on nroff
          filetype for .mom file (after v9.1.1909)
Solution: Explicitly set filetype to nroff

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 21:34:52 +00:00
Christian Brabandt
c44e5ae529 patch 9.1.1911: build failure on Solaris with gcc 5
Problem:  build failure on Solaris Sparc with gcc 5
          (idgn23, after v9.1.1736)
Solution: Correctly initialize the key_name variable.

fixes: #18693

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 20:04:18 +00:00
Aliaksei Budavei
d667946928 patch 9.1.1910: tests: test failures in Test_term_gettitle() in CI
Problem:  tests: test failures in Test_term_gettitle() in CI
Solution: CI: Allow for title buffering in Test_term_gettitle()
          (Aliaksei Budavei)

closes: #18693

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 19:49:00 +00:00
Callum Andrew
23e12c0b7e patch 9.1.1909: filetype: .mom files recognized as nroff files
Problem:  filetype: .mom files recognized as nroff files
Solution: Detect *.mom files as groff filetype instead
          (Callum Andrew)

Reference:
- mom macros are written specifically for groff:
  https://www.schaffter.ca/mom/

closes: #18718

Signed-off-by: Callum Andrew <dev@candrew.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 19:45:41 +00:00
Vadim Yanitskiy
e9d296e52a runtime(erlang): recognize -if/-elif as erlangPreCondit in syntax script
The -if(Condition)/-elif(Condition) are compiler macros that evaluate
the following lines only if Condition evaluates to true.  This patch
enables syntax highlighting for these macros.

https://www.erlang.org/doc/system/macros.html#conditional-compilation

closes: #18729

Signed-off-by: Vadim Yanitskiy <fixeria@osmocom.org>
Signed-off-by: Csaba Hoch <csaba.hoch@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 19:36:46 +00:00
Doug Kearns
9ab6a22c90 runtime(doc): Improve :help :ls description formatting
Quote the special buffer names for consistency (see :help bufname()) and
so that they're not incorrectly highlighted as optional command
arguments.

closes: #18730

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 19:33:01 +00:00
Doug Kearns
4f19d2768a runtime(vim): Update base syntax, match :prompt command args
closes: #18732

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-12 19:17:11 +00:00
Christian Brabandt
89f0a3a574 patch 9.1.1908: tests: test_crash.vim times out in CI ASAN builds
Problem:  tests: test_crash.vim times out in CI ASAN builds
Solution: Increase timeout for ASAN or Valgrind runs

closes: #18725

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 18:06:31 +00:00
Neil Lambert
f85951fee0 runtime(css): improve cssBoxProp matches
closes: #18717

Signed-off-by: Neil Lambert <nlambert@pm.me>
Signed-off-by: Jay Sitter <jsit@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 18:01:31 +00:00
notuxic
7dd51d3542 patch 9.1.1907: xterm: no support for mouse buttons 8 and 9
Problem:  xterm: no support for mouse buttons 8 and 9
Solution: Add support for terminals with xterm-like mouse functionality
          (notuxic)

closes: #18719

Signed-off-by: notuxic <notuxic@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 17:52:45 +00:00
botantony
efc3be77bb patch 9.1.1906: filetype: not all Ruby files are recognized
Problem:  filetype: not all Ruby files are recognized
Solution: Detect *.rbi and Brewfile as ruby filetype
          (botantony).

- `rbi` is a file extension used by Sorbet, typechecker for Ruby:
   https://sorbet.org/docs/rbi

- `Brewfile` is a bundler file for Homebrew package manager:
   https://docs.brew.sh/Brew-Bundle-and-Brewfile

closes: #18697

Signed-off-by: botantony <antonsm21@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 17:26:02 +00:00
Hirohito Higashi
1ff3e701e4 patch 9.1.1905: tabpanel: truncates terminal output
Problem:  tabpanel: truncates terminal output
          (hokorobi)
Solution: Use topframe->fr_width, not Columns (which includes the
          tabpanel width) (Hirohito Higashi)

related: #18678
closes: #18707

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 17:20:13 +00:00
Christian Brabandt
b74ec159dd runtime(sqlcomplete): only set 'omnifunc' if dbext plugin was loaded
fixes: #18716

Co-authored-by: gcanat <72149218+gcanat@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 17:13:44 +00:00
Doug Kearns
97c37446e6 runtime(doc): Wrap some overlength lines in vim9{,class}.txt.
closes: #18724

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 16:47:24 +00:00
Doug Kearns
fe24972139 runtime(vim): Update base syntax, refine object constructor matching
Match "object" and "<" ... ">" separately with dedicated syntax groups
to allow for highlighting distinct from that generally used for types.

closes: #18721

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-11 16:37:09 +00:00
Peter Kenny
54cc820129 runtime(doc): Update Section 4 of vim9.txt
closes: #18610

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 20:29:08 +00:00
tocariimaa
d3bef6cf3f runtime(sml): Fix number regex in syntax script
closes: #18690

Signed-off-by: tocariimaa <tocariimaa@pissmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 20:13:35 +00:00
Drew Vogel
1b92b278ba patch 9.1.1904: Code still supports GTK2 versions older than 2.4
Problem:  Code still supports GTK2 versions older than 2.4.
Solution: Drop support for GTK2 < 2.4 (Drew Vogel)

closes: #18708

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 20:04:37 +00:00
Drew Vogel
d32a26550b patch 9.1.1903: GTK naming still reflects GTK1 support
Problem:  GTK naming still reflects GTK1 support
Solution: Rename to avoid confusion (Drew Vogel)

related: #18708

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 20:01:04 +00:00
Drew Vogel
20ccdc7e50 patch 9.1.1902: GTK fails to compile with !FEAT_PROP_POPUP
Problem:  GTK fails to compile with !FEAT_PROP_POPUP
Solution: Correct syntax under #ifdef
          (Drew Vogel)

related: #18708

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 19:58:31 +00:00
Doug Kearns
e1e347475e runtime(vim): Update base syntax, fix :augroup error matching
Only terminate the :augroup END argument at whitespace, comments and
trailing bars.

closes: #18711

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 19:50:57 +00:00
Doug Kearns
acf928a33b runtime(doc): Improve windows.txt formatting
- Wrap some overlength lines
- Highlight the example at :help WinScrolled-event

closes: #18713

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-10 19:45:32 +00:00
Christian Brabandt
aa9862a5b0 patch 9.1.1901: tests: test_vim9_generics fails without job feature
Problem:  tests: test_vim9_generics fails when built without the job or
          channel feature (lazypingu)
Solution: Skip test if job/channel feature is not available

fixes: #18702

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-09 19:39:22 +00:00
Doug Kearns
542746521f runtime(doc): Clean up file header whitespace
- :retab! line 1 and line 4 (main page heading).
- Use four columns whitespace before "by [Author]" in the user manual
  heading to match the reference manual formatting.
- double space headings.

closes: #18648

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-09 19:23:50 +00:00
Doug Kearns
8869800f70 runtime(vim): Update base syntax, match :*do command arg
Match the Ex command arg to all :*do commands.

closes: #18700

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-09 18:59:52 +00:00
Jesse Portnoy
a795aab885 runtime(spec): Add support for more tags and distributions
- specMacroIdentifier: support macros starting with '?'; the most common
  example is `%{?dist}`
- specPreAmble: added some missing tags from:
  https://rpm.org/docs/4.19.x/manual/spec.html
- Added support for: `fedora`, `rhel`, `rocky`, `rhl`, `centos`, `el\d`
  and `fc\d`, see https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag

closes: #18703

Signed-off-by: Jesse Portnoy <jesse.portnoy@perforce.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-09 18:57:34 +00:00
Doug Kearns
59f0ea5b3e runtime(vim): Update base syntax, match Vim9 object type constructor
fixes: #18677.
closes: #18691

Reported by Aliaksei Budavei.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-08 17:23:47 +00:00
Hirohito Higashi
47c30bb03a patch 9.1.1900: tabpanel: wrong condition after v9.1.1898
Problem:  tabpanel: wrong condition after v9.1.1898
Solution: Update condition (Hirohito Higashi)

related: #18678
closes: #18692

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-08 17:20:55 +00:00
Doug Kearns
185cec2b09 runtime(doc): Rewrite some overlength lines
closes: #18695

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-08 17:19:34 +00:00
Doug Kearns
a3063f2f90 runtime(doc): Wrap some overlength lines in the user manual
closes: #18696

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-08 17:18:16 +00:00
Doug Kearns
c28b73d349 runtime(doc): Improve :help synconcealed() description
closes: #18698

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-08 17:16:41 +00:00
Hirohito Higashi
ef02336915 patch 9.1.1899: tabpanel: getcmdscreenpos() wrong when tabpanel is shown
Problem:  tabpanel: getcmdscreenpos() wrong when tabpanel is shown
Solution: Adjust f_getcmdscreenpos() and add cmdline_col_off
          (Hirohito Higashi)

related: #18678
closes: #18699

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-08 17:12:57 +00:00
Hirohito Higashi
cf4d9625c6 patch 9.1.1898: tabpanel: inconsistent use of cmdline with tabpanel
Problem:  tabpanel: inconsistent use of cmdline and message area with
          tabpanel
Solution: Reduce the cmdline and message area by the horizontal size of
          the tabpanel (Hirohito Higashi)

closes: #18678

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-06 20:23:36 +00:00
Luke Lollard
24e4fa1603 patch 9.1.1897: Mac: Build failure on Mac OS X 10.6
Problem:  Mac: Build failure on Mac OS X 10.6 due to the use of generics
          for the sound feature.
Solution: Use the simple, non-generic Objective-C version.
          (Luke Lollard)

fixes: #17678
closes: #18681

Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Luke Lollard <haihige@protonmail.ch>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-06 20:04:38 +00:00
Konfekt
84baba329a runtime(compiler): do not override &l:makeprg on :compiler!
closes: #18686

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-06 19:47:36 +00:00
tocariimaa
7dfdc7f6cb runtime(sml): add filetype plugin, move options from indent to ftplugin
closes: #18680

Signed-off-by: tocariimaa <tocariimaa@pissmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-05 20:51:35 +00:00
Christian Brabandt
461dd9aca6 runtime(vim): 'iskeyword' setting not correctly restored
fixes: #18673

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-04 18:13:55 +00:00
Christian Brabandt
1ead1b51e1 patch 9.1.1896: tests: patch v9.1.1895 breaks CI
Problem:  tests: patch v9.1.1895 breaks CI, by failing screen dump tests
          test_listlbr_utf8, test_diffmode and test_cmdline
Solution: Revert it

Revert "patch 9.1.1895: OSC terminal response hard to detect"
This reverts commit 8707b7a15b.

related: #18660

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-02 15:25:18 +00:00
Christian Brabandt
213109a999 runtime(doc): clarify W11 warning and possible options
fixes: #18589

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 17:07:16 +00:00
Foxe Chen
8707b7a15b patch 9.1.1895: OSC terminal response hard to detect
Problem:  OSC terminal response hard to detect
Solution: Add the <OSC> and <xOSC> pseudo keys
          (Foxe Chen)

closes: #18660

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 16:28:52 +00:00
Christian Brabandt
7c418c75a4 patch 9.1.1894: global_runtime_dir appends /after directory when using XDG
Problem:  global_runtime_dir appends /after directory when using XDG
          configuration directory (Marius Gedminas).
Solution: Do not append /after to RUNTIME_GLOBAL_AFTER.

closes: #18663
closes: #18665

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 16:20:10 +00:00
Christian Brabandt
0405665638 patch 9.1.1893: ICCF charity will dissolve
Problem:  ICCF charity will dissolve
Solution: Update references to Kuwasha

Since the ICCF[1] will be dissolved and handing over to the Kuwasha charity
to continue supporting the Kibaale Children Center in Uganda, update the
uganda.txt help file.

[1]: https://groups.google.com/g/vim_announce/c/pUNbNXBLbKw/m/-zFUd4JjAQAJ

fixes: #18584
closes: #18667

Signed-off-by:
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 16:15:39 +00:00
Evgeni Chasnovski
294bce21ee patch 9.1.1892: Not possible to know once Vim is done with sourcing vimrc
Problem:   A plugin does not know when startup scripts were already
           triggered. This is useful to determine if a function is
           called inside vimrc or after (like when sourcing 'plugin/'
           files).
Solution:  Add the v:vim_did_init variable (Evgeni Chasnovski)

closes: #18668

Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 15:54:35 +00:00
Mohammad Reza Karimi
fe71c56d8f runtime(netrw): NetrwChgPerm for files not in cwd
Problem:  Changing permissions fail when using `gp` if the file under
          the cursor is not in the current working directory.
Solution: Use the already available `a:curdir` argument and prepend it
          to the `<cfile>`, so that the path of the file is correct.

This commit also refactors some leftover `netrw#ErrorMsg` to
`netrw#msg#Notify` (the main refactoring was done in
f5e3b5c04f).

closes: #18674

Signed-off-by: Mohammad Reza Karimi <m.r.karimi.j@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 15:46:04 +00:00
Mao-Yining
28f7582c16 runtime(log): syntax file update
closes: #18675

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 15:42:32 +00:00
Hirohito Higashi
07da26710a runtime(doc): Fix a few typos
closes: #18676

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-01 15:24:12 +00:00
varsidry
adc85151f3 patch 9.1.1891: g<End> does not move to last non-blank in visual mode
Problem:  In visual mode, g<End> does not move to the last non-blank
          character when the end of a line is on the same line as the
          cursor (after v9.0.1753)
Solution: Move the cursor back by one position if it lands after the
          line (varsidry)

fixes: #18657
closes: #18658

Signed-off-by: varsidry <240319857+varsidry@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-31 16:16:11 +00:00
Christian Brabandt
958393b0b4 translation: regenerate po/vim.pot after 73a0de4a04
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-31 09:16:19 +00:00
zeertzjq
73a0de4a04 patch 9.1.1890: %P in 'statusline' doesn't behave as documented
Problem:  %P in 'statusline' doesn't behave as documented
          (after 9.1.1479).
Solution: Make the percentage 3-chars wide when not translated.
          (zeertzjq)

fixes: #18669
closes: #18671

Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-31 09:10:05 +00:00
Samuel Huang
69dd5906fd patch 9.1.1889: filetype: not all AppleScript files are recognized
Problem:  filetype: not all AppleScript files are recognized
Solution: Detect *.applescript files as applescript filetype
          (Samuel Huang)

Reference:
https://en.wikipedia.org/wiki/AppleScript

closes: #18672

Signed-off-by: Samuel Huang <hi@sgh.ng>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-31 09:03:04 +00:00
Aliaksei Budavei
4105ef16e3 Drop superfluous execute permissions for readable files
- runtime/ftplugin/plsql.vim (42e498)
- runtime/pack/dist/opt/editorconfig/LICENSE.PSF (e5e043)
- src/po/check.vim (96dab9)
- src/po/it.po (bb0d3b)

closes: #18666

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-30 19:05:03 +00:00
Christian Brabandt
8f551a70ad runtime: regenerate helptags, update last-change header in tombi compiler
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-29 20:20:10 +00:00
zeertzjq
5c3e762631 patch 9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line
Problem:  Wrong display with cpo+=$, matchparen and wrapped line.
Solution: Use old cursor line height when scrolling with cpo+=$. Also
          fix wrong redraw in non-current window. (zeertzjq)

fixes: #18647
closes: #18662

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-29 20:15:01 +00:00
Konfekt
14e7203713 runtime(compiler): Fix escaping in Windows shell command for tombi
As observed by Doug Kearns

related: #18590
closes: #18661

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-29 20:12:47 +00:00
John Marriott
110656ba60 patch 9.1.1887: string handling in strings.c can be improved
Problem:  string handling in strings.c can be improved
Solution: Refactor strings.c and remove calls to STRLEN()
          (John Marriott)

This change does:
- In vim_strsave_shellescape() a small cosmetic change.
- In string_count() move the call to STRLEN() outside the while loop.
- In blob_from_string() refactor to remove call to STRLEN().
- In string_from_blob() call vim_strnsave() instead of vim_strsave().
- In vim_snprintf_safelen() call vim_vsnprintf_typval() directly instead
  of vim_vsnprintf() which then calls vim_vsnprintf_typval().
- In copy_first_char_to_tv() change to return -1 on failure or the length
  of resulting v_string. Change string_filter_map() and string_reduce() to
  use the return value of copy_first_char_to_tv().

closes: #18617

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:56:47 +00:00
Christian Brabandt
469f870c5e runtime(compiler): Fix invalid expression in tombi compiler after d659fafcc
related: #18590

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:54:34 +00:00
Konfekt
d659fafccd runtime(compiler): add tombi compiler to lint TOML files
closes: #18590

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:42:17 +00:00
Doug Kearns
433d2ab206 runtime(vim): Update base syntax, match Vim9 lambda arg to :defer
Support added in commit 21ef3c6e59.

See: #18643
closes: #18645

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:36:04 +00:00
Bruno Belanyi
7adeb09bb2 patch 9.1.1886: filetype: Android aconfig files are not recognized
Problem:  filetype: Android aconfig files are not recognized
Solution: Detect *.aconfig files as pbtxt filetype (Bruno Belanyi)

Reference:
https://source.android.com/docs/setup/build/feature-flagging/declare-flag

closes: #18656

Signed-off-by: Bruno Belanyi <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:34:12 +00:00
zeertzjq
b2e6b328da patch 9.1.1885: Wrong restored cursor pos when re-entering buffer after changes
Problem:  Wrong restored cursor position when re-entering a buffer
          previously viewed in a window after making changes to the same
          buffer in another window.
Solution: Adjust per-window "last cursor" positions on buffer changes.
          (zeertzjq)

closes: #18655

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:27:19 +00:00
Doug Kearns
9ad706735d runtime(doc): Highlight [expr] arg in :help :return description
closes: #18654

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:20:02 +00:00
Yegappan Lakshmanan
f09ff72d48 patch 9.1.1884: :defer an empty lambda causes a crash
Problem:  :defer an empty lambda causes a crash
          (Maxim Kim, after v9.1.1882)
Solution: Check for missing arguments (Yegappan Lakshmanan)

related: #18641
closes: #18653

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 20:05:13 +00:00
Christian Brabandt
6be154f5e6 runtime(doc): revert wrong 'incsearch' description
This reverts commit 3fc00c05fb.

related: #18639

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 19:48:19 +00:00
zeertzjq
e06e70f7b1 patch 9.1.1883: Wrong display with 'smoothscroll' with -diff
Problem:  Wrong display with 'smoothscroll' when FEAT_DIFF is disabled.
Solution: Use plines_correct_topline() (zeertzjq).

closes: #18649

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-28 19:03:22 +00:00
Yegappan Lakshmanan
21ef3c6e59 patch 9.1.1882: Vim9: Not able to use a lambda with :defer
Problem:  Vim9: Not able to use a lambda with :defer
          (Maxim Kim)
Solution: Add support for this (Yegappan Lakshmanan)

fixes: #18626
closes: #18643

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-27 18:07:52 +00:00
zeertzjq
58ab3438b7 runtime(netrw): fix misaligned comment after #18611
related" #18611
closes: #18644

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-27 18:04:22 +00:00
Yee Cheng Chin
50ede52829 patch 9.1.1881: tests: test_popupwin fails after c8eeda9b
Problem:  tests: test_popupwin fails after c8eeda9b due to syntax
          highlighting change
Solution: Regenerate terminal dumps Test_popup_setbuf*dump
          (Yee Cheng Chin).

closes: #18646

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-27 17:55:27 +00:00
Christian Brabandt
f11d9e4d28 runtime(doc): regenerate help tags file after eba51337
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-27 17:53:44 +00:00
Aaron Jacobs
eba51337d4 runtime(rust): Do not use rustfmt as 'formatprg' by default
This reverts commit 4ac995bf93.

This was added in #16807, with no explanation for why it was necessary beyond
"it's an example of an idea". It completely breaks `gq` for me—rustfmt doesn't
reflow comments so is not an appropriate tool here! Beyond that, formatting a
selection with rustfmt treats that selection as if it were an entire file,
throwing away any indentation.

For example, the commit causes `gq` to turn this:

```rust
pub fn foo() {
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
}
```

into this:

```rust
pub fn foo() {
// blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
}

```

which is totally wrong. In contrast, if I clear `formatprg` then `gq` does the
right thing again:

```rust
pub fn foo() {
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah
}
```

related: #16967
related: #17055
closes: #18640

Signed-off-by: Aaron Jacobs <jacobsa@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-27 17:46:11 +00:00
kuuote
7d3b647f88 patch 9.1.1880: Allocation error with complete_info()
Problem:  Allocation error with complete_info()
          (after v9.1.1876)
Solution: Make sure length is positive (kuuote)

closes: #18640

Signed-off-by: kuuote <znmxodq1@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-27 17:26:29 +00:00
Yegappan Lakshmanan
bd9155ebb6 patch 9.1.1879: Crash when using a lambda funcref with :defer
Problem:  Crash when using a lambda funcref with :defer
Solution: De-reference the partial correctly after invoking the deferred
          functions (Yegappan Lakshmanan).

closes: #18640

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 20:03:18 +00:00
Riley Bruins
9fff99c3c2 patch 9.1.1878: filetype: Soy files are not recognized
Problem:  filetype: Soy files are not recognized
Solution: Detect *.soy files as soy filetype,
          include a soy filetype plugin (Riley Bruins)

closes: #18640

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 20:00:03 +00:00
Christian Brabandt
6a8ab8f5d4 runtime(doc): update the :split help tags.
closes: #18640

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 19:57:46 +00:00
Anttoni Erkkilä
61ef8a3db9 patch 9.1.1877: cindent: wrong indentation after an array declaration
Problem:  cindent: wrong indentation after an array declaration
Solution: check if the filetype if javascript before matching the syntax
          (Anttoni Erkkilä)

cindent matches a javascript syntax for C files causing wrong
indentation in the following case:
```
void foo() {
float a[5],
b;
}
```

closes: #18631

Signed-off-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 19:46:38 +00:00
Doug Kearns
c8eeda9b15 runtime(doc): Improve header formatting
- Normalise header formatting and highlight all bylines.
- Remove broken email address from if_sniff.txt.

closes: #18601

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 19:29:28 +00:00
Christian Brabandt
3fc00c05fb runtime(doc): mention that 'incsearch' ignores addresses and offset
closes: #18639

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 18:53:00 +00:00
Doug Kearns
8e600aded2 runtime(doc): Normalise heredoc end marker label at :help const
Match the name used at :help :let-heredoc, {endmarker}.

closes: #18638

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 18:44:19 +00:00
Girish Palya
ef5bf58d8c patch 9.1.1876: pre-inserted text not exposed in cmdcomplete_info()
Problem:  pre-inserted text not exposed in complete_info()
Solution: Add the pre-inserted text to the complete_info() Vim script
          function (Girish Palya)

closes: #18571

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Feat: expose preinserted text in complete_info()

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 18:37:57 +00:00
Václav Kobera
f17f78c557 patch 9.1.1875: username parsing bug in netrw plugin
Problem:  username parsing bug in netrw plugin when using remote adding
          feature
Solution: Allow any characters except for "@" (Václav Kobera), add a
          test for the netrw plugin

closes: #18611

Signed-off-by: Václav Kobera <vasekobera@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 18:21:04 +00:00
Girish Palya
f0e11d3279 patch 9.1.1874: short-description
Problem:  PMenuShadow overrides highlighting attributes
          (Maxim Kim)
Solution: Use hl_combine_attr() to combine popup attribute with shadow
          attribute (Girish Palya)

fixes: #18557
closes: #18634

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 13:52:03 +00:00
Doug Kearns
842c7788a5 runtime(vim): Update base syntax, improve :@ highlighting
- Highlight :@ as a normal Ex command rather than something special.
- Fix erroneous matching of the Ex command as a register variable.

closes: #18624

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 13:50:05 +00:00
Foxe Chen
00e8452191 patch 9.1.1873: Clipboard provider feature broke clipboard support
Problem:  Clipboard provider feature broke clipboard support
          (Yee Cheng Chin)
Solution: Revert clipboard changes (Foxe Chen).

fixes: #18600
closes: #18633

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 13:46:05 +00:00
zeertzjq
97b6e8b424 patch 9.1.1872: Cmdline history not updated when mapping <Up> and <CR>
Problem:  Cmdline history not updated when mapping both <Up> and <CR>.
Solution: Consider the command typed when in Cmdline mode and there is
          no pending input (zeertzjq).

Although the existing behavior technically does match documentation, the
"completely come from mappings" part is a bit ambiguous, because one may
argue that the command doesn't completely come from mappings as long as
the user has typed a key in Cmdline mode.  I'm not entirely sure if this
change will cause problems, but it seems unlikely.

fixes: #2771
related: neovim/neovim#36256
closes: #18607

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 13:29:09 +00:00
Maxim Kim
4eef8ba498 runtime(colors): Add PmenuBorder/PmenuShadow
closes: #18635

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 13:24:53 +00:00
James McCoy
d535e5852b runtime(debversions): Add resolute (26.04) as Ubuntu release name
closes: #18637

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-26 13:24:04 +00:00
Aliaksei Budavei
b32da7de63 CI: Include a job index in names of collected artifacts
And include "extra" Linux elements to further disambiguate
archive names.

The current naming of artifacts is inadequate when it comes
to files whose differing name-parts only come from array
values, as arrays are not automatically converted to string.
For example, both artifacts for failing "socketserver" and
"no_x11" CI jobs will claim the same name, and whichever job
finishes last is allowed to overwrite another matching name
artifact.

Reference:
https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#functions

closes: #18556

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 14:21:56 +00:00
Yiyang Wu
7193cab6c8 runtime(make): Prevent makeTargetinDefine matching extra line
This fixes a bug introduced in 2a33b499a3:
When makeTargetinDefine ends with makeIdent, makeSpecTarget or
makeComment, the following line is also matched as makeTargetinDefine.

So, add keepend to prevent that just as makeTarget does.

related: #18403
closes: #18570

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 14:19:07 +00:00
Doug Kearns
418ff5185e runtime(doc): Improve highlighting of the +feature-list table
Fix false positives for headings and command specification counts.

closes: #18603

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 14:15:15 +00:00
zeertzjq
826326f13b patch 9.1.1871: Wrong 'showcmd' in the cmdwin
Problem:  Wrong 'showcmd' in the command-line window.
Solution: Clear 'showcmd' when entering cmdwin (zeertzjq).

related: neovim/neovim#36271
closes: #18616

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 03:40:45 +00:00
Anton Parkhomenko
bbf4a10fe4 runtime(unison): update syntax from upstream repository
closes: #18623

Signed-off-by: Anton Parkhomenko <mailbox@chuwy.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 03:39:08 +00:00
Doug Kearns
7bb56b49ef runtime(doc): Fix option markup at :help 'pumborder'
Remove the redundant helpHyperTextJump markup around options.  Options
are never wrapped as jumps.

See :help help-writing (TAGS section)

closes: #18619

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 03:37:07 +00:00
Phạm Bình An
9978bb77c6 patch 9.1.1870: :Tutor may not work as expected
Problem:  :Tutor may not work as expected
Solution: set buftype=nowrite instead of nofile
          (Phạm Bình An)

closes: #18613

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-25 03:33:12 +00:00
Fabian Eberts
0ef50d9d8d runtime(tutor): Update German translation for the tutor
closes: #18625

Signed-off-by: Fabian Eberts <64541491+feberts@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-24 15:48:45 +00:00
Yee Cheng Chin
6cb995970e patch 9.1.1869: tests: test failures with Python 3.14 and test_python3
Problem:  tests: test failures with Python 3.14 and test_python3
Solution: Adjust the expected error message (Yee Cheng Chin)

Python 3.14 changed the error message from "argument must be 2-item
sequence" to "argument must be 2-item tuple". Fix test to account for
that. Otherwise the error message for the `vim.current.window.cursor =
True` line would not match.

closes: #18629

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-24 15:40:09 +00:00
zeertzjq
0124320c97 patch 9.1.1868: v:register is wrong in v_: command
Problem:  v:register is wrong in v_: command (after 9.1.1858).
Solution: Don't reset v:register for OP_COLON (zeertzjq)

related: https://github.com/vim/vim/pull/18583#issuecomment-3418030021

closes: #18597

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-18 14:37:48 +00:00
Ola Söder
5932ed33f7 patch 9.1.1867: HAVE_STDARG_H still defined
Problem:  HAVE_STDARG_H still defined
          (after v7.4.1216)
Solution: Remove all remaining occurrences of HAVE_STDARG_H
          (Ola Söder)

closes: #18593

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-18 14:30:10 +00:00
Ola Söder
3b11759c7c patch 9.1.1866: HAVE_STRCSPN define is unused
Problem:  HAVE_STRCSPN define is unused
Solution: Remove all HAVE_STRCSPN defines
          (Ola Söder)

closes: #18592

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-18 14:04:28 +00:00
Hirohito Higashi
5b5290ec02 patch 9.1.1865: tests: do not notice lines containing only a tab
Problem:  tests: test_codestyle does not notice lines containing only a
          tab
Solution: Fix the whitespace issue in eval.txt, update test_codestyle to
          notice such issues (Hirohito Higashi)

closes: #18595

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-18 13:57:53 +00:00
Hirohito Higashi
1b565eee6d Fix incorrect spelling of Vim script and Vim9 script
closes: #18591

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-17 17:50:29 +00:00
Foxe Chen
6582299b8d patch 9.1.1864: tests: Clipboard provider feature test failure
Problem:  tests: Clipboard provider feature test failure
Solution: Check in the test that the + clipboard register is available,
          fix compile warning (Foxe Chen)

closes: #18586

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-17 17:30:43 +00:00
Maxim Kim
30ff1e3b02 runtime(vimcomplete): do not complete 'shellcmd' on WSL and Windows
- shellcmd completion is VERY slow on both WSL and Windows, e.g. `term
  something` or `!something` might take ~10 seconds to show first
  results. Do not complete it there.

- revert previous change to not complete on whitespace, do not complete
  on *empty* lines instead.

closes: #18568

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 19:17:02 +00:00
Foxe Chen
f22cedd75f patch 9.1.1863: Cannot test for working "+" register
Problem:  Cannot test for working "+" register
Solution: Add a few more feature tests (Foxe Chen)

closes: #18541

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 19:11:37 +00:00
Foxe Chen
18d57a1b4c patch 9.1.1862: wrong ifdefs for clipboard provider
Problem:  Wrong ifdefs for clipboard provider (after v9.1.1857)
Solution: Update ifdefs (Foxe Chen)

`clip_mch_own_selection()` should only be compiled if there is:

- No Wayland or X11 or clipboard provider support
- If not on UNIX (except MacOS) and clipboard provider feature is
  enabled.

closes: #18574

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 18:57:20 +00:00
Maxim Kim
a30cf0b3ac runtime(odin): fix indent for mis-identified case statements
related: habamax/vim-odin#11
closes: #18578

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 18:53:19 +00:00
Ola Söder
1c9135a362 patch 9.1.1861: Amiga: Locating runtime dir and rc files can be simplified
Problem:  Amiga: Locating runtime directory and rc files can be
          simplified.
Solution: Use assigns since it's simpler and more in line with
          how other Amiga applications work (Ola Söder).

closes: #18581

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 18:48:21 +00:00
Foxe Chen
761a484e12 patch 9.1.1860: clipboard register "+" enabled with cplipboard provider feature
Problem:  clipboard register "+" enabled with cplipboard provider feature
          (BenYip, after v9.1.1857)
Solution: Don't make clipboard provider enable plus register on UNIX
          (Foxe Chen)

fixes: #18580
closes: #18580

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 18:41:02 +00:00
Maxim Kim
6180d65751 patch 9.1.1859: completion: whitespace not cleared with 'ai'
Problem:  completion: whitespace not cleared with 'ai'
Solution: Remove spaces added by 'autoindent' when autocomplete is set
          and restore did_ai in ins_compl_start() (Maxim Kim)

fixes #18560
closes: #18582

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 18:32:21 +00:00
zeertzjq
b3b47e540d patch 9.1.1858: v:register not reset after Visual mode command
Problem:  v:register not reset after Visual mode command.
          (laktak)
Solution: Reset v:register if Visual mode was active before
          do_pending_operator() (zeertzjq)

fixes: #18579
related: #5305
closes: #18583

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-16 18:17:45 +00:00
Foxe Chen
67860efe5b patch 9.1.1857: Missing clipboard provider support
Problem:  Missing clipboard provider support
          (lilydjwg)
Solution: Add clipboard provider feature
          (Foxe Chen)

fixes: #12419
closes: #17998

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-14 19:35:17 +00:00
Girish Palya
1a09f11f5d patch 9.1.1856: cannot style popup window (border, shadow, etc)
Problem:  cannot style popup window (border, shadow, etc)
Solution: Extend the 'completepopup' option with additional properties
          (Girish Palya)

This patch extends the 'completepopup' option with additional settings
to allow more configuration of info popup window.

New values:
```
- close           "on" (default) or "off"
- resize          "on" (default) or "off"
- borderchars     specify eight characters (separated by semicolons) to
                  draw the popup border: top, right, bottom, left,
                  topleft, topright, botright, botleft.
- borderhighlight highlight group for the popup border characters
- shadow          pum shadow
```

closes: #18487

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-14 18:48:36 +00:00
Christian Brabandt
e15cd0f065 patch 9.1.1855: Makefile: using non-portable syntax
Problem:  Makefile: using non-portable syntax
          (Jonathan Schleifer)
Solution: Remove duplicate parenthesis

closes: #18542

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-14 18:35:37 +00:00
Doug Kearns
c95e143819 runtime(doc): Miscellaneous documentation fixes
- Use full option name for 'clipboard' at :help :put.
- Minor rewordings, typo fixes, and formatting fixes.

related: #18453
closes: #18572

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-14 18:24:54 +00:00
Doug Kearns
97da1ec670 runtime(doc): Fix example highlighting at :help prop_list()
closes: #18573

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 21:07:22 +00:00
Doug Kearns
83eb1da19e runtime(doc): Normalise formatting of builtin function descriptions
- Column align tags
- Move tags to the same line as the function signature
- Move descriptions to the line below the function signature
- Add missing hyperlinks to builtins in the description text

closes: #18478

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 19:17:14 +00:00
Doug Kearns
a37fd72749 runtime(doc): Remove accidental option name highlighting from :help channel.txt
closes: #18564

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 19:08:45 +00:00
Hirohito Higashi
91959a797d patch 9.1.1854: unnecessary code in optionstr.c
Problem:  unnecessary code in optionstr.c
Solution: Remove it (Hirohito Higashi)

fixes: #18551
closes: #18554

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 19:06:04 +00:00
zeertzjq
6622dc2ded patch 9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol
Problem:  Ctrl-F and Ctrl-B at more prompt not working with kitty
          keyboard protocol or modifyOtherKeys (after v9.1.1849).
Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).

closes: #18558

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 19:02:10 +00:00
dependabot[bot]
a55dc8c57c CI: Bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [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/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

closes: #18559

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 19:00:08 +00:00
Maxim Kim
5b058c76b4 runtime(vimcomplete): do not complete on empty line
closes: #18561

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:58:17 +00:00
zeertzjq
6ab45471d4 runtime(doc): fix inconsistent alignment
closes: #18562

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:55:19 +00:00
Martin Schwan
5fe4faa711 runtime(bitbake): fix multiline Python function parameter syntax
Fix syntax highlighting for def-style Python functions, with their
parameters spanning multiple lines. E.g. the following should match as
valid Python code in Bitbake recipes:

    def myFunction(one, two, \
                   three, four):
        pass

For this to work, use the prefix modifier "\_" before the wildcard ".",
to also match newline characters.

closes: #18565

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:50:20 +00:00
Marshall Ward
64c8105867 runtime(rst): Preserve indentation of directives
This patch preserves indentation in comments.  It work by removing the
explicit 3-space indentation and replaces with with an expression which
uses the current value with a minimum of three spaces.

Discussed in the mailing list:

    https://groups.google.com/g/vim_dev/c/rn8ZLDrCbYU

Thanks to Friedrich Romstedt for reporting and Christian Brabandt for
investigating the issue.

closes: #18566

Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:40:16 +00:00
Doug Kearns
5ffb23c967 runtime(rst): Update b:undo_ftplugin variable
The value of this variable is evaluated when the 'filetype' option is
changed and should be a command string that will undo any configuration
changes that the plugin has made.

See :help undo_indent for details

related: #18566

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:36:38 +00:00
Marshall Ward
46d86979a9 runtime(rst): Style update
Minor style and whitespace changes to the reST syntax file, to sync with
the development branch.

related: #18566

Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:33:56 +00:00
Kirk Roemer
a70f346706 runtime(rst): Enable spell checking for more syntax constructs
Enable spell checking for more recognised constructs:

* comments
* footnotes
* citations
* directives
* inline markup (*text*, **text**, ...)

related: #18566

Signed-off-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:32:57 +00:00
Marshall Ward
d7fb4cd2f8 runtime(rst): Inline literal escape support
Escape character support was disabled for inline literals, which are
handled separately from standard inline highlights, in that escape
characters are unsupported.

related: #18566

Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:31:49 +00:00
Kirk Roemer
5485827c5f runtime(rst): Recognise numeric footnotes [1] correctly
The markup for footonotes [1] and citations [2] are almost identical.
The difference is that footnotes allow numeric values but citations
allow every valid reference name except numeric values.

The regex for matching citations currently only checks for valid
reference names but does not exclude number-only labels, thus also
matches numeric footnotes.  To match such footnotes, e.g. ``[1]`` define
the syntax rule for footnotes after the syntax rule for citations so it
gets higher precedence and matches first.

[1] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#footnotes
[2] https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#citations

related: #18566

Signed-off-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:30:48 +00:00
Antony Lee
4e9f16dd1e runtime(rst): Correctly end nested comments
Previously, a comment in a directive block would incorrectly mark
all subsequent lines in the directive block as comment, because the
syn-region did not check the leading indent.

related: #18566

Signed-off-by: Antony Lee <anntzer.lee@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:28:58 +00:00
Minjie Xu
47949b4b46 runtime(rst): Fix highlights nested in directive body
The leading two dots of a RST directive gets matched by
rstExplicitMarkup group first, and then the directive name and directive
body will be matched by the groups contained in rstDirectives cluster in
order.

The rstExDirective group in rstDiretives matches any RST directives
other than footnote, citation and hyperlink target, therefore admonition
and code block will be matched by rstExDirective. This fix has
rstExDirective contain rstExplicitMarkup so as to enable recursive RST
directives match.

The interpreted texts enclosed in quotes are not highlighted within a
RST directive body, because the rstCruft cluster contains a non-existing
rstInterpretedText group.It should be renamed to
rstInterpretedTextOrHyperlinkReference which is defined in a
DefineInlineMarkup function call.

related: #18566

Signed-off-by: Minjie Xu <madjxatw@gmail.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:27:49 +00:00
Dragan Simic
310082f3cf runtime(rst): Add support for rst_minlines
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: #18566

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:26:54 +00:00
Kirk Roemer
0940465866 runtime(rst): Fix doctest block syntax
A doctest block usually spans multiple lines, e.g.

>>> print('this is a Doctest block')
this is a Doctest block

Remove ``oneline`` argument to syntax region as this requirement is not
met.  Consequently, also remove ``display`` as the prerequisite (the
syntax region is on a single line) is no longer met.

----

Recognise '>>>' inside doctest blocks

Recognise subsequent '>>>' prompts in doctest blocks, e.g.

>>> print('this is a Doctest block')
this is a Doctest block
>>> print('this is a second Doctest block')
this is a second Doctest block
A doctest block usually spans multiple lines, e.g.

>>> print('this is a Doctest block')
this is a Doctest block

related: #18566

Signed-off-by: Kirk Roemer <91125534+kirk-roemer@users.noreply.github.com>
Signed-off-by: Marshall Ward <marshall.ward@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-13 18:24:09 +00:00
Doug Kearns
c58f91c035 runtime(doc): Whitespace updates
Use double sentence spacing and wrap lines at 'textwidth'.  Code
examples and tables were not wrapped unless this had already been done
locally.

closes: #18453

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 15:31:37 +00:00
Yiyang Wu
2a33b499a3 runtime(make): syntax highlighting update for makeDefine
Previously contents in makeDefine are nearly highlighted as Define, so
comments and targets shares the same color as Define, making it hard to
distinguish if someone write large block of targets-recipes as defined
function.

Such scenario is common in building data analysis pipeline. Recipes are
reused and targets may have multiple variables, and a single % implicit
rule is not enough.

closes: #18403

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 15:20:28 +00:00
Doug Kearns
7e9ccdd3f2 runtime(vim): Update syntax, add missing commands to generator exclusion list
closes: #18548

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 15:15:00 +00:00
Lidong Yan
4b9896ce9d patch 9.1.1852: vim9class: memory leak in parse_member()
Problem:  vim9class: fix memory leak in parse_member()
Solution: Free evalarg before returning (Lidong Yan)

In parse_member(), skip_expr_concatenate() allocates memory in evalarg.
However parse_member() forgets to free evalarg at early return-fail
point. Add clear_evalarg() at early return-fail point.

closes: #18533

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 15:10:09 +00:00
Lidong Yan
dc75a204f1 patch 9.1.1851: memory leak in heredoc_get()
Problem:  memory leak in heredoc_get()
Solution: Free "str" if list_append_string() fails
          (Lidong Yan).

In heredoc_get(), eval_all_expr_in_str() allocates a new string and
assign it to local variable "str". When list_append_string() failed
the memory pointed to by "str" leaks. Free "str" if list_append_string()
failed.

related: #18533

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 15:05:11 +00:00
Girish Palya
da2dabc6f7 patch 9.1.1850: completion: not triggered after i_Ctrl-W/i_Ctrl-U
Problem:  completion: not triggered after i_Ctrl-W/i_Ctrl-U
Solution: Trigger autocomplete when entering Insert mode
          (Girish Palya).

fixes: #18535
closes: #18543

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 14:37:02 +00:00
bfoersterling
fcf4c435af patch 9.1.1849: CTRL-F and CTRL-B don't work in more prompt
Problem:  CTRL-F and CTRL-B don't work in more prompt
Solution: Make CTRL-F and CTRL-B scroll by a screen down/up
          (Bjoern Foersterling)

closes: #18545

Signed-off-by: bfoersterling <bjoern.foersterling@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 14:26:34 +00:00
Aliaksei Budavei
40dec4609d runtime(doc): Replace rotted URL links
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

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 14:17:57 +00:00
zeertzjq
fa8879d7e0 patch 9.1.1848: A few typos in the code
Problem:  A few typos in the code
Solution: Fix typos (zeertzjq)

closes: #18550

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 14:14:46 +00:00
zeertzjq
7aaca97fc5 patch 9.1.1847: No cmdline completion for :echoconsole and :echowindow
Problem:  No cmdline completion for :echoconsole, :echowindow and second
          expression after :echoerr.
Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
          check for multiple expressions after :echoerr (zeertzjq).

closes: #18552

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 14:12:41 +00:00
Wu Junkai
37c8ce7fac runtime(cangjie): Fixes and improvements for syntax script
Housekeeping:
- Add GitHub repository link
- Update Last Change date

Style:
- Add Vim modeline for consistent formatting
- Unify indentation style (spaces to tabs)
- Wrap long cluster definitions for readability

New Features:
- Add highlighting for escape sequences
- Add error highlighting for invalid rune literals
- Add syntax-based folding support

Fixes:
- Fix rune matching to allow only a single character/escape
- Fix highlighting for double-quoted rune literals
- Fix highlighting for floats with exponents and type suffixes

Co-authored-by: dkearns <dougkearns@gmail.com>
Signed-off-by: Wu Junkai <wujunkai20041123@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-12 14:10:34 +00:00
Doug Kearns
6800da6ff1 runtime(doc): Add missing optional tail command-name specs
- Use the optional tail command-name specs at help entries for :keepalt,
  :lcd, :cfdo, :lfdo, :wundo, :rundo, :bdelete and :bunload.
- Add missing shortname tags.

closes: #18547

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-11 15:51:45 +00:00
Hirohito Higashi
c7d6ec713e runtime(doc): Update documentation style in gui_w32.txt
closes: #18546

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-11 15:29:31 +00:00
Girish Palya
37aabaca64 runtime(doc): update credit section for Girish Palya
closes: #18544

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-11 10:06:42 +00:00
Christian Brabandt
1201afb769 patch 9.1.1846: Build failure when building without wayland
Problem:  Build failure when building without wayland
          (bennyyip, after v9.1.1844)
Solution: Update Makefile dependencies again, remove wayland
          dependencies for clipboard.c,

fixes: #18534
fixes: #18536
fixes: #18537
closes: #18538

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-10 16:00:36 +00:00
Christian Brabandt
40f8bed98c patch 9.1.1845: Makefile: Missing dependency on osdef.h
Problem:  Makefile: Missing dependency on osdef.h
Solution: Add explicit dependency on auto/osdef.h

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-10 00:14:05 +00:00
Hirohito Higashi
bcf6c32b5d runtime(doc): Tweak documentation in develop.txt
closes: #18532

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 21:12:19 +00:00
Christian Brabandt
0e01bc03de patch 9.1.1844: Makefile: dependencies not updated
Problem:  Makefile: dependencies not updated
          (Hirohito Higashi)
Solution: Update Dependencies after v9.1.1841

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 21:08:32 +00:00
bennyyip
3221a0c2f9 runtime(filetype): Improve filetype loading time
closes: #18508

Signed-off-by: bennyyip <yebenmy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 20:24:35 +00:00
James McCoy
4fa7ec8036 patch 9.1.1843: tests: Test_search_stat_option() may fail on slow systems
Problem:  tests: Test_search_stat_option() may fail on slow systems
Solution: test_search_stat: Extend searchcount() timeout if the test is
          being re-run due to flakiness (James McCoy).

closes: #18524

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 20:15:34 +00:00
Yee Cheng Chin
1388fa62d2 runtime(doc): Add reference to 'wildoptions' in fuzzy-matching docs
The docs for fuzzy matching seems to try to list every possible use
case, but misses this one. It's a good idea to be consistent.

closes: #18525

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 20:09:56 +00:00
Hirohito Higashi
6783021c65 patch 9.1.1842: MS-Windows: build failure when mzscheme is included
Problem:  MS-Windows: build failure when mzscheme is included
          (dertuxmalwieder, after v9.1.1838)
Solution: skip specific section when PROTO is defined
          (Hirohito Higashi)

fixes: #18529
closes: #18530

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 19:59:48 +00:00
Doug Kearns
7dba04f15c runtime(doc,vim): Update base syntax, match full :syntime command
- Use the optional tail command-name spec at :help :syntime.
- Match full :syntime command and highlight args.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 19:39:57 +00:00
lacygoill
08c39d2fe9 runtime(vim): fix indentation after :registers +
closes: #18528

Signed-off-by: lacygoill <lacygoill@lacygoill.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 19:37:45 +00:00
Hirohito Higashi
ed93df4935 patch 9.1.1841: patch 9.1.1840 adds python build dependency
Problem:  patch 9.1.1840 adds python build dependency
          (chdizza)
Solution: Update dependencies (Hirohito Higashi)

fixes: #18523
related: #18045
closes: #18527

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-09 19:17:49 +00:00
Hirohito Higashi
e7c765fe59 patch 9.1.1840: Generating prototype files does not work on all platforms
Problem:  Generating prototype files does not work on all platforms
Solution: Rework prototypes generation using python instead of cproto,
          enable it in CI to test it for each PR (Hirohito Higashi).

closes: #18045

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 18:31:13 +00:00
Doug Kearns
ce5f9f45af runtime(vim): Update base syntax, allow legacy script comments after :eval
closes: #18522

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 18:22:23 +00:00
Miguel Barro
3c5221f8ee runtime(termdebug): Add remote debugging capabilities
closes: #18429

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>
2025-10-08 18:15:51 +00:00
Aliaksei Budavei
143686b3c4 runtime(java): Fold adjacent "import" declarations
Also, distinguish (by abbreviating their names) and manage
foldable kinds of syntax items: blocks of code ("b"), plain
comments ("c"), Javadoc comments ("d"), adjacent "import"
declarations ("i").  Fold all qualifying items by default;
otherwise, do not fold items of explicitly delisted kinds.
For example,
------------------------------------------------------------
	let g:java_ignore_folding = "bcdi"
------------------------------------------------------------

Resolves zzzyxwvut/java-vim#12.

closes: #18492

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 16:45:28 +00:00
Maxim Kim
97d1255558 runtime(colors): Update colorscheme and add TitleBar/TitleBarNC
closes: #18513

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 16:28:23 +00:00
zeertzjq
bd3b958027 patch 9.1.1839: Window may have wrong height if resized from another tabpage
Problem:  Window may have wrong height if resized from another tabpage.
Solution: Improve check for whether a tabline has been added (zeertzjq).

fixes: #18518
closes: #18519

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 16:26:04 +00:00
Hirohito Higashi
3796c105cf patch 9.1.1838: proto files out of sync
Problem:  proto files out of sync
Solution: Update proto files (Hirohito Higashi)

closes: #18517

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 16:23:22 +00:00
Doug Kearns
ec19075f61 runtime(doc): Normalise ellipsis dots in syntax.txt
Use three dots rather than two.

closes: #18521

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-08 16:20:23 +00:00
Christian Brabandt
d8ae4163e2 patch 9.1.1837: tests: Test_plugin_evaluate_in_popup() fails on 32bit
Problem:  tests: Test_plugin_evaluate_in_popup() fails on 32bit arch
          (James McCoy)
Solution: Instead of evaluating the ptr, let's evaluate just the pointer
          content, skipping printing the pointer address.

fixes: #18499
closes: #18503

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 20:56:51 +00:00
zeertzjq
a084914361 patch 9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab
Problem:  'cursorlineopt' "screenline" isn't redrawn when moving cursor
          and then using line("w0") and :retab that does nothing.
Solution: Call redraw_for_cursorcolumn() when setting a valid w_virtcol
          (zeertzjq).

closes: #18506

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 20:53:48 +00:00
Girish Palya
474b981e40 patch 9.1.1835: completion: not possible to style popup borders globally
Problem:  not possible to style popup borders globally
Solution: Add the 'pumborder' option (Girish Palya)

This commit introduces a new global option, 'pumborder' ('pb'), that
allows users to define borders and optional decorations for the
completion popup menu.

```
Defines a border and optional decorations for the popup menu in
completion.  The value is a comma-separated list of keywords.

Border styles (at most one):
"single"singleuse thin box-drawing characters
"double"doubleuse double-line box-drawing characters
"round"rounduse rounded corners
"ascii"asciiuse ASCII characters (-, |, +)
"custom:XXXXXXXX"
    use eight characters given after "custom:",
    in order: top, right, bottom, left,
    topleft, topright, botright, botleft

Additional flags:
"margin"marginadds one-cell spacing inside the left and right border
"shadow"shadowdraws a shadow at the right and bottom edges

Highlight groups:
|hl-PmenuBorder|hl-PmenuBorderused for the border characters
|hl-PmenuShadow|hl-PmenuShadowused for the shadow

Examples: >
  :set pumborder=single
  :set pumborder=double,margin,shadow
  :set pumborder=custom:─│─│┌┐┘└,shadow

Border styles using box-drawing characters ("single", "double",
"round") are only available when |'encoding'| is "utf-8" and
|'ambiwidth'| is "single".  "margin" requires a border style.
See also: |ins-completion-menu|.
```

fixes: https://github.com/vim/vim/pull/18441#issuecomment-3360188458
closes: #18486
closes: #17091

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 20:51:02 +00:00
Mao-Yining
2c09368273 patch 9.1.1834: MS-Windows: not possible to highlight the title bar
Problem:  MS-Windows: not possible to highlight the title bar
Solution: Make the title/caption bar configurable by introducing the
          'go-C' option value which allows to highlight it using the
          TitleBar and TitleBarNC highlighting groups (Mao-Yining).

Introduce titlebar color customization for Windows 11 GUI through
highlight groups and new 'guioptions' flag:

- Add 'C' flag to enable titlebar color customization (opt-in)
- New highlight groups: TitleBar (active) and TitleBarNC (inactive)
- Uses DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR DWM attributes
- Dynamically loads dwmapi.dll for Windows 11 compatibility
- Defaults to system colors when set to NONE or feature disabled

closes: #18449

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 19:41:59 +00:00
Elijah Greenstein
f8b9251d8f runtime(doc): Fix typos in syntax.txt
closes: #18504

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Elijah Greenstein <197816462+elijahgreenstein@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 19:22:05 +00:00
RestorerZ
d5cbbcb7c1 translation(ru): updated Vim manpages
closes: #18511

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 19:19:43 +00:00
RestorerZ
6d15e2f9dc translation(ru): Updated message file
closes: #18512

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 19:16:18 +00:00
Antonio Giovanni Colombo
bb0d3b52c1 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 19:03:12 +00:00
Christian Brabandt
1082193e73 runtime(tex): link some tex highlight groups to new standard ones
fixes: #18505

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-07 18:59:03 +00:00
Christian Brabandt
5d96fe83b5 translation: regenerate po/vim.pot after a644b7924d
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-06 19:11:38 +00:00
Girish Palya
10aa04e3d4 patch 9.1.1833: completion: fuzzy candidates are not sorted
Problem:  completion: fuzzy candidates are not sorted
          (ddad431)
Solution: Always sort fuzzy candidates (Girish Palya)

fixes: #18488
closes: #18497

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-06 19:06:02 +00:00
Peter Kenny
a51c53722c runtime(doc): Update sections 5 to 8 in vim9.txt
closes: #18350

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-06 18:32:32 +00:00
Hirohito Higashi
723f34f3de patch 9.1.1832: if_perl: contains references to legacy if_perlsfio
Problem:  if_perl: contains references to legacy if_perlsfio.{c,pro} and
          USE_SFIO
Solution: Remove those references (Hirohito Higashi)

fixes: #18496
closes: #18500

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-06 17:59:10 +00:00
MultisampledNight
882452644c runtime(zip): add *.pkpass to list of zip extensions
Similar to a359c9c25e.
See https://developer.apple.com/documentation/walletpasses/building-a-pass#Sign-the-Pass-and-Create-the-Bundle,
which explicitly mentions that pkpasses are just renamed ZIPs.

closes: #18501

Signed-off-by: MultisampledNight <contact@multisamplednight.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-06 17:56:20 +00:00
Daumantas Kavolis
cd6e209651 runtime(kerml): update KerML comments to handle more cases
closes: #18502

Signed-off-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-06 17:52:40 +00:00
Christian Brabandt
adc729cd32 runtime(doc): fix typo in :h credits section
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 18:36:39 +00:00
Sean Dewar
620c655677 patch 9.1.1831: stray vseps in right-most 'winfixwidth' window
Problem:  vertical separator of 'winfixwidth' windows may remain if they
          become right-most windows from closing windows to the right.
Solution: Don't implicitly rely on frame_new_width to fix vseps, as the
          call may be skipped for 'winfixwidth' windows to preserve
          their width; do it explicitly in winframe_remove (Sean Dewar).

Note that I prefer win_new_width here over setting w_width directly, which
would've previously been done by win_split_ins after frame_add_vsep, as this
wasn't true for winframe_remove.

Though the equivalent issue of bottom 'winfixheight' windows leaving stray
statuslines with &ls=0 doesn't seem to exist, test it anyway.

closes: #18481

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 17:00:58 +00:00
Christian Brabandt
3b3cb04fa3 patch 9.1.1830: MS-Windows: Dark mode titlebar is not configurable
Problem:  MS-Windows: Dark mode titlebar is not configurable
          (after v9.1.1813)
Solution: Revert patch v9.1.1813

Revert "patch 9.1.1813: MS-Windows: title bar is always white"
This reverts commit dddde9ce12.

related: #18282

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 16:51:27 +00:00
Daumantas Kavolis
b73ccf7ff0 patch 9.1.1829: filetype: KerML and SysML files are not recognized
Problem:  filetype: KerML and SysML files are not recognized
Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
          filetype, include a kerml and sysml filetype plugin
          (Daumantas Kavolis)

closes: #18476

Signed-off-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 13:37:00 +00:00
thinca
6858587761 patch 9.1.1828: local variables shadowed by import names
Problem:  local variables shadowed by import names
Solution: Check if a local variable exists before handling imports
          (thinca)

closes: #18480

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 13:27:26 +00:00
Girish Palya
f3d0d08907 patch 9.1.1827: completion: v9.1.1797 broke Ctrl-Y behaviour
Problem:  completion: v9.1.1797 broke Ctrl-Y behaviour
          (ddad431, after v9.1.1797)
Solution: Restore correct behaviour (Girish Palya).

closes: #18494

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 13:14:10 +00:00
Doug Kearns
a76ea52a48 runtime(doc): Use the optional tail command-name spec at :help :sign
closes: #18489

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 13:11:26 +00:00
Christian Brabandt
da91b5135f patch 9.1.1826: Patch v9.1.1230 causes confusion about Ctrl-C behaviour
Problem:  Patch v9.1.1230 causes confusion about Ctrl-C behaviour
          (kuuote, after v9.1.1230)
Solution: Revert the behaviour, keep the old behaviour

fixes: #17266

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-05 13:04:52 +00:00
Christian Brabandt
a67f2699b2 runtime(doc): update if_perl after v9.1.1822)
closes: #18468

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 11:02:00 +00:00
Girish Palya
c51d1cc578 patch 9.1.1825: completion: flicker when LSP server is slow
Problem:  completion: flicker when LSP server is slow
Solution: reinsert leader text before invoking user function
          (Girish Palya)

Reference:
https://github.com/girishji/vimcomplete/issues/101#issuecomment-3343063245

In insert-mode completion, the leader text is temporarily removed while
searching for candidates. When the LSP server responds slowly, the
client may call `:sleep` to wait, which triggers `out_flush()`. This
causes the deleted text to disappear briefly before being redrawn,
resulting in visible flicker.

This commit reinserts the leader text before invoking the user function,
and removes it again afterward to eliminate flicker.

closes: #18468

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 10:55:40 +00:00
Christian Brabandt
420923c0c5 runtime(doc): update credits section
closes: #18485

Co-authored-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 10:52:05 +00:00
zeertzjq
bcf44668f6 patch 9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner"
Problem:  tests: no test for displaying 'foldcolumn' with Unicode
          "foldinner" in 'fillchars'.
Solution: Add a few more test cases.  Also fix misplaced "foldinner"
          entry in version9.txt (zeertzjq).

closes: #18483

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 10:35:49 +00:00
Yee Cheng Chin
dd9ed46a39 patch 9.1.1823: diff: w_topline may be invalidated
Problem:  diff: w_topline may be invalidated
Solution: Update lnum in diff_set_topline()
          (Yee Cheng Chin).

This can happen in ex_diffupdate() for certain edge cases which cause
the logic to now be wrong. This was also the root cause for #18437 where
Vim would crash due to a null pointer dereferencing (said pointer would
not be null under normal circumstances).

related: #18437
closes: #18484

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 10:26:55 +00:00
Mao-Yining
ae3a8664b3 runtime(doc): Add explanation for Vim's IME
related: #10513

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 10:23:38 +00:00
Aliaksei Budavei
bfcf638c73 runtime(java): Make changes for JDK 25
- Add to the list of java.lang classes three new types: IO,
  ScopedValue, and ScopedValue.Carrier.
- Add to the list of java.lang interfaces a new type:
  ScopedValue.CallableOp.
- "Demote" RuntimePermission from the list of java.lang
  class types to javaLangDeprecated.
- Reintroduce supported syntax-preview-feature numbers 455
  and 488 as _a new number_ 507.

References:
https://bugs.openjdk.org/browse/JDK-8353641
https://openjdk.org/jeps/506 (Scoped Values)
https://openjdk.org/jeps/507 (Primitive Types in Patterns etc.)
https://openjdk.org/jeps/512 (Compact Source Files etc.)

closes: #18479

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 10:09:58 +00:00
Doug Kearns
85fd7f8983 runtime(help): Update syntax
Match Vim9 return types in builtin function specifications.

closes: #18477

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-04 09:57:54 +00:00
Hirohito Higashi
64ff6d1688 patch 9.1.1822: Makefile still supports Perl < 5.005
Problem:  Makefile still supports Perl < 5.005
Solution: Remove support for Perl < 5.005, it's long been obsolete
          (Hirohito Higashi)

closes: #18474

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 14:18:11 +00:00
RestorerZ
fabe9a4c88 nsis: Getting the Vim version number via makensis
closes: #18470

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 14:14:19 +00:00
RestorerZ
8feaa94e77 nsis: Duplicate files in the icons.zip archive have been removed
related: #18469

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 14:05:55 +00:00
RestorerZ
5178376ebf nsis: delete README.txt from the icons directory
related: #18469

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 14:04:57 +00:00
Christian Brabandt
fdeb721251 Filelist: include nsis/icons/README.txt again
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:52:25 +00:00
Jan Claußen
67a8f2945e patch 9.1.1821: filetype: Not all PKL files are recognized
Problem:  filetype: Not all PKL files are recognized
Solution: Detect *.pcf as pkl filetype, detect using the pkl-lsp://
          protocol as pkl filetype, include PKL syntax script
          (Jan Claußen)

This adds basic syntax support for the new PKL language by Apple.

What works:
- Shebang support
- Comment support
- Integers (decimal, hex, octal and binary) support
- Floating point support including exponentials
- Basic datatype support
- Unicode escape delimiters
- Escape code support
- String interpolation
- Support up to five pounds for custom delimiters
- Folding of multi-line comments and blocks

What doesn't work:

  The language heavily uses parameterized type declarations, which can get
  very complex. It is very hard to highlight this properly. There is
  official Tree-sitter support for this. Since it is hard to pull this off
  in a vim syntax file, I opted for basic support of the data types.

References:
  https://github.com/apple/pkl-pantry

fixes: #18271
closes: #18274

Signed-off-by: Jan Claußen <jan.claussen10@web.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:47:07 +00:00
Girish Palya
f77c187277 patch 9.1.1820: completion: some issues with 'acl'
Problem:  completion: some issues with 'acl' when "preinsert" and
          "longest" is in 'completeopt' (musonius, after v9.1.1638)
Solution: Fix various issues (see details below) (Girish Palya)

This commit addresses multiple issues in the 'autocompletedelay' behavior with
"preinsert" and "longest":

- Prevents spurious characters from being inserted.
- Ensures the completion menu is not shown until `autocompletedelay` has
  expired.
- Shows the "preinsert" effect immediately.
- Keeps the "preinsert" effect visible even when a character is deleted.

fixes: #18443
closes: #18460

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:28:38 +00:00
Maria José Solano
1a691afd27 patch 9.1.1819: Cannot configure the inner foldlevel indicator
Problem:  Cannot configure the inner foldlevel indicator for the
          foldcolumn
Solution: Add "foldinner" suboption value to the 'fillchar' option
          (Maria José Solano).

closes: #18365

Signed-off-by: Maria José Solano <majosolano99@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:24:31 +00:00
Christian Brabandt
09b1ce0860 runtime(doc): fix typo after commit cfcf1a57cb
related: #18452

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:11:39 +00:00
zeertzjq
48755bb7d5 CI: stop using macos-13 runner
> The macOS 13 runner image will be retired by December 4th, 2025.

Update to the macos-15-intel runner.

It seems that runners ending with "large" require an enterprise plan, so
macos-15-intel is the only other available macOS Intel runner.

Also both macOS 15 runners now use Xcode 16.4 by default, so there is no
need to install it manually.

closes: #18471

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:04:25 +00:00
RestorerZ
c4e6a87959 runtime: Update a few icons
related: #18463
closes: #18457

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:02:02 +00:00
RestorerZ
327683908e nsis: added a note about installer icons in README.txt
This fixes a few issues introduced in commit 3495936:

-  Deleted the icons directory
-  Duplicate files in the icons.zip archive have been removed
-  Added a note about installer icons in README.txt

closes: #18469

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 08:00:11 +00:00
Mao-Yining
0a8b4ef8b2 runtime(log): remove domain highlight
The domain highlight is eazy to be confused and useless. Because we can
catch URL as a much obvious syntax.

closes: #18467

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 07:58:06 +00:00
zeertzjq
12da2427c7 runtime(new-tutor): fix mismatched line numbers in vim-02-beginner
closes: #18466

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-03 07:55:11 +00:00
Christian Brabandt
d32b3bb7eb patch 9.1.1818: possible crash when calculating topline in diff.c
Problem:  possible crash when calculating topline in diff.c
          (youngmith)
Solution: Check for pointer being Null before accessing it

fixes: #18437

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 22:16:09 +00:00
Christian Brabandt
34959362b6 Filelist: include nsis/icons/README.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 21:24:41 +00:00
Girish Palya
cfcf1a57cb runtime(doc): Clarify use of "noselect" in 'completeopt'
closes: #18452

Co-authored-by: Tomasz N <przepompownia@users.noreply.github.com>
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 21:09:53 +00:00
Doug Kearns
0977c8b03e runtime(vim): Update base syntax, contain user command replacement text
Ensure that :command replacement text terminates at the end of the
logical line.

Add :command to the generator exclusion list.

fixes: #18414 (@Dougaak)
fixes: #18448 (Maxim Kim)
closes: #18415

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 21:03:22 +00:00
RestorerZ
a644b7924d runtime(optwin): Update formatting of option descriptions
closes: #18446

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 20:57:14 +00:00
Girish Palya
e3ed5584ed patch 9.1.1817: popup: there are some position logic bugs
Problem:  popup: there are some position logic bugs
Solution: Refactor position logic and fix a few bugs
          (Girish Palya).

This change does the following:

- Simplified and rewrote horizontal positioning logic (was overly
  complex).
- Split horizontal and vertical positioning into separate functions.
- Fixed missing truncation marker (e.g. `>`) when items were truncated
  and `pummaxwidth` was not set.
- Fixed occasional extra space being added to menu items.
- Update tests

closes: #18441

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 20:52:44 +00:00
RestorerZ
c7b2dcd986 nsis: Rework icons, update icons archive, add copyright notice
closes: #18456

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 20:47:27 +00:00
RestorerZ
9d57fe278f rutnime(new-tutor): Updated English new tutor
This updates the new tutor with the changes from commit
b87f133b07

closes: #18461

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 20:26:54 +00:00
Hirohito Higashi
6e282117c7 runtime(doc): Tweak documentation style
closes: #18462

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 20:07:33 +00:00
RestorerZ
55653887ad patch 9.1.1816: existing icon files are dated
Problem:  existing icon files are dated
Solution: Update and remake those icons using 256 colors
          (RestorerZ)

closes: #18463

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 20:05:27 +00:00
Miguel Barro
8337d77eff runtime(netrw): MS-Windows: fix netrw not being able to navigate to parent folder
fixes: #18421
closes: #18464

Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 19:45:38 +00:00
zeertzjq
014c731fa5 runtime(doc): make :h virtcol() more accurate
The current description (especially the "unlimited width" part) is
inaccurate in several ways:
- The size of virtual text can depend on window width. In particular,
  the size of "above" virtual text can be equal to window width.
- A double-width character that doesn't fit adds 1 to the virtual column
  of the following characters.
- The size of 'showbreak' and 'breakindent' is counted.

related: #5713
closes: #18447

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-10-01 18:30:38 +00:00
Doug Kearns
21d40d2d41 runtime(help): Update syntax, match legacy header at :help vim9-mix
closes: #18458

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-30 20:12:55 +00:00
Hirohito Higashi
ef561cdcde patch 9.1.1815: file mode changes in os_amiga.pro
Problem:  file mode changes in os_amiga.pro to 644
          (RestorerZ, after v9.1.1811)
Solution: Fix the permissions of proto/os_amiga.pro to 644
          (Hirohito Higashi).

closes: #18454

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-30 20:03:49 +00:00
Christian Brabandt
4403c674c4 patch 9.1.1814: Patch v9.1.1812 causes crashes
Problem:  Patch v9.1.1812 causes crashes
Solution: Revert v9.1.1812

Revert "patch 9.1.1812: completion: flicker with slow LSPs"
This reverts commit 71b97f2905.

fixes: #18450

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-30 20:01:00 +00:00
Mao-Yining
dddde9ce12 patch 9.1.1813: MS-Windows: title bar is always white
Problem:  MS-Windows: title bar is always white
Solution: Set_caption() and set the title bars color to the
          Normal highlighting background (Mao-Yining)

The implement of 'guidarkmode' is a much longer task, so I would like to
complete this most needed feature.

This commit seen the caption bar as the extension of the background so
it is follow the option 'background' before Windows 11 and follow the
background color after Windows 11.

fixes: #3922
fixes: #18028
closes: #18282

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 21:19:34 +00:00
Girish Palya
71b97f2905 patch 9.1.1812: completion: flicker with slow LSPs
Problem:  completion: flicker with slow LSPs
Solution: Disable flushing the changed text (Girish Palya).

In insert-mode completion, the leader text is temporarily deleted while
searching for completion candidates. If the LSP server responds slowly,
the client may call `:sleep` to wait, which triggers `out_flush()`. This
causes the deleted text to briefly disappear before being redrawn when
results arrive, producing a visible flicker.

There are two possible fixes:

1. Suppress flushing while a user function (e.g. LSP client) is waiting.
2. Reinsert the deleted text before invoking the user function.

This Commit implements (1), which is the simpler solution, though somewhat
heavy-handed. If you think this may introduce unwanted side effects, I
can rework it to use (2).

closes: #18439

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 20:56:06 +00:00
Ola Söder
8f214168bd runtime(doc): Update os-support section for Amiga OS
related: #18423

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 20:22:48 +00:00
Ola Söder
decc9dd6a2 patch 9.1.1811: Amiga: Initialization of random buffer can be improved
Problem:  Amiga: Initialization of random buffer can be improved
Solution: Use RANDOM device when available (Ola Söder)

closes: #18419

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 20:19:36 +00:00
zeertzjq
b3966d6a8e patch 9.1.1810: completion: "longest" doesn't work for manual completion with 'ac'
Problem:  completion: "longest" doesn't work for manual completion when
          'autocomplete' is on (after 9.1.1800).
Solution: Only reset compl_get_longest when enabling autocompletion
          (zeertzjq).

closes: #18430

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 20:11:37 +00:00
Hirohito Higashi
c6802f41da patch 9.1.1809: winclip.pro included in PRO_AUTO
Problem:  winclip.pro included in PRO_AUTO
Solution: Remove it from PRO_AUTO since it is already defined in
          PRO_MANUAL (Hirohito Higashi).

closes: #18432

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:58:57 +00:00
Hirohito Higashi
3b1901eb53 runtime(doc): Tweak documentation style
closes: #18436

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:57:27 +00:00
RestorerZ
5348829784 nsis: Load correct readme at the end, refactor gvim.nsi slightly
closes: #18440

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:55:17 +00:00
RestorerZ
bd6d5c8f0d nsis: Reorder code blocks
related: #18440

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:55:17 +00:00
RestorerZ
c55efbb148 nsis: Split gvim.nsi and factor out auxiliary code into auxiliary.nsh
Improves maintainability by separating helper functions and macros from
the main installer script.

related: #18440

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:55:13 +00:00
RestorerZ
f9feda2d6d nsis: Fix indentation and alignment issues in gvim.nsi
related: #18440

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:46:23 +00:00
Eisuke Kawashima
05e44e978f runtime(tex): add amsmath support to tex syntax script
Problem:  tex syntax file does not support some of the math equation
          environments provided by amsmath.sty, therefore well-formed
          snippet is highlighted as "texBadMath"
Solution: add the environments

closes: #18433

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:43:51 +00:00
zeertzjq
b3740f4b00 patch 9.1.1808: Option insecure flags not copied when splitting window
Problem:  Option insecure flags not copied when splitting window.
Solution: Move window-local insecure flags to winopt_T and copy them
          properly (zeertzjq).

closes: #18434

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:30:07 +00:00
zeertzjq
fec5586a45 patch 9.1.1807: :set doesn't clear local insecure flag like :setlocal does
Problem:  :set doesn't clear local insecure flag like :setlocal does.
Solution: Also clear the local insecure flag when using :set (zeertzjq).

This applies to local options like 'wrap', 'foldtext' and 'foldexpr',
whose global flags are actually never used.  For global-local options
like 'statusline' the behavior is already correct, so add some tests.

related: #18434

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:26:36 +00:00
Christian Brabandt
992e30774f runtime(doc): update list of modifiers at :h expand()
fixes: #18435

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-29 19:15:52 +00:00
Hirohito Higashi
ca6a260ef1 patch 9.1.1806: Missing PROTO defines
Problem:  Missing PROTO defines
Solution: Update ifdefs, update Makefile dependencies,
          updated proto files (Hirohito Higashi).

closes: #18406

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 18:13:21 +00:00
Doug Kearns
3a56139398 runtime(help): Update syntax, add vim9 example language
"vim9" is Vim9 script and "vim" is legacy script.

See: https://github.com/vim/vim/pull/18350#discussion_r2372462539

closes: #18407

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 18:09:38 +00:00
Doug Kearns
ae20d732ae runtime(vim): Update base syntax, improve line-continuation skip patterns
Factor out the common prefix in line-continuation :syn-skip patterns.

closes: #18416

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 18:02:13 +00:00
Doug Kearns
3de73844af runtime(doc): Fix :help complete() example
closes: #18417

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 18:01:15 +00:00
Ola Söder
7d903eaccf patch 9.1.1805: Amiga: Missing build date in version string
Problem:  Amiga: Missing build date in version string
Solution: Set build date in CFLAGS in Makefile (Ola Söder)

closes: #18418

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:58:44 +00:00
Doug Kearns
f4a6acd86e runtime(vim): Update base syntax, allow Vim9 :echo tail comments
- Match comments after Vim9 :echo and :execute.
- Match comments after Vim9 and legacy :eval.

closes: #18420

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:56:01 +00:00
Ola Söder
38b98bd8e6 patch 9.1.1804: Wrong indentation of nested ifdefs in findfile.c
Problem:  Wrong indentation of nested ifdefs in findfile.c
Solution: Update indentation (Ola Söder)

closes: #18422

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:53:02 +00:00
Ola Söder
02f8d2ebd5 patch 9.1.1803: Amiga: build errors
Problem:  Amiga: build errors
Solution: Update preprocessor conditionals (Ola Söder).

closes: #18423

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:48:43 +00:00
Aliaksei Budavei
91ac18cb03 runtime(java): Recognise _module_ import declarations
After two preview proposals (JEPs 476 and 494), _module_
import declarations are now a part of the language (JDK 25).

Reference:
https://openjdk.org/jeps/511

closes: #18424

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:40:29 +00:00
zeertzjq
9d5208a931 patch 9.1.1802: 'nowrap' in a modeline may hide malicious code
Problem:  'nowrap' in a modeline may hide malicious code.
Solution: Forcibly use '>' as 'listchars' "extends" if 'nowrap' was set
          from a modeline (zeertzjq).

Manual `:setlocal nowrap` disables this behavior.  There is a separate
problem with `:set nowrap` that also applies to some other options.

related: #18214
related: #18399
closes: #18425

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:37:58 +00:00
Yegappan Lakshmanan
ad43d2639d patch 9.1.1801: Vim9: misleading error when extending dictionary
Problem:  Vim9: misleading error when extending dictionary
          (lacygoill)
Solution: Give a proper error message when a Dict type is used with a
          compound operator (Yegappan Lakshmanan)

fixes: #8072
closes: #18426

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:17:37 +00:00
Girish Palya
d35e5e4237 patch 9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert
Problem:  completion: strange behaviour with 'ac'
          completeopt=longest,preinsert (zeertzjq)
Solution: Let preinsert take precedence (Girish Palya)

fixes: #18410
closes: #18428

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:12:55 +00:00
Girish Palya
3aa2edb557 patch 9.1.1799: completion: crash with autcompletion
Problem:  completion: crash with autcompletion
          (Maxim Kim)
Solution: Rework remove_old_matches (Girish Palya)

fixes: #18378
fixes: #18390
fixes: #18391
closes: #18427

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:07:29 +00:00
zeertzjq
d9318acc02 patch 9.1.1798: Wrong display with 'sms' and long wrapped virt text at EOL
Problem:  Wrong display with 'smoothscroll' and long wrapped virtual
          text at EOL.
Solution: Handle w_skipcol inside long wrapped virtual text at EOL
          (zeertzjq).

closes: #18408

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-27 12:18:38 +00:00
zeertzjq
4edaf89233 runtime(doc): improve preinserted() doc
Change the second "if" to "because", otherwise it may be misinterpreted
that preinserted() can return non-zero just because these options are
set.

closes: #18409

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-27 12:17:09 +00:00
Girish Palya
c05335082a patch 9.1.1797: completion: autocompletion can be improved
Problem:  completion: autocompletion can be improved
Solution: Add support for "longest" and "preinsert" in 'autocomplete';
          add preinserted() (Girish Palya)

* Add support for "longest" in 'completeopt' when 'autocomplete'
  is enabled. (Note: the cursor position does not change automatically
  when 'autocomplete' is enabled.)
* Add support for "preinsert" when 'autocomplete' is enabled. Ensure
  "preinsert" works the same with and without 'autocomplete'
* introduce the preinserted() Vim script function, useful for defining
  custom key mappings.

fixes: #18314
closes: #18387

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 17:29:38 +00:00
zeertzjq
3fc1f2a00e patch 9.1.1796: Wrong cursor position with wrapped "after" virtual text and 'sbr'
Problem:  Wrong cursor position with wrapped "after" virtual text and
          'showbreak' (Ben Jackson)
Solution: Count size of 'showbreak' in wrapped "after" virtual text in
          line size (zeertzjq).

fixes: #18398
closes: #18400

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 17:00:10 +00:00
Christian Brabandt
4aa4a56909 runtime(doc): update getwininfo() documentation about popups
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 12:57:05 -04:00
Yegappan Lakshmanan
773054b976 patch 9.1.1795: Vim9: popup_show() may return void
Problem:  Vim9: popup_show() may return void
Solution: Modify popup_show() to return -1 for an invalid popup window
          id (Yegappan Lakshmanan).

fixes: #18389
closes: #18401

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 16:30:52 +00:00
Doug Kearns
7bb733f6bf runtime(vim): Update base syntax, match null_tuple literal
closes: #18404

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 16:28:00 +00:00
Christian Brabandt
9cc58faeac patch 9.1.1794: configure: terminfo test does not work with musl
Problem:  configure: terminfo test does not work with musl
          (T3rm1, after v9.9.1.0837)
Solution: include term.h in configure script, add forward declarations,
          in case headers are not found

fixes: #18393
closes: #18405

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 16:23:06 +00:00
Christian Brabandt
1e009b0634 patch 9.1.1793: Link error when build without channel feature
Problem:  Link error when build without channel feature
          (lindhobe, after v9.1.1774)
Solution: Remove ifdef FEAT_JOB_CHANNEL around
          check_for_string_or_blob_arg()

fixes: #18396

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 16:18:55 +00:00
Paul Ollis
35a89ce9db patch 9.1.1792: List of changes not protected from changes
Problem:  List of changes not protected from changes when processing
          listeners (after v9.1.1782)
Solution: Fully lock changes list for listener callbacks (Paul Ollis)

closes: #18385

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 20:11:34 +00:00
zeertzjq
377339dff3 runtime(doc): make order of verbs match order of operators
related: #18380
closes: #18388

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 20:07:24 +00:00
Christian Brabandt
07c68245de runtime(doc): MS-Windows: Improve documentation about VTP support
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 20:03:13 +00:00
Yegappan Lakshmanan
f8eda33368 patch 9.1.1791: type(void) throws an internal error
Problem:  type(void) throws an internal error (atitcreate)
Solution: Return proper error message (Yegappan Lakshmanan)

fixes: #17310
closes: #18392

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 19:21:16 +00:00
Jon Parise
900c747da3 runtime(python): fix 'type' syntax highlighting
The previous patterns unintentionally highlighted words like 'typename'.

addresses: https://github.com/vim/vim/pull/18090#issuecomment-3333025523
closes: #18394

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 19:08:14 +00:00
zeertzjq
ef818ae444 patch 9.1.1790: completion: Enter does not insert match with "noinsert"
Problem:  completion: Enter does not insert match with "noinsert".
          (Sergey Vlasov)
Solution: Check for compl_shown_match instead of compl_selected_item
          (zeertzjq).

fixes: #18386
related: #1653
closes: #18395

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 06:08:04 +00:00
Shay
36544c408e patch 9.1.1789: MS-Windows: using wrong check for bold font
Problem:  MS-Windows: using wrong check for bold font
          (after v9.1.1347)
Solution: Test if lf.lfWeight == FW_BOLD instead of a simple truthiness
          test (Shay)

Commit 411ae58 replaced an operator conditional

`if lf.lfWeight == FW_BOLD`

with a truthiness check

`if lf.lfWeight`

This conditional determines whether `:b` is inserted into the value of
`guifont`. The truthiness check allowed both FW_STANDARD and FW_BOLD
font weights to trigger the insertion of `:b` into the `guifont` string.
This commit restores the `== FW_BOLD` condition.

fixes: #18383
closes: #18397

Signed-off-by: Shay <shay_public@hotmail.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 05:57:11 +00:00
zeertzjq
1ae980a9cb runtime(doc): fix inconsistent indent in cmdline.txt
Also fix typo in autoload/netrw.vim.

related: #18371
closes: #18376

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-24 18:01:29 +00:00
Doug Kearns
b6f9d38f96 runtime(doc): Improve documentation of the ..= assignment operator
Explicitly mention the "..=" compound assignment operator everywhere
".=" is documented.

Convert some uses of "." and ".=" in the examples to ".." and "..=",
respectively.

closes: #18380

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-24 18:00:16 +00:00
Devin Weaver
4b97fc901f runtime(javascript): Add "using" keyword to JavaScript syntax highlighting
Prior to this change, const and let were keywords for variable
declarations.

This change adds `using` as another keyword for variable declaration.

This JavaScript feature was recently introduced.

Docs:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/using

closes: #18381

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-24 17:56:00 +00:00
Yegappan Lakshmanan
7376fa3fd8 patch 9.1.1788: Vim9: can declare a void variable
Problem:  Vim9: can declare a void variable (Ernie Rael)
Solution: Disallow such variable declaration (Yegappan Lakshmanan)

fixes: #13773
closes: #18382

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-24 17:51:17 +00:00
Christian Brabandt
a7680a1a69 runtime(doc): mention improved rendering with 'termguicolors'
related: #9715

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-24 17:43:15 +00:00
Felix Pehla
20e78ee807 runtime(swayconfig): support new config options in syntax script
From sway(5):
 - allow_tearing
 - primary_selection
 - swaybg_command
 - swaynag_command

From sway-output(5):
 - color_profile
 - allow_tearing

From sway-input(5):
 - clickfinger_button_map
 - rotation_angle
 - scroll_button_lock

closes: #18293

Signed-off-by: Felix Pehla <29adc1fd92@gmail.com>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 20:31:18 +00:00
Felix Pehla
24f0dbba8c patch 9.1.1787: filetype: not all Sway config files are recognized
Problem:  filetype: not all Sway config files are recognized
Solution: Detect files within */sway/config.d/* as swayconfig filetype
          (Felix Pehla).

Sways default config automatically includes files placed in
@sysconfdir@/sway/config.d/* (see config.in), so it makes sense to use
the sway syntax for those.

related: #18293

Signed-off-by: Felix Pehla <29adc1fd92@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 20:25:11 +00:00
shane.xb.qian
e89efc22be runtime(doc): update Vim policy
closes: #18372

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 20:10:31 +00:00
Ivan Pešić
a5bc3af087 translation(sr): Update Serbian messages translation
closes: #18372

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 20:05:15 +00:00
Konfekt
34747a13e0 runtime(doc): update live-grep and fuzzy-file-picker examples
closes: #18371

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 19:53:37 +00:00
Bjoern Foersterling
11bde1f169 runtime(sh): refactored sh.vim syntax script
- unified bashStatement, kshStatement and shStatement as much as
  possible
- separated builtin commands from external programs
- cleaned up kornshell flavor logic
- fixed alias syntax highlighting
- added test for bash alias syntax highlighting
- removed daemon keyword

closes: #18355

Signed-off-by: Bjoern Foersterling <bjoern.foersterling@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 19:48:09 +00:00
Doug Kearns
da5b6007fb runtime(vim): Update base syntax, match :terminal command
Match the full :terminal command syntax.

closes: #18367

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 18:31:34 +00:00
Doug Kearns
b1446dfd23 runtime(vim): Update base syntax, match :wincmd
Match the full :wincmd command syntax.

Allow for oneline assignment to Vim9 variables named winc[md].

Fixes #18368.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 18:24:53 +00:00
Ivan Pešić
8b9e687ea1 translation(sr): Update vim-02-beginner.tutor translation
closes: #18374

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 18:22:52 +00:00
Ivan Pešić
d0f47cf656 translation(sr): Update vim-01-beginner.tutor translation
Fix some mistakes and update the text

related: #18374

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 18:22:00 +00:00
Foxe Chen
01cde7ff4c patch 9.1.1786: Compile error with clipboard
Problem:  Compile error with clipboard
          (lacyggoill, after v9.1.1784)
Solution: Add $WAYLAND_SRC as dependency for clipboard.c in Makefile
          (Foxe Chen)

closes: #18375

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 18:15:48 +00:00
Christian Brabandt
58304078ad runtime(netrw): 'equalalways' is not always respected
fixes: #18358

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 18:13:28 +00:00
Christ van Willegen
55e6e6bbee patch 9.1.1785: typo in comment in change.c
Problem:  typo in comment in change.c (after v9.1.1782)
Solution: Fix typo in comment in change.c (Christ van Willegen).

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-22 20:17:53 +00:00
Christian Brabandt
a73963ed8c runtime(doc): fix typo, reorder, mention zip plugin at :h changed-9.2
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-22 20:13:29 +00:00
Christian Brabandt
224f8ca769 runtime(doc): clarify 'fileignorecase' option setting
fixes: #18360

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-22 19:36:37 +00:00
Foxe Chen
368710abcf patch 9.1.1784: Wayland code can be improved
Problem:  Wayland code can be improved
Solution: Refactor Wayland Clipboard code (Foxe Chen).

This the second attempt to refactor the Wayland code base:
- Move clipboard code from wayland.c to clipboard.c
- Use C99 bool type
- Properly poll the Wayland display file descriptor
- Instead of checking if the data source is not NULL in order to
  determine if a selection event comes from us, use a special mime type
  to identify selection events coming from ourselves. The problem with
  the previous approach is that race conditions may occur.
- Put the focus stealing code under a new feature "wayland_focus_steal"
- Use ELAPSED_* macros instead of gettimeofday()
- Pass tests
- Reimplement commented out code
- Update docs
- Make Wayland clipboard behaviour more in line with X11 when connection
  is lost
- add missing malloc checks and possible memory leaks + refactored some
  tests.

closes: #18324

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-22 19:09:52 +00:00
Shay
70d745a61b runtime(zip): support PowerShell Core
fixes: #17987
closes: #18345

Signed-off-by: Shay <shay_public@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-22 19:02:24 +00:00
zeertzjq
94c128184f patch 9.1.1783: ins_compl_leader() too far away from ins_compl_leader_len()
Problem:  ins_compl_leader() defined too far away from
          ins_compl_leader_len() (after 9.1.1781).
Solution: Move ins_compl_leader() just before ins_compl_leader_len().
          Add missing "static" to eval0_simple_funccal() definition.
          (zeertzjq).

closes: #18364

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-22 18:22:27 +00:00
Paul Ollis
e87d17ecfb patch 9.1.1782: buffer-listener callbacks may not match buffer content
Problem:  buffer-listener callbacks may not match buffer content, since
          they are buffered until the screen is updated.
Solution: Allow to handle buffer-callbacks un-buffered, meaning to
          handle those changes as soon as they happen (Paul Ollis).

fixes: #18183
closes: #18295

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-21 18:53:40 +00:00
Yegappan Lakshmanan
3a6cf6d53b patch 9.1.1781: some functions could be defined static
Problem:  some functions could be defined static
Solution: Change function definitions and make them static
          (Yegappan Lakshmanan)

closes: #18354

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-21 17:52:42 +00:00
Jon Parise
7b973492ae runtime(vimgoto): recognize 'silent' prefixes
It's common to optionally prefix commands like 'packadd!' with
'silent!', but that wasn't recognized by these patterns.

This change adds 'silent' support to the 'packadd', 'runtime', and
'colorscheme' command patterns.

closes: #18361

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-21 17:51:00 +00:00
Yuta Yamamoto
9fa8a114b2 patch 9.1.1780: mbyte contains overlapping list of utf_classes table
Problem:  mbyte contains overlapping list of utf_classes table
Solution: Update table to contain non-overlapping list (Yuta Yamamoto)

closes: #18362

Signed-off-by: Yuta Yamamoto <jichael.y.yuta1995@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-21 17:26:48 +00:00
Christian Brabandt
35531de588 runtime(unicode): update check for netrw
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-21 17:25:12 +00:00
Girish Palya
0208b3e80a patch 9.1.1779: completion: 'autocomplete' cannot be enabled per buffer
Problem:  completion: 'autocomplete' cannot be enabled per buffer
          (Tomasz N)
Solution: Make 'autocomplete' global or local to buffer (Girish Palya)

fixes: #18320
closes: #18333

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:54:27 +00:00
zeertzjq
2f3b7ea19a patch 9.1.1778: sha256() treats empty blob and null blob differently
Problem:  sha256() treats empty blob and null blob differently
          (after 9.1.1774).
Solution: Handle null blob the same as empty blob (zeertzjq).

closes: #18341

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:37:40 +00:00
Andis Spriņķis
841becdc2d runtime(lf): update syntax to support lf version r38
Adds the lf release 38 specific syntax highlighting changes.

From the PR andis-sprinkis/lf-vim#24 by @CatsDeservePets

closes: #18342

Signed-off-by: Andis Spriņķis <andis@sprinkis.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:36:03 +00:00
zeertzjq
8b5fe7d090 patch 9.1.1777: Mouse click to open fold doesn't work with utf-8 "foldclose" chars
Problem:  Mouse click to open fold doesn't work with utf-8 "foldclose"
          chars (Balki)
Solution: Use ScreenLinesUC[off] if it is set (zeertzjq).

fixes: #18344
closes: #18349

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:16:57 +00:00
zeertzjq
e19a882ffc patch 9.1.1776: completion: "adding" expansion doesn't work with cfc=keyword
Problem:  "adding" expansion doesn't work with cfc=keyword.
Solution: Remove incorrect assignment to compl_cont_status. Don't use
          fuzzy collection in "adding" status (zeertzjq).

related: neovim/neovim#35842
closes: #18351

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:12:14 +00:00
Damien Lejay
e39d35a44d Remove dlejay from maintainer list
closes: #18352

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:08:50 +00:00
Samuel Huang
21a21eafec patch 9.1.1775: filetype: Mamba configuration files are not recognized
Problem:  filetype: Mamba configuration files are not recognized
Solution: Detect .mambarc and mambarc as yaml filetype (Samuel Huang).

References:
- https://mamba.readthedocs.io/en/latest/user_guide/configuration.html

closes: #18338

Signed-off-by: Samuel Huang <hi@sgh.ng>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 20:28:53 +00:00
thinca
4150283b83 patch 9.1.1774: cannot calculate sha256 of a Blob
Problem:  cannot calculate sha256() of a Blob
Solution: Change sha256() to accept a Blob or String argument
          (thinca).

closes: #18336

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 20:22:23 +00:00
zeertzjq
e8b0e926d0 runtime(config): fix inconsistent group name
related: #18292

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 20:19:02 +00:00
zeertzjq
0c70820015 patch 9.1.1773: Crash in BufLeave after BufUnload closes other windows
Problem:  Crash in BufLeave/WinLeave/TabLeave when closing window after
          BufUnload closes all other windows in the tab page.
Solution: Avoid duplicate BufLeave/WinLeave events. Trigger TabLeave
          before removing the buffer (zeertzjq).

related: #14166
related: neovim/neovim#33603
closes: #18330

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 20:05:19 +00:00
Girish Palya
86e8e909f2 patch 9.1.1772: completion: inconsistent selection of first item with 'autocomplete'
Problem:  completion: inconsistent selection of first item with
          'autocomplete' (Tomasz N)
Solution: Check for 'autocomplete' option in ins_compl_new_leader()
          (Girish Palya).

fixes: #18326
closes: #18329

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:55:21 +00:00
Girish Palya
ee9a2f0512 patch 9.1.1771: complete: some redraw issues with 'autocomplete'
Problem:  complete: some redraw issues with 'autocomplete'
Solution: Fix the issues (Girish Palya)

This commit contains the following changes:
* Fix that wildtrigger() might leave opened popupmenu around #18298
* Remove blinking message on the command line when a menu item from a loaded
  buffer is selected during 'autocomplete'
* Add a test for PR #18265 to demonstrate why the PR is required for correct
  'autocomplete' behavior

fixes: #18298
closes: #18328

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:46:01 +00:00
Yegappan Lakshmanan
6bea124137 patch 9.1.1770: Vim9: wrong behaviour with trailing comments in command blocks
Problem:  Vim9: wrong behaviour with trailing comments in command blocks
          (balki)
Solution: Correctly skip over trailing comments (Yegappan Lakshmanan).

fixes: #18268
closes: #18327

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:40:22 +00:00
Christian Brabandt
6fd9dac992 runtime(log): highlight Java Errors
closes: #18315

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:37:10 +00:00
Girish Palya
a8f7957d0b patch 9.1.1769: completion: "preinsert" insert wrong word with 'smartcase' and 'autocomplete'
Problem:  completion: "preinsert" insert wrong word with 'smartcase' and
          'autocomplete'
Solution: Add compare completed item with the leader (Girish Palya)

closes: #18313

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:33:26 +00:00
Doug Kearns
57d243e27d runtime(vim): Update base syntax, fix indented Vim9 :redir highlighting
Include post operator whitespace in the Vim9 variable assignment
lookahead so that "redir =>" doesn't match as an assignment.

fixes: #18319
closes: #18323

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:28:18 +00:00
Hirohito Higashi
5bf41e7418 runtime(netrw): update regex to handle remote archives
closes: #18318

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-17 20:39:10 +00:00
Christian Brabandt
ef8ffd7485 patch 9.1.1768: Makefile does not uninstall global plugins
Problem:  Makefile does not uninstall global plugins
          (after v9.1.1757)
Solution: Uninstall global plugins before installing them,
          so that old files are not carried around and loaded
          when no longer used.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-17 20:22:41 +00:00
Christian Brabandt
934e7b765c patch 9.1.1767: Patch v9.1.1765 was wrong
Problem:  Patch v9.1.1765 was wrong
Solution: Roll back the change, it's correct to have call_func()
          initialize the type, so that not each function has to
          do this on its own.

This reverts commit 19fa46a469.

closes: #18317

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-17 19:51:52 +00:00
Shawon
115b5338da runtime(kitty): Fix typo in syntax file for kitty
closes: #18312

Signed-off-by: Shawon <mdmoinulhossainshawon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-16 19:25:31 +00:00
Yegappan Lakshmanan
afa2a81a88 patch 9.1.1766: Vim9: some functions do not handle null_string correctly
Problem:  Vim9: some Vim9 functions do not handle null_string correctly
          and may crash Vim (kennypete).
Solution: Check for null_string correctly in the searchpair() and
          substitute() functions (Yegappan Lakshmanan).

fixes: #18309
closes: #18311

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-16 19:19:42 +00:00
Hirohito Higashi
0b7d094d70 runtime(doc): Tweak doc style in syntax.txt
closes: #18310

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-16 19:07:57 +00:00
Christian Brabandt
684edc7dce runtime(doc): mention generic log highlighter
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-16 19:02:44 +00:00
Christian Brabandt
10d1ec658c runtime(doc): fix doc style from commit 5c9b71d63c
related: #18265

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-16 14:41:01 +02:00
Christian Brabandt
b2113e511f runtime(kitty): fix typo in syntax script
related: #18280

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 20:38:43 +00:00
Christian Brabandt
45b59a92ce runtime(doc): remove trailing whitespace from example in builtin.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 20:23:12 +00:00
Christian Brabandt
f79e262ffc runtime(doc): clarify how to call complete() funcs
related: #18287

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 20:21:38 +00:00
Damien Lejay
8801c9db2e runtime(m4): Improve parameters highlighting in syntax script
closes: #18306

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:59:58 +00:00
Damien Lejay
19fa46a469 patch 9.1.1765: f_isnan() and f_isinf() do not correctly initialize rettv type
Problem:  f_isnan() and f_isinf() do not correctly initialize rettv type
Solution: Initialize them with type: VAR_NUMBER and value 0 (Damien Lejay).

Both builtins wrote only rettv->vval.v_number and relied on call_func()
initialising rettv->v_type to VAR_NUMBER.  Explicitly set

    rettv->v_type = VAR_NUMBER;
    rettv->vval.v_number = 0;

at function entry to avoid undefined behaviour and make the return type
self-contained.

closes: #18307

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:55:25 +00:00
Simon Sobisch
049c76f0e8 runtime(termdebug): drop outdated comment from termdebug.vim
that was an internal note which somehow slipped in months ago and even
survived the change to Vimscript9

closes: #18305

Signed-off-by: Simon Sobisch <simonsobisch@web.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:49:32 +00:00
Maxim Kim
b1b80506ce runtime(colors): update colorschemes:
- Add PreInsert (darkblue, habamax, lunaperche, wildcharm, retrobox).
- Update QuickFixLine (habamax, lunaperche, wildcharm, retrobox) - make
  it foreground transparent in GUI.
- Make Todo in wildcharm just bold.

closes: #18304

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:47:20 +00:00
Hirohito Higashi
f9dad9e399 runtime(doc): Fix typos in eval.txt
closes: #18301

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:46:07 +00:00
zeertzjq
0e46e761fc Fix some typos in documentation, C code and test files
closes: #18300

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:42:30 +00:00
Jon Parise
817e4d3ee6 patch 9.1.1764: filetype: CODEOWNERS file not recognized
Problem:  filetype: CODEOWNERS file not recognized
Solution: Detect CODEOWNERS file as codeowners filetype, include a
          syntax and filetype plugin (Jon Parise).

CODEOWNERS files define code ownership rules for GitHub-hosted (and
other) repositories. The syntax is similar to 'gitignore' files but
differs in enough ways to warrant its own filetype.

References:
- https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

closes: #18299

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:35:47 +00:00
Shawon
a946ccf5ff patch 9.1.1763: filetype: kitty config files are not recognized
Problem:  filetype: kitty config files are not recognized
Solution: Detect */kitty/*.conf as kitty filetype, include a syntax
          script (Shawon).

closes: #18280

Signed-off-by: Shawon <mdmoinulhossainshawon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:10:12 +00:00
Girish Palya
5c9b71d63c patch 9.1.1762: completion: selected item not cleared on <BS> with 'ac'
Problem:  completion: selected item not cleared on backspace when
          'autocomplete' is set
Solution: Clear the selected item (Girish Palya)

closes: #18260

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:04:20 +00:00
Christian Brabandt
ba36510920 Problem: 'ruler' is set in defaults.vim
Problem:  'ruler' is set in defaults.vim, but not enabled by default in
          non-compatible mode.
Solution: set the ruler option in non-compatible mode, remove it from
          defaults.vim, update tests

closes: #18260

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 18:40:57 +00:00
Peter Kenny
d4c2cb4b27 runtime(doc): Improve doc for cmdline-ranges in cmdline.txt
closes: #18278

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 18:35:53 +00:00
Damien Lejay
8e0d374e4d runtime(doc): Improve the doc for :syn-containedin
closes: #18290

Co-authored-by: h_east <h.east.727@gmail.com>
Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 18:05:18 +00:00
Antonio Giovanni Colombo
958ae91f3a runtime(doc): typo in recent doc style tweaks in options.txt
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 17:53:16 +00:00
Hirohito Higashi
542cc4b35c patch 9.1.1760: wrong proto file for insexpand.pro
Problem:  wrong proto file for insexpand.pro
Solution: Update insexpand.pro (Hirohito Higashi).

closes: #18296

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 18:19:19 +00:00
Christian Brabandt
48f1d6442d patch 9.1.1759: filetype: generic log detection is too disturbing
Problem:  filetype: generic log detection is too disturbing
          (after v9.1.1755)
Solution: Revert setting log filetype

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 18:13:11 +00:00
Hirohito Higashi
235e77a3a3 runtime(doc): Tweak documentation style more in options and ft_hare
closes: 18289

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 11:05:46 -04:00
zeertzjq
46e22fd2f7 patch 9.1.1758: Diff mode crashes when adding text property in autocommand
Problem:  Diff mode crashes when adding text property in autocommand
          (after 9.1.1557).
Solution: Only restore ML_EMPTY memline flag, ignore the others
          (zeertzjq).

fixes: #18288
closes: #18291

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 11:01:26 -04:00
Damien Lejay
1e7a288cd3 runtime(config): mark unportable += as an error
closes: #18292

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 10:54:33 -04:00
D. Ben Knoble
81ca9916d2 runtime(html): guard against an existing b:undo_ftplugin var
Filetype plugins should not assume they are the only file to execute on
behalf of a buffer's filetype: other filetypes may use them, and
dotted filetypes may cause multiple to run. When this occurs, they
should _build_ on their respective b:undo_ftplugin settings, not
overwrite each other.

For example, when using a dotted filetype wiki.markdown, the wiki
filetype plugins go first. Then, during the markdown filetype plugins,
the HTML plugin's unconditional assignment to b:undo_ftplugin trashes
any data previously stored there by the wiki filetype.

Follow the pattern elsewhere of assigning or appending conditionally.

closes: #18267

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 04:42:25 -04:00
Foxe Chen
c077f5e9d8 patch 9.1.1757: The colorresp plugin causes additional redraws
Problem:  The colorresp plugin causes additional redraws
          (Linwei, after v9.1.1703)
Solution: Move the code back into the C core and get rid of the vim
          plugin (Foxe Chen)

fixes: #18251
closes: #18279

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 04:38:33 -04:00
bennyyip
c975d62473 patch 9.1.1756: termdebug: Need a few more user commands
Problem:  termdebug: Need a few more user commands
Solution: Add the :RunOrContinue and the :ToggleBreak user commands
          (bennyyip)

closes: #18283

Signed-off-by: bennyyip <yebenmy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 04:33:07 -04:00
Mao-Yining
c37f25c651 runtime(doc): update Markdown syntax documentation and mention Pandoc
fixes: #18286

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 04:28:23 -04:00
zeertzjq
97e0f955da runtime(doc): tweak documentation style a bit more in options.txt
related: #18284

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 04:12:12 -04:00
Mao-Yining
b8970b43cd patch 9.1.1755: filetype: generic log files are not recognized
Problem:  filetype: generic log files are not recognized
Solution: Detect *.log files as log filetype, include simple log syntax
          script (Mao-Yining).

closes: #18285

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 03:59:34 -04:00
Hirohito Higashi
450d59145e runtime(doc): tweak documentation style
closes: #18284

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-13 10:52:36 -04:00
Doug Kearns
e8bbdb90e4 runtime(doc): Add :defe[r] shortname spec and tag
closes: #18281

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-12 10:45:34 -04:00
zeertzjq
6f020cde56 patch 9.1.1754: :helptags doesn't skip examples with syntax
Problem:  :helptags doesn't skip examples with syntax
          (Evgeni Chasnovski)
Solution: Check for examples with syntax (zeertzjq).

fixes: #18273
closes: #18277

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 15:21:52 -04:00
Girish Palya
f35a2af8ef runtime(doc): improve 'complete' option description
Add minimal reference to LSP. It might help new users.

closes: #18276

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 15:19:22 -04:00
Tom Benham
9e100b8d14 runtime(netrw): only keep cursor position in tree listing mode
fixes: #16255
closes: #18275

Signed-off-by: Tom Benham <tom.benham13@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 15:15:43 -04:00
zeertzjq
a0f37dbbf4 runtime(doc): use a single pattern in :h 'incsearch' example
related: https://github.com/vim/vim/pull/18262#issuecomment-3277008408
closes: #18270

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 15:08:57 -04:00
Yee Cheng Chin
976b365305 patch 9.1.1753: defaults: 'diffopt' option value can be improved
Problem:  defaults: 'diffopt' option value can be improved
Solution: Update diffopt defaults to include "indent-heuristic" and
          "inline:char" (Yee Cheng Chin)

The default diff options have not been updated much despite new
functionality having been added to Vim.

- indent-heurstic: This has been enabled by default in Git since
  33de716387 in 2017. Given that Vim uses xdiff from Git, it makes sense
  to track the default configuration from Git.

- inline:char: This turns on character-wise inline highlighting which is
  generally much better than the default inline:simple. It has been
  implemented since #16881 and we have not seen reports of any issues
  with it, and it has received good feedbacks.

closes: #18255

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 15:02:21 -04:00
Maxim Kim
b49d695fbc runtime(vim): Update indent script for line continuation with lambda
fixes: #18257
closes: #18269

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 14:25:09 -04:00
Doug Kearns
15070eee2f runtime(python): Update syntax, fix pythonEllipsis pattern
fixes: #18263
closes: #18264

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 13:54:51 -04:00
Maxim Kim
5a9ef93b2c runtime(doc): Update autocmd examples for command line autocompletion
In Windows [/] should be escaped [\/]:

	autocmd CmdlineChanged [:\/\?] call wildtrigger()

This updated example works both in Linux and Windows.

closes: #18262

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 11:38:04 -04:00
zeertzjq
b2c8848055 runtime(doc): improve docs related to 'autocomplete'
Manual completion can still be used when 'autocomplete' is set, so
saying "active" is better than "enabled".

closes: #18261

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 07:35:40 -04:00
Girish Palya
fe0061c609 patch 9.1.1752: tests: need another test for v9.1.1750 behaviour
Problem:  tests: No test when deleting text after autocompletion with preinsert
          did complete an entry
Solution: Verify, that after deletion autocompletion does not reinsert
          the deleted text. Note: the actual issue was fixed with v9.1.1750.
          (Girish Palya)

Pre v9.1.1750 behaviour:
When autocomplete is enabled with *preinsert*, deleting text after selecting a
longer match could cause unintended reinsertion, e.g.:

- Matches available: "foo" and "foobar".
- User selects "foobar" with Ctrl-N
- User deletes characters back to "foo".
- Autocomplete then incorrectly re-inserts "bar", preventing deletion past "foo".

v9.1.1750 removes the unwanted reinsertion so text can be deleted correctly.

closes: #18259

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 04:12:16 -04:00
Christian Brabandt
21ecb0d2e2 patch 9.1.1751: potential buffer-overflow in find_pattern_in_path()
Problem:  potential buffer-overflow in find_pattern_in_path()
Problem:  Verify ptr p has enough room before adding ins_compl_len()

fixes: #18195
closes: #18249

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 04:09:23 -04:00
Girish Palya
2525c56e42 patch 9.1.1750: completion: preinserted text highlighed using ComplMatchIns
Problem:  completion: preinserted text highlighed using ComplMatchIns
Solution: Use highlighting group PreInsert and update the documentation
          (Girish Palya).

When "preinsert" is included in 'completeopt', only the PreInsert
highlight group should be applied, whether autocompletion is active or not.
Previously, ComplMatchIns was used when autocompletion was not enabled.

Related to https://github.com/vim/vim/pull/18213.

closes: #18254

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 04:04:24 -04:00
Christian Brabandt
f6659f6e61 patch 9.1.1749: leaking memory in cs_find_common()
Problem:  leaking memory in cs_find_common()
          (after v9.1.1746)
Solution: Also free nummatches before returning

closes: #18258

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 03:59:38 -04:00
Luna Razzaghipour
4bf0f6c1df patch 9.1.1748: macOS: Default scheduler priority too low
Problem:  macOS: Default scheduler priority too low
Solution: Explicitly set TASK_DEFAULT_APPLICATION scheduler priority
          to improve responsiveness (Luna Razzaghipour).

closes: #18120

Signed-off-by: Luna Razzaghipour <luna@xoria.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-10 03:55:51 -04:00
Girish Palya
306a138172 patch 9.1.1747: completion: redo (.) broken with preinsert and autocompletion
Problem:  completion: redo (.) broken with preinsert and autocompletion
Solution: Make redo (.) work with preinsert and autocompletion
          (Girish Palya)

closes: #18253

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-09 15:33:14 -04:00
Girish Palya
80981e1db9 runtime(doc): mention 'findfunc' at :h :find
fixes: #18250
related: #18253

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-09 15:31:30 -04:00
ashamedbit
12b9431eab patch 9.1.1746: Missing Null ptr check in cs_find_common()
Problem:  Missing Null ptr check in cs_find_common()
Solution: Return when tmp pointer is null (ashamedbit)

fixes: #18225
closes: #18248

Signed-off-by: ashamedbit <muralianiruddhan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-09 15:21:57 -04:00
Christian Brabandt
5291fe89b3 runtime(doc): mention hl-PreInsert in version9.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-09 15:18:07 -04:00
Hirohito Higashi
95593facd7 patch 9.1.1745: tabpanel: not properly redraw after wildmenu
Problem:  tabpanel: not properly redraw after wildmenu
          (ddad431)
Solution: Mark tabpanel to be redrawn (Hirohito Higashi).

fixes: #18209
closes: #18252

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-09 15:11:13 -04:00
Jon Parise
77cfc49060 runtime(python): highlight ellipsis literals
The ellipsis literal (`...`) can be used in multiple contexts:

- Placeholders:     `class Foo: ...`
- Containers:       `Tuple[int, ...]`
- Assignments:      `x = ...`

This is a trickier pattern to match because we can't rely on keyword
boundaries, so we instead look for exactly three dots (`...`).

This does mean that we will match the `...` portion of `x...x`, which
isn't valid Python syntax, but I think that's an acceptable trade-off
that avoids making this pattern much more complex.

Reference:
- https://docs.python.org/3/library/constants.html#Ellipsis

closes: #18107

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-08 16:29:53 -04:00
Girish Palya
d7d6a6f05a runtime(doc): Improve doc for cmdline-autocompletion
- Address https://github.com/vim/vim/pull/18219#issuecomment-3264634710
- Make the cmdline-autocompletion help more user friendly

closes: #18245

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-08 16:25:42 -04:00
1084 changed files with 35643 additions and 17820 deletions

28
.github/MAINTAINERS vendored
View File

@@ -13,6 +13,7 @@ nsis/lang/russian.nsi @RestorerZ
runtime/autoload/freebasic.vim @dkearns
runtime/autoload/hare.vim @selenebun
runtime/autoload/hcl.vim @gpanders
runtime/autoload/javascriptcomplete.vim @jsit
runtime/autoload/modula2.vim @dkearns
runtime/autoload/rubycomplete.vim @segfault @dkearns
runtime/autoload/rust.vim @lilyball
@@ -44,6 +45,7 @@ runtime/colors/torte.vim @habamax @romainl @neutaaaaan
runtime/colors/wildcharm.vim @habamax @romainl @neutaaaaan
runtime/colors/zaibatsu.vim @habamax @romainl @neutaaaaan
runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
runtime/compiler/biome.vim @Konfekt
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cm3.vim @dkearns
runtime/compiler/cucumber.vim @tpope
@@ -128,6 +130,7 @@ runtime/ftplugin/basic.vim @dkearns
runtime/ftplugin/brighterscript.vim @ribru17
runtime/ftplugin/brightscript.vim @ribru17
runtime/ftplugin/bst.vim @tpope
runtime/ftplugin/bpftrace.vim @sgruszka
runtime/ftplugin/c3.vim @ttytm
runtime/ftplugin/cabal.vim @ribru17
runtime/ftplugin/cedar.vim @ribru17
@@ -136,6 +139,7 @@ runtime/ftplugin/chatito.vim @ObserverOfTime
runtime/ftplugin/chicken.vim @evhan
runtime/ftplugin/clojure.vim @axvr
runtime/ftplugin/cmakecache.vim @ribru17
runtime/ftplugin/codeowners.vim @jparise
runtime/ftplugin/cook.vim @ribru17
runtime/ftplugin/cs.vim @nickspoons
runtime/ftplugin/csh.vim @dkearns
@@ -187,8 +191,8 @@ runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hare.vim @selenebun
runtime/ftplugin/haredoc.vim @selenebun
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hcl.vim @gpanders
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/hlsplaylist.vim @avidseeker
runtime/ftplugin/hog.vim @wtfbbqhax
@@ -205,24 +209,26 @@ runtime/ftplugin/javacc.vim @ribru17
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
runtime/ftplugin/jjdescription.vim @gpanders
runtime/ftplugin/jq.vim @vito-c
runtime/ftplugin/json.vim @dbarnett
runtime/ftplugin/json5.vim @dkearns
runtime/ftplugin/jsonc.vim @izhakjakov
runtime/ftplugin/julia.vim @carlobaldassi
runtime/ftplugin/just.vim @pbnj
runtime/ftplugin/jq.vim @vito-c
runtime/ftplugin/kconfig.vim @chrisbra
runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
runtime/ftplugin/kerml.vim @daumantas-kavolis-sensmetry
runtime/ftplugin/kivy.vim @ribru17
runtime/ftplugin/kotlin.vim @udalov
runtime/ftplugin/lc.vim @ribru17
runtime/ftplugin/ldapconf.vim @ribru17
runtime/ftplugin/leex.vim @jparise
runtime/ftplugin/leo.vim @ribru17
runtime/ftplugin/less.vim @genoma
runtime/ftplugin/lex.vim @ribru17
runtime/ftplugin/lf.vim @andis-sprinkis
runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/lua.vim @dkearns
runtime/ftplugin/lc.vim @ribru17
runtime/ftplugin/lynx.vim @dkearns
runtime/ftplugin/m17ndb.vim @dseomn
runtime/ftplugin/m3build.vim @dkearns
@@ -284,9 +290,11 @@ runtime/ftplugin/sed.vim @dkearns
runtime/ftplugin/sh.vim @dkearns
runtime/ftplugin/shaderslang.vim @mTvare6
runtime/ftplugin/slint.vim @ribru17
runtime/ftplugin/sml.vim @tocariimaa
runtime/ftplugin/snakemake.vim @ribru17
runtime/ftplugin/solidity.vim @coti-z
runtime/ftplugin/solution.vim @dkearns
runtime/ftplugin/soy.vim @ribru17
runtime/ftplugin/spajson.vim @dseomn
runtime/ftplugin/spec.vim @ignatenkobrain
runtime/ftplugin/squirrel.vim @ribru17
@@ -295,6 +303,7 @@ runtime/ftplugin/sshdconfig.vim @jiangyinzuo
runtime/ftplugin/svelte.vim @igorlfs
runtime/ftplugin/sway.vim @ribru17
runtime/ftplugin/swayconfig.vim @jamespeapen
runtime/ftplugin/sysml.vim @daumantas-kavolis-sensmetry
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/swig.vim @jmarrec
runtime/ftplugin/tap.vim @petdance
@@ -370,6 +379,7 @@ runtime/indent/kdl.vim @imsnif @jiangyinzuo
runtime/indent/kotlin.vim @udalov
runtime/indent/krl.vim @KnoP-01
runtime/indent/ld.vim @dkearns
runtime/indent/lf.vim @andis-sprinkis
runtime/indent/less.vim @genoma
runtime/indent/liquid.vim @tpope
runtime/indent/lua.vim @marcuscf
@@ -456,7 +466,9 @@ runtime/syntax/chatito.vim @ObserverOfTime
runtime/syntax/chicken.vim @evhan
runtime/syntax/chuck.vim @andreacfromtheapp
runtime/syntax/clojure.vim @axvr
runtime/syntax/codeowners.vim @jparise
runtime/syntax/cs.vim @nickspoons
runtime/syntax/css.vim @jsit
runtime/syntax/csv.vim @habamax
runtime/syntax/cucumber.vim @tpope
runtime/syntax/d.vim @JesseKPhillips
@@ -536,16 +548,19 @@ runtime/syntax/just.vim @pbnj
runtime/syntax/jq.vim @vito-c
runtime/syntax/karel.vim @kirillmorozov
runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/kitty.vim @OXY2DEV
runtime/syntax/kivy.vim @prophittcorey
runtime/syntax/kotlin.vim @udalov
runtime/syntax/kdl.vim @imsnif @jiangyinzuo
runtime/syntax/krl.vim @KnoP-01
runtime/syntax/leex.vim @jparise
runtime/syntax/less.vim @genoma
runtime/syntax/lf.vim @andis-sprinkis
runtime/syntax/liquid.vim @tpope
runtime/syntax/log.vim @mao-yining
runtime/syntax/lua.vim @marcuscf
runtime/syntax/lyrics.vim @ObserverOfTime
runtime/syntax/lynx.vim @dkearns
runtime/syntax/lyrics.vim @ObserverOfTime
runtime/syntax/m17ndb.vim @dseomn
runtime/syntax/m3build.vim @dkearns
runtime/syntax/m3quake.vim @dkearns
@@ -581,6 +596,7 @@ runtime/syntax/pbtxt.vim @lakshayg
runtime/syntax/pdf.vim @tpope
runtime/syntax/perl.vim @petdance
runtime/syntax/php.vim @TysonAndre
runtime/syntax/pkl.vim @jclsn
runtime/syntax/plsql.vim @lee-lindley
runtime/syntax/pod.vim @petdance
runtime/syntax/poefilter.vim @ObserverOfTime
@@ -666,7 +682,6 @@ runtime/syntax/zsh.vim @chrisbra
runtime/tutor/tutor1.eo @dpelle
runtime/tutor/tutor1.fr @dpelle
runtime/tutor/tutor1.ru @RestorerZ
runtime/tutor/tutor2.fr @dlejay
src/iscygpty.* @k-takata
src/libvterm/ @leonerd
src/po/ca.po @nfdisco
@@ -683,4 +698,7 @@ src/po/ru.po @RestorerZ
src/po/sr.po @eevan78
src/po/tr.po @bitigchi
src/po/uk.po @sakhnik
src/proto/gen_prototypes.py @h-east
src/xxd/ @jnweiger
# vim:ft=codeowners

View File

@@ -3,11 +3,39 @@ description: "Upload failed test artifacts"
runs:
using: "composite"
steps:
- name: Collect matrix properties for naming
uses: actions/github-script@v8
id: matrix-props
env:
MATRIX_PROPS: ${{ toJSON(matrix) }}
with:
# An array-flattening-to-string JavaScript function.
script: |
const f = function (x) { return x.toString().length > 0; }
const g = function (x) {
return (Array.isArray(x))
? x.filter(f)
.map((function (h) { return function (y) { return h(y); }; })(g))
.join('-')
: x;
}
return Object.values(JSON.parse(process.env.MATRIX_PROPS))
.filter(f)
.map(g)
.join('-');
# By default, the JSON-encoded return value of the function is
# set as the "result".
result-encoding: string
- name: Upload failed tests
uses: actions/upload-artifact@v4
with:
# Name of the artifact to upload.
name: GH-${{ github.run_id }}-${{ github.run_attempt }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-tests
name: ${{ format('GH-{0}-{1}-{2}-{3}-{4}-failed-tests',
github.run_id,
github.run_attempt,
github.job,
strategy.job-index,
steps.matrix-props.outputs.result) }}
# A file, directory or wildcard pattern that describes what
# to upload.

11
.github/labeler.yml vendored
View File

@@ -45,9 +45,7 @@ if_perl:
- changed-files:
- any-glob-to-any-file:
- 'src/if_perl.xs'
- 'src/if_perlsfio.c'
- 'src/proto/if_perl.pro'
- 'src/proto/if_perlsfio.pro'
- 'runtime/doc/if_perl.txt'
if_python:
@@ -130,9 +128,12 @@ runtime:
- all:
- changed-files:
- any-glob-to-any-file:
- 'runtime/ftplugin'
- 'runtime/syntax'
- 'runtime/indent'
- 'runtime/autoload/**/*.vim'
- 'runtime/colors/**/*.vim'
- 'runtime/compiler/**/*.vim'
- 'runtime/ftplugin/**/*.vim'
- 'runtime/indent/**/*.vim'
- 'runtime/syntax/**/*.vim'
- 'runtime/pack/dist/opt/termdebug/plugin/termdebug.vim'
termdebug:

View File

@@ -84,17 +84,14 @@ jobs:
architecture: arm64
- features: normal
compiler: gcc
extra: [vimtags]
extra: [vimtags, proto]
- features: huge
compiler: gcc
extra: [no_x11]
- features: huge
compiler: gcc
extra: [socketserver]
extra: [no_x11_wl]
steps:
- name: Checkout repository from github
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Check Filelist (for packaging)
run: |
@@ -182,6 +179,9 @@ jobs:
libattr1-dev
)
fi
if ${{ contains(matrix.extra, 'proto') }}; then
PKGS+=( python3-clang )
fi
sudo apt-get update && sudo apt-get upgrade -y --allow-downgrades && sudo apt-get install -y --allow-downgrades "${PKGS[@]}"
- name: Install gcc-${{ env.GCC_VER }}
@@ -242,11 +242,8 @@ jobs:
;;
esac
if ${{ contains(matrix.extra, 'no_x11') }}; then
CONFOPT="${CONFOPT} --without-x --disable-gui"
fi
if ${{ contains(matrix.extra, 'socketserver') }}; then
CONFOPT="${CONFOPT} --enable-socketserver"
if ${{ contains(matrix.extra, 'no_x11_wl') }}; then
CONFOPT="${CONFOPT} --without-x --disable-gui --without-wayland --enable-socketserver"
fi
if ${{ matrix.coverage == true }}; then
CFLAGS="${CFLAGS} --coverage -DUSE_GCOV_FLUSH"
@@ -270,6 +267,9 @@ jobs:
if ${{ contains(matrix.extra, 'vimtags') }}; then
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
fi
if ${{ contains(matrix.extra, 'proto') }}; then
echo "TEST=-C src protoclean proto"
fi
echo "CFLAGS=${CFLAGS}"
echo "CONFOPT=${CONFOPT}"
# Disables GTK attempt to integrate with the accessibility service that does run in CI.
@@ -354,6 +354,15 @@ jobs:
true
)
- name: Generate Proto files
if: contains(matrix.extra, 'proto')
run: |
# This will exit with an error code if the generated proto files differ from source
(
git diff --exit-code -- src/proto/
true
)
- name: Generate gcov files
if: matrix.coverage
run: |
@@ -391,11 +400,11 @@ jobs:
fail-fast: false
matrix:
features: [tiny, normal, huge]
runner: [macos-13, macos-15]
runner: [macos-15-intel, macos-26]
steps:
- name: Checkout repository from github
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install packages
if: matrix.features == 'huge'
@@ -403,12 +412,6 @@ jobs:
brew install lua libtool
echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
- name: Set up Xcode
if: matrix.runner == 'macos-15'
run: |
# Xcode 16 has compiler bugs which are fixed in 16.2+
sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Set up environment
run: |
(
@@ -585,7 +588,7 @@ jobs:
release: false
- name: Checkout repository from github
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Create a list of download URLs
shell: cmd

View File

@@ -44,11 +44,11 @@ jobs:
steps:
- name: Checkout repository from github
uses: actions/checkout@v5
uses: actions/checkout@v6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -59,7 +59,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -73,4 +73,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout repository from github
if: env.TOKEN
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Download Coverity
if: env.TOKEN

View File

@@ -8,7 +8,7 @@ jobs:
lychee:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run Lychee
uses: lycheeverse/lychee-action@v2
with:

1
.gitignore vendored
View File

@@ -11,6 +11,7 @@ src/objects
src/po/big5corr
src/po/sjiscorr
src/types.vim
src/tmp_make
# We do need src/auto/configure.
src/auto/config.cache

View File

@@ -251,6 +251,7 @@ SRC_ALL = \
src/testdir/viewdumps.vim \
src/proto.h \
src/protodef.h \
src/proto/gen_prototypes.py \
src/proto/alloc.pro \
src/proto/arabic.pro \
src/proto/arglist.pro \
@@ -537,6 +538,7 @@ SRC_UNIX = \
src/vimtutor \
src/gvimtutor \
src/wayland.c \
src/wayland.h \
src/which.sh \
src/gen-wayland-protocols.sh \
src/xxd/Makefile \
@@ -549,7 +551,6 @@ SRC_DOS_UNIX = \
src/if_mzsch.c \
src/if_mzsch.h \
src/if_perl.xs \
src/if_perlsfio.c \
src/if_python.c \
src/if_python3.c \
src/if_py_both.h \
@@ -560,7 +561,6 @@ SRC_DOS_UNIX = \
src/proto/if_lua.pro \
src/proto/if_mzsch.pro \
src/proto/if_perl.pro \
src/proto/if_perlsfio.pro \
src/proto/if_python.pro \
src/proto/if_python3.pro \
src/proto/if_ruby.pro \
@@ -638,8 +638,8 @@ SRC_DOS = \
src/tee/tee.c \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/auxiliary.nsh \
nsis/gvim.nsi \
nsis/gvim_version.nsh \
nsis/Makefile \
nsis/Make_mvc.mak \
nsis/README.txt \
@@ -829,6 +829,10 @@ RT_ALL = \
runtime/pack/dist/opt/editorconfig/doc/editorconfig.txt \
runtime/pack/dist/opt/editorconfig/ftdetect/editorconfig.vim \
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
runtime/pack/dist/opt/helpcurwin/autoload/helpcurwin.vim \
runtime/pack/dist/opt/helpcurwin/doc/helpcurwin.txt \
runtime/pack/dist/opt/helpcurwin/doc/tags \
runtime/pack/dist/opt/helpcurwin/plugin/helpcurwin.vim \
runtime/pack/dist/opt/helptoc/autoload/helptoc.vim \
runtime/pack/dist/opt/helptoc/doc/helptoc.txt \
runtime/pack/dist/opt/helptoc/doc/tags \

View File

@@ -105,7 +105,7 @@ MINOR = 1
# - Update Vim version number. For a test version in: src/version.h,
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
# runtime/doc/*.txt.
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
# "huge" features. Add MZscheme if you can make it work.
@@ -410,7 +410,7 @@ amisrc: dist prepare
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
# MS-DOS sources
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
dossrc: dist dist/$(COMMENT_SRC) license
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
@@ -423,7 +423,6 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
$(SRC_DOS_UNIX) \
lang/LICENSE.*.txt \
lang/README.*.txt \
nsis/gvim_version.nsh \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
@@ -432,9 +431,6 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
license:
cd nsis && $(MAKE) -f Makefile $@
nsis/gvim_version.nsh: Makefile
cd nsis && $(MAKE) -f Makefile $(@F)
dosrt: dist dist/$(COMMENT_RT) dosrt_files
-rm -rf dist/vim$(VERSION)rt.zip
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)

View File

@@ -33,6 +33,7 @@ Pmenu
PmenuSbar
PmenuSel
PmenuThumb
PmenuShadow
Question
Scrollbar
Search
@@ -51,6 +52,8 @@ TabLineFill
TabLineSel
Terminal
Title
TitleBar
TitleBarNC
TOhtmlProgress
TOhtml-progress-color
ToolbarButton

52
lang/LICENSE.zh_cn.txt Normal file
View File

@@ -0,0 +1,52 @@
VIM 使用许可协议
I) 任何人均可不受限制地分发未经修改的 Vim 软件完整副本,但须在该等副本中包含本
许可协议全文。您亦可分发未经修改的 Vim 软件组成部分,该等分发行为同样不受限
制,惟仍须包含本许可协议全文。您还可随附基于未经修改的 Vim 源代码编译而成的
可执行文件、您自行编写的使用范例以及 Vim 脚本文件。
II) 在同时满足下列四项条件的前提下,(或扩展)的 Vim 软件版本(包括可执行文件、
源代码或二者兼具):
1) 必须完整包含未经任何改动的本许可协议文本。
2) 经修改的 Vim 软件必须通过以下五种方式之一进行分发:
a) 如您对 Vim 软件自行实施修改,必须在分发材料中明确标注有效的联系方式。
当 Vim 维护者以任何形式向您索要您所分发的修改版副本时,您必须无偿向该
维护者提供全部修改内容(含源代码)。维护者保留将您的修改成果纳入 Vim
官方版本的权利。维护者将如何处置您的修改成果以及该等成果遵循何种许可协
议进行分发,均属可协商事项。若双方未达成特别约定,则您的修改内容自动适
用本协议或其后续版本。当前维护团队名单载于https://github.com/orgs/vim/people。
若前述信息发生变更,将通过适当渠道(通常为 vim.sf.net、www.vim.org 及/
或 comp.editors予以公告。当客观上完全无法联系到维护者时您向其提交
修改成果的义务即告终止。维护者确认收到修改成果后,您无需重复提交。
b) 如您获得依据本条第 a) 款方式分发的修改版 Vim可依照 I) 之规定继续分发
其未经改动的版本。若您在该版本基础上实施新的修改,则 a) 款相关规定对该
等新增修改同样适用。
c) 在您分发的每一份修改版 Vim 副本中,均需提供所有修改内容,包括源代码。
可采取上下文差异补丁等形式提供。您可自主选择适用于新增代码的许可协议。
该等修改内容及其所附许可协议不得限制其他使用者对 Vim 官方版本进行自主
修改。
d) 若您持有的修改版 Vim 包含符合本条第 c) 款特征的修改内容,在同时满足下
列三项条件时,可不提供修改部分的源代码进行分发:
- 适用于该修改内容的许可协议明确允许您无偿且无限制地向 Vim 维护者分发
该修改,并允许维护者无偿且无限制地将其纳入 Vim 官方版本;
- 您需自最后一次分发对应修改版 Vim 之日起,将修改内容至少保存三年。在
此期间,若维护者或任何从您处获得该修改版的人员向您索要修改内容,您必
须及时提供;
- 您必须在分发材料中明确标注有效的联系方式。该联系方式自最后一次分发对
应的修改版 Vim 后至少三年内保持有效,并应尽可能长期维持。
e) 若 GNU 通用公共许可证GPL适用于修改内容您可依据 GNU GPL 第二版或
其任何后续版本的规定分发修改后的 Vim 软件。
3) 必须至少在 ":version" 命令输出界面及软件启动画面中添加显著声明,以确保修
改版 Vim 的用户能够知悉该软件已被修改。依据本条第 2 款 e) 项规定进行分发
时,仅在所添加声明不与修改内容所适用许可协议相冲突的前提下,方须履行此项
声明添加义务。
4) 本条第 2 款 a) 项与 d) 项要求的联系方式不得被删除或篡改,但联系人本人可对
其进行修正更新。
III) 如果您分发修改版的 Vim采用本协议作为其修改内容的许可依据并将其包括源
代码)提供给维护者。首选方式是通过电子邮件或将文件上传至服务器并通过电子邮
件发送 URL 地址。如果修改量较小(例如,修改过的 Makefile通过电子邮件发
送上下文差异补丁即可。应使用的电子邮件地址为 <maintainer@vim.org>。
IV) 严禁从 Vim 源代码及其组成部分或任何修改版本的分发材料中移除本许可协议。您有
权选择将本协议适用于既往发布的 Vim 版本,以替代其原始随附的许可协议。

122
lang/README.zh_cn.txt Normal file
View File

@@ -0,0 +1,122 @@
Vim: Vi IMproved 9.1 版本的 README.txt 文件
什 么 是 VIM
Vim 是经典 UNIX 编辑器 Vi 的一个极大改进版本。它新增了许多功能:多级撤销、语法高
亮、命令行历史、在线帮助、拼写检查、文件名补全、块操作、脚本语言等。同时也提供了
图形用户界面GUI。尽管如此Vi 兼容性依然得以保留,习惯使用 Vi 的用户操作时仍
会感到得心应手。与 Vi 的差异请参阅 "runtime/doc/vi_diff.txt"。
此编辑器对于编辑代码和其他纯文本文件非常有用。所有命令都通过常规键盘字符输入,因
此熟练盲打的用户能够高效工作。此外,用户可以将功能键映射到命令,并且可以使用鼠标。
Vim 也致力于提供一个(基本)符合 POSIX 标准的 vi 实现。当它以最小功能集(通常称
为 vim.tiny编译时被许多 Linux 发行版用作默认的 vi 编辑器。
Vim 可在 MS-Windows (7, 8, 10, 11)、macOS、Haiku、VMS 以及几乎所有 UNIX 变体上运
行。移植到其他系统应该不太困难。旧版本的 Vim 曾在 Amiga DOS、Atari MiNT、BeOS、
MS-DOS、MS-Windows 95/98/Me/NT/2000/XP/Vista、RISC OS 和 OS/2 上运行。这些版本的
维护现已终止。
获 取 途 径
通常你可以使用你喜欢的软件包管理器来安装 Vim。在 Mac 和 Linux 上,会预装一个简化
版的 Vim如果你需要更多功能仍需要安装完整的 Vim。
有针对 Unix、PC、Amiga 和其他一些系统的独立发行版。本 README.txt 文件随运行时存
档一起提供。该存档包含文档、语法文件以及其他运行时使用的文件。要运行 Vim你必须
获取二进制存档或源代码存档之一。您需要哪一种取决于您想要运行 Vim 的系统以及您是
否希望或必须自行编译。请查阅 "https://www.vim.org/download.php" 以了解当前可用的
发行版概览。
获取最新版 Vim 的常见方式:
* 从 github 检出 git 仓库https://github.com/vim/vim。
* 以存档形式获取源代码https://github.com/vim/vim/tags。
* 从 vim-win32-installer 仓库获取 Windows 可执行文件:
https://github.com/vim/vim-win32-installer/releases。
编 译
如果你获得的是二进制发行版,则无需编译 Vim。如果你获得的是源代码发行版编译 Vim
所需的所有内容都在 "src" 目录中。请参阅 src/INSTALL 文件中的说明。
安 装
请查阅以下文件之一以获取系统特定的安装说明。这些文件位于仓库中的 READMEdir 目录,
或者在你解压缩存档后的顶级目录中:
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS 和 MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
根据你使用的发行版,可能还有其他 README_*.txt 文件。
文 档
Vim tutor 是为初学者设计的一小时培训课程。通常可以通过 "vimtutor" 命令启动。更多
信息请参阅 ":help tutor"。
最佳方式是在 Vim 中使用 ":help" 命令。如果您尚未安装可执行文件,请阅读
"runtime/doc/help.txt"。该文件包含指向其他文档文件的指引。用户手册采用书籍体例编
排,是学习使用 Vim 的推荐资料。具体请参阅 ":help user-manual"。
复 制 与 版 权
Vim 是慈善软件。您可以尽情使用和复制它,但鼓励您捐款以帮助乌干达的孤儿。请阅读
"runtime/doc/uganda.txt" 文件了解详情(在 Vim 中执行 ":help uganda")。
许可摘要:对于未经修改的 Vim 副本其使用或分发不受任何限制。Vim 的部分内容亦可
分发,但必须始终包含许可文本。对于修改版本,则需遵循若干限制条款。本许可证与 GPL
兼容,您可使用 GPL 库编译 Vim 并进行分发。
赞 助
修复错误与增添新功能均需投入大量时间与精力。为支持开发工作并激励开发者持续完善
Vim敬请通过捐赠表达您的认可。
您捐赠的资金将主要用于帮助乌干达的儿童。请参阅 "runtime/doc/uganda.txt"。但同时,
您的捐赠也将激励开发团队持续投入 Vim 的开发工作。
关于赞助的最新信息,请查看 Vim 网站:
https://www.vim.org/sponsor/
贡 献
如果您想帮助改进 Vim请参阅 CONTRIBUTING.md 文件。
信 息 与 支 持
如果您在 macOS 上,可以使用 MacVimhttps://macvim.org
关于 Vim 的最新消息可以在 Vim 主页上找到:
https://www.vim.org/
如果您遇到问题,请查阅 Vim 文档或使用技巧:
https://www.vim.org/docs.php
https://vim.fandom.com/wiki/Vim_Tips_Wiki
如果您仍有问题或其他疑问,请使用其中一个邮件列表与 Vim 用户和开发者讨论:
https://www.vim.org/maillist.php
如果其他方法都无效,请直接将错误报告发送到 vim-dev 邮件列表:
<vim-dev@vim.org>
主 要 作 者
Vim 主要由 Bram Moolenaar <Bram@vim.org> 创建,可通过 ":help Bram-Moolenaar" 命
令了解更多信息。
请将任何其他评论、补丁、鲜花和建议发送到 vim-dev 邮件列表:<vim-dev@vim.org>

View File

@@ -1,60 +1,12 @@
#
# Makefile for MS Windows for create self-installing exe of Vim.
# 202404-05, Restorer, restorer@mail2k.ru
# 2025-10-03, Restorer, restorer@mail2k.ru
#
# included common tools
!INCLUDE ..\src\auto\nmake\tools.mak
# Read MAJOR and MINOR from version.h.
!IFNDEF MAJOR
! IF ![for /F "tokens=3" %G in \
('findstr /RC:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') \
do @(echo:MAJOR=%G>> .\_major.tmp)]
! INCLUDE .\_major.tmp
! IF [$(RM) .\_major.tmp]
! ENDIF
! ELSE
MAJOR = 9
! ENDIF
!ENDIF
!IFNDEF MINOR
! IF ![for /F "tokens=3" %G in \
('findstr /RC:"VIM_VERSION_MINOR[ ^]*[0-9^]" ..\src\version.h') \
do @(echo:MINOR=%G>> .\_minor.tmp)]
! INCLUDE .\_minor.tmp
! IF [$(RM) .\_minor.tmp]
! ENDIF
! ELSE
MINOR = 1
! ENDIF
!ENDIF
# Read PATCHLEVEL from version.c
!IFNDEF PATCHLEVEL
! IF ![for /F %G in \
('findstr /NBLC:"static int included_patches" ..\src\version.c \
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
@$(CMD) $(CMDFLAGS) "for /F "skip=%G delims=, " %H in \
(..\src\version.c) do (echo:PATCHLEVEL=%H> .\_patchlvl.tmp & exit /b)"]
! INCLUDE .\_patchlvl.tmp
! IF [$(RM) .\_patchlvl.tmp]
! ENDIF
! ELSE
PATCHLEVEL = 0
! ENDIF
!ENDIF
!IF $(PATCHLEVEL) < 10
PATCHLEVEL = 000$(PATCHLEVEL)
!ELSEIF $(PATCHLEVEL) < 100
PATCHLEVEL = 00$(PATCHLEVEL)
!ELSEIF $(PATCHLEVEL) < 1000
PATCHLEVEL = 0$(PATCHLEVEL)
!ENDIF
.SUFFIXES :
!IFDEF PROGRAMW6432
@@ -119,23 +71,13 @@ all : makeinst
makeinst : prepare
^"$(MKNSIS)" $(MKNSISFLAGS) gvim.nsi $(XX)
prepare : unzipicons gvim_version.nsh license rename
prepare : unzipicons license rename
unzipicons : icons.zip
@ if exist %|fF\nul $(RD) %|fF
@ $(PS) $(PSFLAGS) \
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \
[System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \
\".\")
gvim_version.nsh : Make_mvc.mak
@ 1> $@ echo:^# Generated from Makefile: define the version numbers
@ 1>> $@ echo:^!ifndef __GVIM_VER__NSH__
@ 1>> $@ echo:^!define __GVIM_VER__NSH__
@ 1>> $@ echo:^!define VER_MAJOR $(MAJOR)
@ 1>> $@ echo:^!define VER_MINOR $(MINOR)
@ 1>> $@ echo:^!define PATCHLEVEL $(PATCHLEVEL)
@ 1>> $@ echo:^!endif
[System.IO.Compression.ZipFile]::ExtractToDirectory('$**', '.')
license : ..\lang\LICENSE.*.txt ..\LICENSE
!@ $(PS) $(PSFLAGS) \
@@ -146,7 +88,6 @@ rename :
@ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul
clean :
@ if exist .\gvim_version.nsh $(RM) .\gvim_version.nsh
@ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt
@ if exist .\icons\nul $(RD) .\icons
@ if exist .\gvim??.exe $(RM) .\gvim??.exe

View File

@@ -1,6 +1,6 @@
#
# Makefile for UNIX-like for create self-installing exe of Vim.
# 15/12/2024, Restorer restorer@mail2k.ru
# 2025-10-03, Restorer, restorer@mail2k.ru
#
@@ -51,13 +51,6 @@ ifdef X
XX := -X"$(X:;=" -X")"
endif
MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
awk '{ printf "%d",$$3 }'
MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
awk '{ printf "%d",$$3 }'
PATCH != awk '/number below this line/,/,/' ../src/version.c | \
awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
all: makeinst
@@ -65,21 +58,12 @@ all: makeinst
makeinst: prepare
makensis $(MKNSISFLAGS) gvim.nsi $(XX)
prepare: unzipicons gvim_version.nsh license rename
prepare: unzipicons license rename
unzipicons: icons.zip
if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
unzip $?
gvim_version.nsh: Makefile
echo "# Generated from Makefile: define the version numbers" > $@
echo "!ifndef __GVIM_VER__NSH__" >> $@
echo "!define __GVIM_VER__NSH__" >> $@
echo "!define VER_MAJOR $(MAJOR)" >> $@
echo "!define VER_MINOR $(MINOR)" >> $@
echo "!define PATCHLEVEL $(PATCH)" >> $@
echo "!endif" >> $@
license: ../lang/LICENSE.*.txt ../LICENSE
for lic in $? ; do \
bn=`basename $$lic .txt` ; \
@@ -91,7 +75,6 @@ rename:
../tools/rename.bat "$(SRC)" "$(DST)"
clean:
if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi
rm -f ../lang/LICENSE*.nsis.txt
if test -d icons ; then rm -rf icons ; fi
if test -f gvim??.exe ; then rm -f gvim??.exe ; fi

View File

@@ -35,7 +35,7 @@ Preparatory stage
and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
directory). However, you can specify a different directory by specifying
the appropriate makefile value. How to do this is described below.
the appropriate makefile value. How to do this is described below.
6. To use stronger encryption, add the Sodium library. You can get it here:
https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
@@ -64,7 +64,7 @@ Preparatory stage
The default <GETTEXT directory> is "../..". However, you can specify a
different directory by specifying the appropriate makefile value. How to do
this is described below.
this is described below.
8. Install NSIS if you didn't do that already.
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
@@ -80,7 +80,7 @@ Installer assembly stage
After the installer is created and you copy it to the desired location, run
the following command in the "/nsis" directory
nmake.exe -lf Make_mvc.mak clean
On UNIX-like systems, go to the "/nsis" directory and type the command
make -f Makefile [variables] all
@@ -108,3 +108,5 @@ Variables and their values available for building the installer (not mandatory):
Example "X=OutFile MyVim.exe;XPMode on"
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is
located.
Note: for icons used in the installer, see the README.txt in the icons.zip

148
nsis/auxiliary.nsh Normal file
View File

@@ -0,0 +1,148 @@
# -*- coding: utf-8 -*-
# NSIS helper file for creating a self-installing exe for Vim.
# Contains service macros and functions.
# Last Change: 2025-09-03
#
!ifndef __AUXILIARY__NSH__
!define __AUXILIARY__NSH__
# See https://nsis.sourceforge.io/LogicLib
;FileExists is already part of LogicLib, but returns true for directories
;as well as files
!macro _FileExists2 _a _b _t _f
!insertmacro _LOGICLIB_TEMP
StrCpy $_LOGICLIB_TEMP "0"
;if path is not blank, continue to next check
StrCmp `${_b}` `` +4 0
;if path exists, continue to next check (IfFileExists returns true if this
;is a directory)
IfFileExists `${_b}` `0` +3
;if path is not a directory, continue to confirm exists
IfFileExists `${_b}\*.*` +2 0
StrCpy $_LOGICLIB_TEMP "1" ;file exists
;now we have a definitive value - the file exists or it does not
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
!macroend
!undef FileExists
!define FileExists `"" FileExists2`
!macro _DirExists _a _b _t _f
!insertmacro _LOGICLIB_TEMP
StrCpy $_LOGICLIB_TEMP "0"
;if path is not blank, continue to next check
StrCmp `${_b}` `` +3 0
;if directory exists, continue to confirm exists
IfFileExists `${_b}\*.*` 0 +2
StrCpy $_LOGICLIB_TEMP "1"
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
!macroend
!define DirExists `"" DirExists`
# Get parent directory
# Share this function both on installer and uninstaller
!macro GetParent un
Function ${un}GetParent
Exch $0 ; old $0 is on top of stack
Push $1
Push $2
StrCpy $1 -1
${Do}
StrCpy $2 $0 1 $1
${If} $2 == ""
${OrIf} $2 == "\"
${ExitDo}
${EndIf}
IntOp $1 $1 - 1
${Loop}
StrCpy $0 $0 $1
Pop $2
Pop $1
Exch $0 ; put $0 on top of stack, restore $0 to original value
FunctionEnd
!macroend
!insertmacro GetParent ""
!insertmacro GetParent "un."
# Get home directory
!macro GetHomeDir un
Function ${un}GetHomeDir
Push $0
Push $1
ReadEnvStr $0 "HOME"
${If} $0 == ""
ReadEnvStr $0 "HOMEDRIVE"
ReadEnvStr $1 "HOMEPATH"
StrCpy $0 "$0$1"
${If} $0 == ""
ReadEnvStr $0 "USERPROFILE"
${EndIf}
${EndIf}
Pop $1
Exch $0 ; put $0 on top of stack, restore $0 to original value
FunctionEnd
!macroend
!insertmacro GetHomeDir ""
!insertmacro GetHomeDir "un."
# Saving the status of sections of the current installation in the registry
!macro SaveSectionSelection section_id reg_value
${If} ${SectionIsSelected} ${section_id}
WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" ${reg_value} 1
${Else}
WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" ${reg_value} 0
${EndIf}
!macroend
# Reading the status of sections from the registry of the previous installation
!macro LoadSectionSelection section_id reg_value
ClearErrors
ReadRegDWORD $3 HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
${IfNot} ${Errors}
${If} $3 = 1
!insertmacro SelectSection ${section_id}
${Else}
!insertmacro UnselectSection ${section_id}
${EndIf}
${EndIf}
!macroend
# Reading the settings for _vimrc from the registry of a previous installation
!macro LoadDefaultVimrc out_var reg_value default_value
ClearErrors
ReadRegStr ${out_var} HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
${If} ${Errors}
${OrIf} ${out_var} == ""
StrCpy ${out_var} ${default_value}
${EndIf}
!macroend
# Get user locale
!if ${HAVE_NLS}
Var lng_usr ; variable containing the locale of the current user
!include "StrFunc.nsh"
${StrRep}
Function GetUserLocale
ClearErrors
System::Call \
'kernel32::GetUserDefaultLocaleName(t.r19, *i${NSIS_MAX_STRLEN})'
StrCmp $R9 "zh-cn" coincide 0
StrCmp $R9 "zh-tw" coincide 0
StrCmp $R9 "pt-br" 0 part
coincide:
System::Call 'User32::CharLower(t r19 r19)*i${NSIS_MAX_STRLEN}'
${StrRep} $lng_usr "$R9" "-" "_"
Goto done
part:
StrCpy $lng_usr $R9 2
done:
FunctionEnd
!endif
!endif # __AUXILIARY__NSH__
# vi:set ts=8 sw=2 sts=2 tw=79 wm=0 ft=nsis:

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
# Generated from Makefile: define the version numbers
!ifndef __GVIM_VER__NSH__
!define __GVIM_VER__NSH__
!define VER_MAJOR 9
!define VER_MINOR 1
!define PATCHLEVEL 0
!endif

Binary file not shown.

View File

@@ -22,16 +22,14 @@ LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
# "..\lang\LICENSE.zh_cn.nsis.txt"
LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
"..\lang\LICENSE.zh_cn.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.zh_cn.txt"
LangString vim_readme_file ${LANG_SIMPCHINESE} "README.zh_cn.txt"
##############################################################################
# MUI Configuration Strings {{{1

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@ vim9script
# Language: Vim script
# Maintainer: github user lacygoill
# Last Change: 2025 Jul 25
# Last Change: 2025 Oct 09
#
# Includes changes from The Vim Project:
@@ -341,7 +341,8 @@ const PLUS_MINUS_COMMAND: string = '^\s*[+-]\s*$'
patterns =<< trim eval END
{'\'}<argd\%[elete]\s\+\*\s*$
\<[lt]\=cd!\=\s\+-\s*$
\<norm\%[al]!\=\s*\S\+$
\<norm\%[al]!\=\s\+.*$
\<reg\%[isters]\%(\s\+\S\+\)\+$
\%(\<sil\%[ent]!\=\s\+\)\=\<[nvxsoilct]\=\%(nore\|un\)\=map!\=\s
\<set\%(\%[global]\|\%[local]\)\>.*,$
{PLUS_MINUS_COMMAND}
@@ -400,6 +401,7 @@ const LINE_CONTINUATION_AT_SOL: string = '^\s*\%('
.. '\|' .. '[#"]\\ '
.. '\|' .. OPERATOR
.. '\|' .. '->\s*\h'
.. '\|' .. '->\s*(' # lambda call: ->((v) => v ? "ON" : "OFF")()
.. '\|' .. '\.\h' # dict member
.. '\|' .. '|'
# TODO: `}` at the start of a line is not necessarily a line continuation.

View File

@@ -1,8 +1,8 @@
" Author: Stephen Sugden <stephen@stephensugden.com>
" Last Modified: 2023-09-11
" Last Change:
" 2025 Mar 31 by Vim project (rename s:RustfmtConfigOptions())
" 2025 Jul 14 by Vim project (don't parse rustfmt version automatically #17745)
" 2025 Oct 27 by Vim project don't use rustfmt as 'formatprg' by default
"
"
" Adapted from https://github.com/fatih/vim-go
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
@@ -68,13 +68,7 @@ function! s:RustfmtWriteMode()
endif
endfunction
function! rustfmt#RustfmtConfigOptions()
let default = '--edition 2018'
if !get(g:, 'rustfmt_find_toml', 0)
return default
endif
function! s:RustfmtConfigOptions()
let l:rustfmt_toml = findfile('rustfmt.toml', expand('%:p:h') . ';')
if l:rustfmt_toml !=# ''
return '--config-path '.shellescape(fnamemodify(l:rustfmt_toml, ":p"))
@@ -97,7 +91,7 @@ function! s:RustfmtCommandRange(filename, line1, line2)
let l:arg = {"file": shellescape(a:filename), "range": [a:line1, a:line2]}
let l:write_mode = s:RustfmtWriteMode()
let l:rustfmt_config = rustfmt#RustfmtConfigOptions()
let l:rustfmt_config = s:RustfmtConfigOptions()
" FIXME: When --file-lines gets to be stable, add version range checking
" accordingly.
@@ -112,7 +106,7 @@ endfunction
function! s:RustfmtCommand()
let write_mode = g:rustfmt_emit_files ? '--emit=stdout' : '--write-mode=display'
let config = rustfmt#RustfmtConfigOptions()
let config = s:RustfmtConfigOptions()
return join([g:rustfmt_command, write_mode, config, g:rustfmt_options])
endfunction

View File

@@ -3,6 +3,7 @@
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 16.0
" Last Change: 2017 Oct 15
" 2025 Nov 11 by Vim project: only set 'omnifunc' if dbext script was loaded #18716
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
" Usage: For detailed help
" ":help sql.txt"
@@ -98,12 +99,11 @@
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
if exists('&omnifunc')
" Do not set the option if already set since this
" results in an E117 warning.
if &omnifunc == ""
setlocal omnifunc=sqlcomplete#Complete
endif
"
" Do not set the option if already set since this
" results in an E117 warning.
if exists('&omnifunc') && &omnifunc == "" && exists('g:loaded_dbext')
setlocal omnifunc=sqlcomplete#Complete
endif
if exists('g:loaded_sql_completion')

View File

@@ -211,7 +211,7 @@ function! tutor#TutorCmd(tutor_name)
endif
call tutor#SetupVim()
exe "edit ".l:to_open
exe "drop ".fnameescape(l:to_open)
call tutor#EnableInteractive(v:true)
endfunction
@@ -225,7 +225,7 @@ endfunction
function! tutor#EnableInteractive(enable)
let enable = a:enable
if enable
setlocal buftype=nofile
setlocal buftype=nowrite
setlocal concealcursor+=inv
setlocal conceallevel=2
call tutor#ApplyMarks()

View File

@@ -3,7 +3,7 @@ vim9script
# Vim completion script
# Language: Vim script
# Maintainer: Maxim Kim <habamax@gmail.com>
# Last Change: 2025-08-27
# Last Change: 2025-10-15
#
# Usage:
# setlocal omnifunc=vimcomplete#Complete
@@ -22,12 +22,15 @@ def GetTrigger(line: string): list<any>
result = 'function'
elseif line =~ '\v%(^|\s+)\&\k*$'
result = 'option'
elseif line =~ '\vse%[t]\s+(\k+\s+)*no\k*$'
result = 'nooption'
result_len = -2
elseif line =~ '[\[(]\s*$'
result = 'expression'
elseif line =~ '[lvgsb]:\k*$'
result = 'var'
result_len = 2
else
elseif line !~ '^\s*$'
result = getcompletiontype(line) ?? 'cmdline'
endif
return [result, result_len]
@@ -35,6 +38,7 @@ enddef
export def Complete(findstart: number, base: string): any
if findstart > 0
prefix = ""
var line = getline('.')->strpart(0, col('.') - 1)
var keyword = line->matchstr('\k\+$')
var stx = synstack(line('.'), col('.') - 1)->map('synIDattr(v:val, "name")')->join()
@@ -57,6 +61,9 @@ export def Complete(findstart: number, base: string): any
elseif trigger == 'option'
items = getcompletion(base, 'option')
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Option', dup: 0}))
elseif trigger == 'nooption'
items = getcompletion(base[2 : ], 'option')
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Option', dup: 0}))
elseif trigger == 'var'
items = getcompletion(base, 'var')
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Variable', dup: 0}))
@@ -71,8 +78,11 @@ export def Complete(findstart: number, base: string): any
items = commands + functions
else
try
items = getcompletion(prefix, 'cmdline')
->mapnew((_, v) => ({word: v->matchstr('\k\+'), kind: 'v', dup: 0}))
# :! and :term completion is very slow on Windows and WSL, disable it there.
if !((has("win32") || has("win32unix") || exists("$WSLENV")) && getcompletiontype(prefix) == 'shellcmd')
items = getcompletion(prefix, 'cmdline')
->mapnew((_, v) => ({word: v->matchstr('\k\+'), kind: 'v', dup: 0}))
endif
catch /E220/
endtry

View File

@@ -4,9 +4,9 @@ vim9script
# Contributers: @lacygoill
# Shane-XB-Qian
# Andrew Radev
# Last Change: 2025 Sep 02
# Last Change: 2025 Oct 17
#
# Vim Script to handle jumping to the targets of several types of Vim commands
# Vim script to handle jumping to the targets of several types of Vim commands
# (:import, :packadd, :runtime, :colorscheme), and to autoloaded functions of
# the style <path>#<function_name>.
#
@@ -16,17 +16,17 @@ vim9script
export def Find(editcmd: string) #{{{2
var curline: string = getline('.')
if curline =~ '^\s*\%(:\s*\)\=packadd!\=\s'
if curline =~ '^\s*\%(:\s*\)\=\%(sil\%[ent]!\=\s\+\)\=packadd!\=\s'
HandlePackaddLine(editcmd, curline)
return
endif
if curline =~ '^\s*\%(:\s*\)\=ru\%[ntime]!\='
if curline =~ '^\s*\%(:\s*\)\=\%(sil\%[ent]!\=\s\+\)\=ru\%[ntime]!\='
HandleRuntimeLine(editcmd, curline, expand('<cfile>'))
return
endif
if curline =~ '^\s*\%(:\s*\)\=colo\%[rscheme]\s'
if curline =~ '^\s*\%(:\s*\)\=\%(sil\%[ent]!\=\s\+\)\=colo\%[rscheme]\s'
HandleColoLine(editcmd, curline)
return
endif

View File

@@ -1,4 +1,4 @@
" zip.vim: Handles browsing zipfiles
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: 2024 Aug 21
" Version: 34
@@ -16,6 +16,7 @@
" 2024 Aug 21 by Vim Project: simplify condition to detect MS-Windows
" 2025 Mar 11 by Vim Project: handle filenames with leading '-' correctly
" 2025 Jul 12 by Vim Project: drop ../ on write to prevent path traversal attacks
" 2025 Sep 22 by Vim Project: support PowerShell Core
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
@@ -78,15 +79,124 @@ if v:version < 901
finish
endif
" sanity checks
if !executable(g:zip_unzipcmd)
if !executable(g:zip_unzipcmd) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system")
finish
endif
if !dist#vim#IsSafeExecutable('zip', g:zip_unzipcmd)
if !dist#vim#IsSafeExecutable('zip', g:zip_unzipcmd) && &shell !~ 'pwsh'
call s:Mess('Error', "Warning: NOT executing " .. g:zip_unzipcmd .. " from current directory!")
finish
endif
" ----------------
" PowerShell: {{{1
" ----------------
function! s:TryExecGnuFallBackToPs(executable, gnu_func_call, ...)
" Check that a gnu executable is available, run the gnu_func_call if so. If
" the gnu executable is not available or if gnu_func_call fails, try
" ps_func_call if &shell =~ 'pwsh'. If all attempts fail, print errors.
" a:executable - one of (g:zip_zipcmd, g:zip_unzipcmd, g:zip_extractcmd)
" a:gnu_func_call - (string) a gnu function call to execute
" a:1 - (optional string) a PowerShell function call to execute.
let failures = []
if executable(substitute(a:executable,'\s\+.*$','',''))
try
exe a:gnu_func_call
return
catch
call add(failures, 'Failed to execute '.a:gnu_func_call)
endtry
else
call add(failures, a:executable.' not available on your system')
endif
if &shell =~ 'pwsh' && a:0 == 1
try
exe a:1
return
catch
call add(failures, 'Fallback to PowerShell attempted but failed')
endtry
endif
for msg in failures
call s:Mess('Error', msg)
endfor
endfunction
function! s:ZipBrowsePS(zipfile)
" Browse the contents of a zip file using PowerShell's
" Equivalent `unzip -Z1 -- zipfile`
let cmds = [
\ '$zip = [System.IO.Compression.ZipFile]::OpenRead(' . s:Escape(a:zipfile, 1) . ');',
\ '$zip.Entries | ForEach-Object { $_.FullName };',
\ '$zip.Dispose()'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
function! s:ZipReadPS(zipfile, fname, tempfile)
" Read a filename within a zipped file to a temporary file.
" Equivalent to `unzip -p -- zipfile fname > tempfile`
if a:fname =~ '/'
call s:Mess('WarningMsg', "***warning*** PowerShell can display, but cannot update, files in archive subfolders")
endif
let cmds = [
\ '$zip = [System.IO.Compression.ZipFile]::OpenRead(' . s:Escape(a:zipfile, 1) . ');',
\ '$fileEntry = $zip.Entries | Where-Object { $_.FullName -eq ' . s:Escape(a:fname, 1) . ' };',
\ '$stream = $fileEntry.Open();',
\ '$fileStream = [System.IO.File]::Create(' . s:Escape(a:tempfile, 1) . ');',
\ '$stream.CopyTo($fileStream);',
\ '$fileStream.Close();',
\ '$stream.Close();',
\ '$zip.Dispose()'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
function! s:ZipUpdatePS(zipfile, fname)
" Update a filename within a zipped file
" Equivalent to `zip -u zipfile fname`
if a:fname =~ '/'
call s:Mess('Error', "***error*** PowerShell cannot update files in archive subfolders")
return ':'
endif
return 'Compress-Archive -Path ' . a:fname . ' -Update -DestinationPath ' . a:zipfile
endfunction
function! s:ZipExtractFilePS(zipfile, fname)
" Extract a single file from an archive
" Equivalent to `unzip -o zipfile fname`
if a:fname =~ '/'
call s:Mess('Error', "***error*** PowerShell cannot extract files in archive subfolders")
return ':'
endif
let cmds = [
\ '$zip = [System.IO.Compression.ZipFile]::OpenRead(' . s:Escape(a:zipfile, 1) . ');',
\ '$fileEntry = $zip.Entries | Where-Object { $_.FullName -eq ' . a:fname . ' };',
\ '$stream = $fileEntry.Open();',
\ '$fileStream = [System.IO.File]::Create(' . a:fname . ');',
\ '$stream.CopyTo($fileStream);',
\ '$fileStream.Close();',
\ '$stream.Close();',
\ '$zip.Dispose()'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
function! s:ZipDeleteFilePS(zipfile, fname)
" Delete a single file from an archive
" Equivalent to `zip -d zipfile fname`
let cmds = [
\ 'Add-Type -AssemblyName System.IO.Compression.FileSystem;',
\ '$zip = [System.IO.Compression.ZipFile]::Open(' . s:Escape(a:zipfile, 1) . ', ''Update'');',
\ '$entry = $zip.Entries | Where-Object { $_.Name -eq ' . s:Escape(a:fname, 1) . ' };',
\ 'if ($entry) { $entry.Delete(); $zip.Dispose() }',
\ 'else { $zip.Dispose() }'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
" ----------------
" Functions: {{{1
" ----------------
@@ -105,7 +215,7 @@ fun! zip#Browse(zipfile)
defer s:RestoreOpts(dict)
" sanity checks
if !executable(g:zip_unzipcmd)
if !executable(g:zip_unzipcmd) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system")
return
endif
@@ -140,7 +250,10 @@ fun! zip#Browse(zipfile)
\ '" Select a file with cursor and press ENTER'])
keepj $
exe $"keepj sil r! {g:zip_unzipcmd} -Z1 -- {s:Escape(a:zipfile, 1)}"
let gnu_cmd = "keepj sil r! " . g:zip_unzipcmd . " -Z1 -- " . s:Escape(a:zipfile, 1)
let ps_cmd = 'keepj sil r! ' . s:ZipBrowsePS(a:zipfile)
call s:TryExecGnuFallBackToPs(g:zip_unzipcmd, gnu_cmd, ps_cmd)
if v:shell_error != 0
call s:Mess('WarningMsg', "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file")
keepj sil! %d
@@ -210,7 +323,7 @@ fun! zip#Read(fname,mode)
endif
let fname = fname->substitute('[', '[[]', 'g')->escape('?*\\')
" sanity check
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','',''))
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','','')) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program")
return
endif
@@ -220,7 +333,11 @@ fun! zip#Read(fname,mode)
" but allows zipfile://... entries in quickfix lists
let temp = tempname()
let fn = expand('%:p')
exe "sil !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1).' > '.temp
let gnu_cmd = 'sil !' . g:zip_unzipcmd . ' -p -- ' . s:Escape(zipfile, 1) . ' ' . s:Escape(fname, 1) . ' > ' . s:Escape(temp, 1)
let ps_cmd = 'sil !' . s:ZipReadPS(zipfile, fname, temp)
call s:TryExecGnuFallBackToPs(g:zip_unzipcmd, gnu_cmd, ps_cmd)
sil exe 'keepalt file '.temp
sil keepj e!
sil exe 'keepalt file '.fnameescape(fn)
@@ -241,7 +358,7 @@ fun! zip#Write(fname)
defer s:RestoreOpts(dict)
" sanity checks
if !executable(substitute(g:zip_zipcmd,'\s\+.*$','',''))
if !executable(substitute(g:zip_zipcmd,'\s\+.*$','','')) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program")
return
endif
@@ -273,7 +390,10 @@ fun! zip#Write(fname)
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
endif
if fname =~ '^[.]\{1,2}/'
call system(g:zip_zipcmd." -d ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
let gnu_cmd = g:zip_zipcmd . ' -d ' . s:Escape(fnamemodify(zipfile,":p"),0) . ' ' . s:Escape(fname,0)
let gnu_cmd = 'call system(''' . substitute(gnu_cmd, "'", "''", 'g') . ''')'
let ps_cmd = $"call system({s:Escape(s:ZipDeleteFilePS(zipfile, fname), 1)})"
call s:TryExecGnuFallBackToPs(g:zip_zipcmd, gnu_cmd, ps_cmd)
let fname = fname->substitute('^\([.]\{1,2}/\)\+', '', 'g')
let need_rename = 1
endif
@@ -299,7 +419,20 @@ fun! zip#Write(fname)
let fname = substitute(fname, '[', '[[]', 'g')
endif
call system(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
let gnu_cmd = g:zip_zipcmd . ' -u '. s:Escape(fnamemodify(zipfile,":p"),0) . ' ' . s:Escape(fname,0)
let gnu_cmd = 'call system(''' . substitute(gnu_cmd, "'", "''", 'g') . ''')'
let ps_cmd = s:ZipUpdatePS(s:Escape(fnamemodify(zipfile, ':p'), 0), s:Escape(fname, 0))
let ps_cmd = 'call system(''' . substitute(ps_cmd, "'", "''", 'g') . ''')'
call s:TryExecGnuFallBackToPs(g:zip_zipcmd, gnu_cmd, ps_cmd)
if &shell =~ 'pwsh'
" Vim flashes 'creation in progress ...' from what I believe is the
" ProgressAction stream of PowerShell. Unfortunately, this cannot be
" suppressed (as of 250824) due to an open PowerShell issue.
" https://github.com/PowerShell/PowerShell/issues/21074
" This necessitates a redraw of the buffer.
redraw!
endif
if v:shell_error != 0
call s:Mess('Error', "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname)
@@ -370,10 +503,14 @@ fun! zip#Extract()
endif
" extract the file mentioned under the cursor
call system($"{g:zip_extractcmd} -o {shellescape(b:zipfile)} {target}")
let gnu_cmd = g:zip_extractcmd . ' -o '. shellescape(b:zipfile) . ' ' . target
let gnu_cmd = 'call system(''' . substitute(gnu_cmd, "'", "''", 'g') . ''')'
let ps_cmd = $"call system({s:Escape(s:ZipExtractFilePS(b:zipfile, target), 1)})"
call s:TryExecGnuFallBackToPs(g:zip_extractcmd, gnu_cmd, ps_cmd)
if v:shell_error != 0
call s:Mess('Error', "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!")
elseif !filereadable(fname)
elseif !filereadable(fname) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** attempted to extract ".fname." but it doesn't appear to be present!")
else
echomsg "***note*** successfully extracted ".fname

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 14
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -95,10 +95,12 @@ hi ModeMsg guifg=#000087 guibg=#00ff00 guisp=NONE gui=NONE ctermfg=18 ctermbg=46
hi MoreMsg guifg=#5fffff guibg=NONE guisp=NONE gui=NONE ctermfg=87 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=#ffffff guibg=#008787 guisp=NONE gui=NONE ctermfg=231 ctermbg=30 cterm=NONE term=reverse
hi PmenuBorder guifg=#ffffff guibg=#008787 guisp=NONE gui=NONE ctermfg=231 ctermbg=30 cterm=NONE term=NONE
hi PmenuMatch guifg=#ffd700 guibg=#008787 guisp=NONE gui=NONE ctermfg=220 ctermbg=30 cterm=NONE term=NONE
hi PmenuMatchSel guifg=#ff7f50 guibg=#ffffff guisp=NONE gui=NONE ctermfg=209 ctermbg=231 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=#008787 guibg=#ffffff guisp=NONE gui=NONE ctermfg=30 ctermbg=231 cterm=NONE term=bold
hi PmenuShadow guifg=#008787 guibg=#121212 guisp=NONE gui=NONE ctermfg=30 ctermbg=233 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff guisp=NONE gui=NONE ctermfg=NONE ctermbg=231 cterm=NONE term=NONE
hi PreProc guifg=#00ff00 guibg=NONE guisp=NONE gui=NONE ctermfg=46 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#00ff00 guibg=NONE guisp=NONE gui=NONE ctermfg=46 ctermbg=NONE cterm=NONE term=standout
@@ -115,6 +117,8 @@ hi Statement guifg=#ffffff guibg=NONE guisp=NONE gui=NONE ctermfg=231 ctermbg=NO
hi StatusLine guifg=#000087 guibg=#5fffff guisp=NONE gui=NONE ctermfg=18 ctermbg=87 cterm=NONE term=bold,reverse
hi StatusLineNC guifg=#000087 guibg=#008787 guisp=NONE gui=NONE ctermfg=18 ctermbg=30 cterm=NONE term=bold,underline
hi Title guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#ffd700 guibg=#1f4f87 guisp=NONE gui=NONE ctermfg=220 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#878787 guibg=#0f3f77 guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#005faf guisp=NONE gui=NONE ctermfg=231 ctermbg=25 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -164,10 +168,12 @@ if s:t_Co >= 16
hi MoreMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi NonText ctermfg=magenta ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=white cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=white cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
@@ -184,6 +190,8 @@ if s:t_Co >= 16
hi StatusLine ctermfg=darkblue ctermbg=cyan cterm=NONE
hi StatusLineNC ctermfg=darkblue ctermbg=darkcyan cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=yellow ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -230,10 +238,12 @@ if s:t_Co >= 8
hi MoreMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi NonText ctermfg=magenta ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=cyan cterm=NONE
hi PmenuBorder ctermfg=white ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=cyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=gray cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
hi PmenuShadow ctermfg=darkcyan ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
@@ -250,6 +260,8 @@ if s:t_Co >= 8
hi StatusLine ctermfg=cyan ctermbg=blue cterm=bold,reverse
hi StatusLineNC ctermfg=blue ctermbg=cyan cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=yellow ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=blue ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 14
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -44,6 +44,7 @@ hi! link Number Constant
hi! link Operator Statement
hi! link PopupNotification Todo
hi! link PreCondit PreProc
hi! link PreInsert NonText
hi! link Removed WarningMsg
hi! link Repeat Statement
hi! link SpecialChar Special
@@ -94,10 +95,12 @@ hi ModeMsg guifg=#90fff0 guibg=NONE guisp=NONE gui=NONE ctermfg=123 ctermbg=NONE
hi MoreMsg guifg=#006400 guibg=NONE guisp=NONE gui=NONE ctermfg=22 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#0030ff guibg=NONE guisp=NONE gui=NONE ctermfg=27 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=#ffffff guibg=#0030ff guisp=NONE gui=NONE ctermfg=231 ctermbg=27 cterm=NONE term=reverse
hi PmenuBorder guifg=NONE guibg=#0030ff guisp=NONE gui=NONE ctermfg=NONE ctermbg=27 cterm=NONE term=NONE
hi PmenuMatch guifg=#ff80ff guibg=#0030ff guisp=NONE gui=NONE ctermfg=213 ctermbg=27 cterm=NONE term=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#ffffff guisp=NONE gui=NONE ctermfg=201 ctermbg=231 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=#0030ff guibg=#ffffff guisp=NONE gui=NONE ctermfg=27 ctermbg=231 cterm=NONE term=bold
hi PmenuShadow guifg=#808080 guibg=#000000 guisp=NONE gui=NONE ctermfg=102 ctermbg=233 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff guisp=NONE gui=NONE ctermfg=NONE ctermbg=231 cterm=NONE term=NONE
hi PreProc guifg=#ff80ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#90f020 guibg=NONE guisp=NONE gui=NONE ctermfg=118 ctermbg=NONE cterm=NONE term=standout
@@ -116,6 +119,8 @@ hi StatusLineNC guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 cterm
hi TabLine guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 ctermbg=102 cterm=NONE term=bold,underline
hi TabLineSel guifg=#000040 guibg=#c0c0c0 guisp=NONE gui=NONE ctermfg=17 ctermbg=252 cterm=NONE term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=NONE ctermfg=201 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#c0c0c0 guibg=#3c3c66 guisp=NONE gui=NONE ctermfg=252 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#808080 guibg=#2c2c56 guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#0030ff guisp=NONE gui=NONE ctermfg=231 ctermbg=27 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -160,10 +165,12 @@ if s:t_Co >= 16
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=white ctermbg=blue cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=blue cterm=NONE
hi PmenuMatch ctermfg=magenta ctermbg=blue cterm=NONE
hi PmenuMatchSel ctermfg=darkmagenta ctermbg=white cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=blue ctermbg=white cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
@@ -182,6 +189,8 @@ if s:t_Co >= 16
hi TabLine ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -224,10 +233,12 @@ if s:t_Co >= 8
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=grey ctermbg=blue cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=blue cterm=NONE
hi PmenuMatch ctermfg=grey ctermbg=blue cterm=bold
hi PmenuMatchSel ctermfg=blue ctermbg=grey cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=blue ctermbg=grey cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
@@ -246,6 +257,8 @@ if s:t_Co >= 8
hi TabLine ctermfg=grey ctermbg=black cterm=reverse
hi TabLineSel ctermfg=darkblue ctermbg=grey cterm=bold,reverse
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=darkblue ctermbg=grey cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=light
@@ -84,6 +84,8 @@ hi TabLine guifg=#000000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=16 ctermbg=25
hi TabLineFill guifg=NONE guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=NONE ctermbg=250 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse
hi Title guifg=#cd00cd guibg=NONE guisp=NONE gui=bold ctermfg=164 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#878787 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=102 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#bcbcbc guisp=NONE gui=bold ctermfg=231 ctermbg=250 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
@@ -155,6 +157,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
@@ -224,6 +228,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -84,6 +84,8 @@ hi TabLine guifg=#333333 guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=236 ctermbg=1
hi TabLineFill guifg=NONE guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=NONE ctermbg=144 cterm=NONE term=NONE
hi TabLineSel guifg=#333333 guibg=#f0e68c guisp=NONE gui=NONE ctermfg=236 ctermbg=186 cterm=NONE term=bold,reverse
hi Title guifg=#cd5c5c guibg=NONE guisp=NONE gui=bold ctermfg=167 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#8a7f7f guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=244 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ff0000 guibg=#eeee00 guisp=NONE gui=NONE ctermfg=196 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#333333 guibg=#ffde9b guisp=NONE gui=bold ctermfg=236 ctermbg=222 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#666666 guisp=NONE gui=NONE ctermfg=NONE ctermbg=241 cterm=NONE term=reverse
@@ -158,6 +160,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=white cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=red ctermbg=darkmagenta cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -225,6 +229,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkred ctermbg=darkmagenta cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" URL: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -107,6 +107,8 @@ hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE cter
hi TabLineSel guifg=#00ffff guibg=#000000 guisp=NONE gui=bold ctermfg=51 ctermbg=16 cterm=bold term=bold,reverse
hi Terminal guifg=#00ffff guibg=#000000 guisp=NONE gui=NONE ctermfg=51 ctermbg=16 cterm=NONE term=NONE
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#00ffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=51 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#7f7f7f guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -179,6 +181,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=cyan ctermbg=black cterm=bold
hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -251,6 +255,8 @@ if s:t_Co >= 8
hi TabLineSel ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Terminal ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -118,6 +118,8 @@ hi StatusLineNC guifg=#333333 guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=236 cter
hi TabLine guifg=#333333 guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=236 ctermbg=252 cterm=NONE term=bold,underline
hi TabLineSel guifg=#333333 guibg=#ffffff guisp=NONE gui=bold ctermfg=236 ctermbg=231 cterm=bold term=bold,reverse
hi Title guifg=#ff80ff guibg=NONE guisp=NONE gui=NONE ctermfg=201 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#ffffff guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#bebebe guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=250 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ffff00 guibg=#0000ff guisp=NONE gui=reverse ctermfg=226 ctermbg=21 cterm=reverse term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#999999 guisp=NONE gui=bold ctermfg=NONE ctermbg=246 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -184,6 +186,8 @@ if s:t_Co >= 16
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
hi ToolbarButton ctermfg=NONE ctermbg=darkgray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -248,6 +252,8 @@ if s:t_Co >= 8
hi TabLine ctermfg=gray ctermbg=black cterm=reverse
hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
hi ToolbarButton ctermfg=gray ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Maxim Kim <habamax@gmail.com>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 18
" Last Change: 2025 Oct 22
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -15,7 +15,7 @@ let g:colors_name = 'habamax'
let s:t_Co = has('gui_running') ? 16777216 : str2nr(&t_Co)
let s:tgc = has('termguicolors') && &termguicolors
let g:terminal_ansi_colors = ['#1c1c1c', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d75f87', '#87d787', '#d7af87', '#5fafd7', '#d787d7', '#87afaf', '#bcbcbc']
let g:terminal_ansi_colors = ['#1c1c1c', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d75f87', '#87d787', '#d7af87', '#5fafd7', '#d787d7', '#87afaf', '#c7c7c7']
hi! link CurSearch IncSearch
hi! link CursorLineFold FoldColumn
@@ -26,8 +26,9 @@ hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow Pmenu
hi! link Number Constant
hi! link PopupNotification Todo
hi! link PopupNotification Normal
hi! link PopupSelected PmenuSel
hi! link PreInsert NonText
hi! link Quote String
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
@@ -69,7 +70,7 @@ hi! link vimSep Normal
hi! link vimVar Normal
hi! link yamlBlockMappingKey Statement
hi Normal guifg=#bcbcbc guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=250 ctermbg=234 cterm=NONE term=NONE
hi Normal guifg=#c7c7c7 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=251 ctermbg=234 cterm=NONE term=NONE
hi Added guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE
hi Changed guifg=#ffaf5f guibg=NONE guisp=NONE gui=NONE ctermfg=215 ctermbg=NONE cterm=NONE term=NONE
hi Character guifg=#87d787 guibg=NONE guisp=NONE gui=NONE ctermfg=114 ctermbg=NONE cterm=NONE term=NONE
@@ -88,7 +89,7 @@ hi DiffDelete guifg=#767676 guibg=#2f1f1a guisp=NONE gui=NONE ctermfg=243 ctermb
hi DiffText guifg=NONE guibg=#0f4f4f guisp=NONE gui=NONE ctermfg=247 ctermbg=23 cterm=NONE term=reverse
hi Directory guifg=#87afaf guibg=NONE guisp=NONE gui=bold ctermfg=109 ctermbg=NONE cterm=bold term=NONE
hi EndOfBuffer guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Error guifg=#af5f5f guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse
hi Error guifg=NONE guibg=#a03f2f guisp=NONE gui=NONE ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse
hi ErrorMsg guifg=#af5f5f guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse
hi FoldColumn guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Folded guifg=#9e9e9e guibg=#262626 guisp=NONE gui=NONE ctermfg=247 ctermbg=235 cterm=NONE term=NONE
@@ -101,6 +102,7 @@ hi ModeMsg guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE c
hi MoreMsg guifg=#5faf5f guibg=NONE guisp=NONE gui=NONE ctermfg=71 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=243 ctermbg=237 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=243 ctermbg=237 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#9e9e9e guibg=#585858 guisp=NONE gui=NONE ctermfg=247 ctermbg=240 cterm=NONE term=NONE
hi PmenuKind guifg=#5f8787 guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=66 ctermbg=237 cterm=NONE term=NONE
@@ -109,19 +111,20 @@ hi PmenuMatch guifg=#ffaf5f guibg=#3a3a3a guisp=NONE gui=NONE ctermfg=215 ctermb
hi PmenuMatchSel guifg=#ffaf5f guibg=#585858 guisp=NONE gui=NONE ctermfg=215 ctermbg=240 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=bold
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
hi PreProc guifg=#af875f guibg=NONE guisp=NONE gui=NONE ctermfg=137 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#d7af87 guibg=NONE guisp=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#1c1c1c guibg=#5f87af guisp=NONE gui=NONE ctermfg=234 ctermbg=67 cterm=NONE term=NONE
hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=251 ctermbg=53 cterm=NONE term=NONE
hi Removed guifg=#d75f5f guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#374a44 guisp=NONE gui=NONE ctermfg=114 ctermbg=234 cterm=reverse term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi Special guifg=#5f8787 guibg=NONE guisp=NONE gui=NONE ctermfg=66 ctermbg=NONE cterm=NONE term=NONE
hi SpecialKey guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=bold
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=167 ctermbg=NONE cterm=underline term=underline ctermul=167
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=215 ctermbg=NONE cterm=underline term=underline ctermul=215
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=77 ctermbg=NONE cterm=underline term=underline ctermul=77
hi SpellRare guifg=NONE guibg=NONE guisp=#d787d7 gui=undercurl ctermfg=176 ctermbg=NONE cterm=underline term=underline ctermul=176
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=167 ctermbg=NONE cterm=underline term=underline
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=215 ctermbg=NONE cterm=underline term=underline
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=77 ctermbg=NONE cterm=underline term=underline
hi SpellRare guifg=NONE guibg=NONE guisp=#d787d7 gui=undercurl ctermfg=176 ctermbg=NONE cterm=underline term=underline
hi Statement guifg=#af87af guibg=NONE guisp=NONE gui=NONE ctermfg=139 ctermbg=NONE cterm=NONE term=NONE
hi StatusLine guifg=#1c1c1c guibg=#9e9e9e guisp=NONE gui=NONE ctermfg=234 ctermbg=247 cterm=NONE term=bold,reverse
hi StatusLineNC guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=243 cterm=NONE term=bold,underline
@@ -130,6 +133,8 @@ hi TabLine guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=2
hi TabLineFill guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=243 cterm=NONE term=NONE
hi TabLineSel guifg=#1c1c1c guibg=#9e9e9e guisp=NONE gui=bold ctermfg=234 ctermbg=247 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#dadada guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#767676 guibg=#1c1c1c guisp=NONE gui=bold,reverse ctermfg=243 ctermbg=234 cterm=bold,reverse term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -146,8 +151,14 @@ hi lCursor guifg=#1c1c1c guibg=#5fff00 guisp=NONE gui=NONE ctermfg=234 ctermbg=8
if s:tgc || s:t_Co >= 256
if s:tgc
hi Error cterm=NONE
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi SpellBad guifg=#d75f5f guibg=NONE ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap guifg=#ffaf5f guibg=NONE ctermfg=215 ctermbg=NONE cterm=underline
hi SpellLocal guifg=#5fd75f guibg=NONE ctermfg=77 ctermbg=NONE cterm=underline
hi SpellRare guifg=#d787d7 guibg=NONE ctermfg=176 ctermbg=NONE cterm=underline
hi Visual cterm=NONE
endif
finish
@@ -186,6 +197,7 @@ if s:t_Co >= 16
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -194,19 +206,20 @@ if s:t_Co >= 16
hi PmenuMatchSel ctermfg=darkyellow ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=darkyellow ctermbg=NONE cterm=reverse
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkblue cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi Search ctermfg=green ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline ctermul=darkred
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline ctermul=darkyellow
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline ctermul=darkgreen
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline ctermul=magenta
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi Statement ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=black ctermbg=gray cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=darkgray cterm=NONE
@@ -215,6 +228,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=darkgray ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -264,6 +279,7 @@ if s:t_Co >= 8
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -272,10 +288,11 @@ if s:t_Co >= 8
hi PmenuMatchSel ctermfg=darkyellow ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=darkyellow ctermbg=NONE cterm=reverse
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkblue cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -293,6 +310,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Shian Lee.
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#dadada guibg=#444444 guisp=NONE gui=NONE ctermfg=253 ctermbg=2
hi TabLineFill guifg=NONE guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=NONE ctermbg=242 cterm=NONE term=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=bold ctermfg=231 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#dadada guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#6c6c6c guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#005fff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=27 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
hi Type guifg=#00ff00 guibg=NONE guisp=NONE gui=bold ctermfg=46 ctermbg=NONE cterm=bold term=NONE
@@ -157,6 +159,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi ToolbarLine ctermfg=white ctermbg=darkgrey cterm=NONE
hi Type ctermfg=green ctermbg=NONE cterm=bold
@@ -226,6 +230,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" URL: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -107,6 +107,8 @@ hi TabLine guifg=#0000ff guibg=#ffffff guisp=NONE gui=bold ctermfg=21 ctermbg=23
hi TabLineFill guifg=#0000ff guibg=#ffffff guisp=NONE gui=bold ctermfg=21 ctermbg=231 cterm=bold term=NONE
hi TabLineSel guifg=#ffffff guibg=#0000ff guisp=NONE gui=bold ctermfg=231 ctermbg=21 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#e5e5e5 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=254 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -174,6 +176,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=darkblue ctermbg=white cterm=bold
hi TabLineSel ctermfg=white ctermbg=darkblue cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -239,6 +243,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=darkblue ctermbg=grey cterm=bold
hi TabLineSel ctermfg=grey ctermbg=darkblue cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -2,9 +2,9 @@
" Description: White(perchè il sole)/Black(la luna perchè?) background colorscheme.
" Author: Maxim Kim <habamax@gmail.com>
" URL: https://www.github.com/vim/colorschemes
" Last Change: 2025 Aug 15
" Last Change: 2025 Oct 22
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
hi clear
let g:colors_name = 'lunaperche'
@@ -21,7 +21,8 @@ hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link Number Constant
hi! link PopupNotification Todo
hi! link PopupNotification Normal
hi! link PreInsert NonText
hi! link StatusLineTerm Statusline
hi! link StatusLineTermNC StatuslineNC
hi! link TabPanel Normal
@@ -132,6 +133,7 @@ if &background == 'dark'
hi MoreMsg guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=243 ctermbg=239 cterm=NONE term=NONE
hi PmenuKind guifg=#ff5f5f guibg=#303030 guisp=NONE gui=NONE ctermfg=203 ctermbg=236 cterm=NONE term=NONE
@@ -140,10 +142,11 @@ if &background == 'dark'
hi PmenuMatchSel guifg=#d787d7 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=176 ctermbg=239 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=NONE ctermbg=239 cterm=NONE term=bold
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=NONE
hi PreProc guifg=#5fd7d7 guibg=NONE guisp=NONE gui=NONE ctermfg=116 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#ff87ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#000000 guibg=#5fafff guisp=NONE gui=NONE ctermfg=16 ctermbg=75 cterm=NONE term=NONE
hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=251 ctermbg=53 cterm=NONE term=NONE
hi Removed guifg=#ff5f5f guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=16 ctermbg=222 cterm=NONE term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -161,6 +164,8 @@ if &background == 'dark'
hi TabLineFill guifg=#000000 guibg=#767676 guisp=NONE gui=NONE ctermfg=16 ctermbg=243 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#c6c6c6 guisp=NONE gui=bold ctermfg=16 ctermbg=251 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -186,6 +191,7 @@ if &background == 'dark'
if s:tgc || s:t_Co >= 256
if s:tgc
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi Visual cterm=NONE
endif
@@ -222,6 +228,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -230,10 +237,11 @@ if &background == 'dark'
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -251,6 +259,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=black ctermbg=white cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -285,7 +295,7 @@ if &background == 'dark'
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=black ctermbg=darkyellow cterm=NONE
hi DiffDelete ctermfg=black ctermbg=darkred cterm=NONE
@@ -305,6 +315,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -313,10 +324,11 @@ if &background == 'dark'
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuShadow ctermfg=darkgrey ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=NONE ctermbg=NONE cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -334,6 +346,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=grey ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -407,6 +421,7 @@ if &background == 'light'
hi MoreMsg guifg=#008700 guibg=NONE guisp=NONE gui=bold ctermfg=28 ctermbg=NONE cterm=bold term=NONE
hi NonText guifg=#9e9e9e guibg=NONE guisp=NONE gui=NONE ctermfg=247 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=243 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=243 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=243 ctermbg=251 cterm=NONE term=NONE
hi PmenuKind guifg=#af0000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=124 ctermbg=254 cterm=NONE term=NONE
@@ -415,10 +430,11 @@ if &background == 'light'
hi PmenuMatchSel guifg=#af00af guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=127 ctermbg=251 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=bold
hi PmenuShadow guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
hi PreProc guifg=#005f5f guibg=NONE guisp=NONE gui=NONE ctermfg=23 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#af00af guibg=NONE guisp=NONE gui=bold ctermfg=127 ctermbg=NONE cterm=bold term=standout
hi QuickFixLine guifg=#ffffff guibg=#0087d7 guisp=NONE gui=NONE ctermfg=231 ctermbg=32 cterm=NONE term=NONE
hi QuickFixLine guifg=NONE guibg=#e7cfe7 guisp=NONE gui=NONE ctermfg=16 ctermbg=182 cterm=NONE term=NONE
hi Removed guifg=#d70000 guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#e7f3e7 guisp=NONE gui=NONE ctermfg=16 ctermbg=222 cterm=NONE term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -436,6 +452,8 @@ if &background == 'light'
hi TabLineFill guifg=#bcbcbc guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=250 ctermbg=250 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold,reverse ctermfg=16 ctermbg=231 cterm=bold,reverse term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=243 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -464,6 +482,7 @@ if &background == 'light'
if s:tgc || s:t_Co >= 256
if s:tgc
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi Visual cterm=NONE
endif
@@ -500,6 +519,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -508,10 +528,11 @@ if &background == 'light'
hi PmenuMatchSel ctermfg=darkmagenta ctermbg=darkcyan cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=white ctermbg=blue cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -529,6 +550,8 @@ if &background == 'light'
hi TabLineFill ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -586,6 +609,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -594,10 +618,11 @@ if &background == 'light'
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuShadow ctermfg=darkgrey ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold
hi QuickFixLine ctermfg=grey ctermbg=darkmagenta cterm=bold
hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkyellow cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -615,6 +640,8 @@ if &background == 'light'
hi TabLineFill ctermfg=black ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold,reverse
hi Title ctermfg=black ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=light
@@ -85,6 +85,8 @@ hi TabLine guifg=#000000 guibg=#bcbcbc guisp=NONE gui=underline ctermfg=16 cterm
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi TabLineSel guifg=#000000 guibg=#e4e4e4 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi Title guifg=#a52a2a guibg=NONE guisp=NONE gui=bold ctermfg=124 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#cccccc guisp=NONE gui=NONE ctermfg=16 ctermbg=250 cterm=NONE term=NONE
hi TitleBarNC guifg=#5f5f5f guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=59 ctermbg=252 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#bcbcbc guisp=NONE gui=bold ctermfg=NONE ctermbg=250 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -153,6 +155,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=white cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -219,6 +223,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#87ff87 guibg=#444444 guisp=NONE gui=NONE ctermfg=120 ctermbg=2
hi TabLineFill guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#87ff87 guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=120 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#bcbcbc guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=250 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#444444 guisp=NONE gui=bold ctermfg=231 ctermbg=238 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
@@ -154,6 +156,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=green ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -220,6 +224,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=green ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -85,6 +85,8 @@ hi TabLine guifg=#ffffff guibg=#7f7f7f guisp=NONE gui=NONE ctermfg=231 ctermbg=1
hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE ctermbg=16 cterm=reverse term=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=bold ctermfg=231 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=225 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#e5e5e5 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=254 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#c0c000 guisp=NONE gui=NONE ctermfg=16 ctermbg=142 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -154,6 +156,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -223,6 +227,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 14
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=light
@@ -60,10 +60,12 @@ hi ModeMsg guifg=#000000 guibg=#ffdab9 guisp=NONE gui=bold ctermfg=16 ctermbg=22
hi MoreMsg guifg=#2e8b57 guibg=#ffdab9 guisp=NONE gui=bold ctermfg=29 ctermbg=223 cterm=bold term=NONE
hi NonText guifg=#737373 guibg=NONE guisp=NONE gui=NONE ctermfg=243 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=#000000 guibg=#ffaf87 guisp=NONE gui=NONE ctermfg=16 ctermbg=216 cterm=NONE term=reverse
hi PmenuBorder guifg=#5f5f5f guibg=#ffaf87 guisp=NONE gui=NONE ctermfg=59 ctermbg=216 cterm=NONE term=NONE
hi PmenuMatch guifg=#a52a2a guibg=#ffaf87 guisp=NONE gui=NONE ctermfg=124 ctermbg=216 cterm=NONE term=NONE
hi PmenuMatchSel guifg=#a52a2a guibg=#f5c195 guisp=NONE gui=bold ctermfg=124 ctermbg=180 cterm=bold term=bold
hi PmenuSbar guifg=NONE guibg=#ffdab9 guisp=NONE gui=NONE ctermfg=NONE ctermbg=223 cterm=NONE term=reverse
hi PmenuSel guifg=#000000 guibg=#f5c195 guisp=NONE gui=bold ctermfg=16 ctermbg=180 cterm=bold term=bold
hi PmenuShadow guifg=#737373 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#737373 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
hi PreProc guifg=#cd00cd guibg=NONE guisp=NONE gui=NONE ctermfg=164 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#c00058 guibg=NONE guisp=NONE gui=bold ctermfg=161 ctermbg=NONE cterm=bold term=standout
@@ -85,6 +87,8 @@ hi TabLine guifg=#ffdab9 guibg=#737373 guisp=NONE gui=underline ctermfg=223 cter
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi TabLineSel guifg=#000000 guibg=#ffdab9 guisp=NONE gui=bold ctermfg=16 ctermbg=223 cterm=bold term=bold,reverse
hi Title guifg=#cd00cd guibg=NONE guisp=NONE gui=bold ctermfg=164 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#dfba99 guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#5f5f5f guibg=#efcaa9 guisp=NONE gui=NONE ctermfg=59 ctermbg=254 cterm=NONE term=NONE
hi Todo guifg=#6a5acd guibg=#ffff00 guisp=NONE gui=NONE ctermfg=62 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#ffdab9 guibg=#737373 guisp=NONE gui=bold ctermfg=223 ctermbg=243 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -130,10 +134,12 @@ if s:t_Co >= 16
hi MoreMsg ctermfg=darkgreen ctermbg=white cterm=bold
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Question ctermfg=darkred ctermbg=NONE cterm=bold
@@ -155,6 +161,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -198,10 +206,12 @@ if s:t_Co >= 8
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuBorder ctermfg=darkgray ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Question ctermfg=darkred ctermbg=NONE cterm=bold
@@ -223,6 +233,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" URL: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Change: 2025 Jun 18
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
hi clear
let g:colors_name = 'quiet'
@@ -110,6 +110,8 @@ if &background == 'dark'
hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#dadada guisp=NONE gui=bold ctermfg=16 ctermbg=253 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#dadada guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#707070 guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#00ffaf guibg=NONE guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=NONE cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -183,6 +185,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -254,6 +258,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -342,6 +348,8 @@ if &background == 'light'
hi TabLineFill guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=16 ctermbg=188 cterm=NONE term=NONE
hi TabLineSel guifg=#eeeeee guibg=#000000 guisp=NONE gui=bold ctermfg=255 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#626262 guibg=#e7e7e7 guisp=NONE gui=NONE ctermfg=241 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#00ffaf guibg=#000000 guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=16 cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=bold ctermfg=16 ctermbg=188 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=NONE ctermbg=188 cterm=NONE term=reverse
@@ -415,6 +423,8 @@ if &background == 'light'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -486,6 +496,8 @@ if &background == 'light'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse

View File

@@ -2,9 +2,9 @@
" Description: Retro groove color scheme similar to gruvbox originally designed by morhetz <morhetz@gmail.com>
" Author: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
" URL: https://www.github.com/vim/colorschemes
" Last Change: 2025 Aug 15
" Last Change: 2025 Oct 22
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
hi clear
let g:colors_name = 'retrobox'
@@ -19,7 +19,8 @@ hi! link CursorLineSign FoldColumn
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link PopupNotification Normal
hi! link PreInsert LineNr
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link Tag Special
@@ -73,6 +74,7 @@ if &background == 'dark'
hi Number guifg=#d3869b guibg=NONE guisp=NONE gui=NONE ctermfg=175 ctermbg=NONE cterm=NONE term=NONE
hi Operator guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#3c3836 guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse
hi PmenuBorder guifg=#a89984 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=102 ctermbg=237 cterm=NONE term=NONE
hi PmenuExtra guifg=#a89984 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=102 ctermbg=237 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#a89984 guibg=#504945 guisp=NONE gui=NONE ctermfg=102 ctermbg=239 cterm=NONE term=NONE
hi PmenuKind guifg=#fb5944 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=203 ctermbg=237 cterm=NONE term=NONE
@@ -81,11 +83,12 @@ if &background == 'dark'
hi PmenuMatchSel guifg=#d3869b guibg=#504945 guisp=NONE gui=NONE ctermfg=175 ctermbg=239 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=#3c3836 guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#504945 guisp=NONE gui=NONE ctermfg=NONE ctermbg=239 cterm=NONE term=bold
hi PmenuShadow guifg=#a89984 guibg=#121212 guisp=NONE gui=NONE ctermfg=102 ctermbg=233 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#7c6f64 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
hi PreCondit guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE
hi PreProc guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#fe8019 guibg=NONE guisp=NONE gui=bold ctermfg=208 ctermbg=NONE cterm=bold term=standout
hi QuickFixLine guifg=#8ec07c guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=107 ctermbg=234 cterm=reverse term=NONE
hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=230 ctermbg=53 cterm=NONE term=NONE
hi Repeat guifg=#fb5944 guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=100 ctermbg=234 cterm=reverse term=reverse
hi SignColumn guifg=#928374 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=102 ctermbg=234 cterm=NONE term=reverse
@@ -107,6 +110,8 @@ if &background == 'dark'
hi TabLineFill guifg=#ebdbb2 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=187 ctermbg=237 cterm=NONE term=NONE
hi TabLineSel guifg=#fbf1c7 guibg=#1c1c1c guisp=NONE gui=bold ctermfg=230 ctermbg=234 cterm=bold term=bold,reverse
hi Title guifg=#b8bb26 guibg=NONE guisp=NONE gui=bold ctermfg=142 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ebdbb2 guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=187 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#a89984 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=fg guibg=#1c1c1c guisp=NONE gui=bold ctermfg=fg ctermbg=234 cterm=bold term=bold,reverse
hi ToolbarButton guifg=#fbf1c7 guibg=#303030 guisp=NONE gui=bold ctermfg=230 ctermbg=236 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -121,6 +126,7 @@ if &background == 'dark'
if s:tgc || s:t_Co >= 256
if s:tgc
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi Visual cterm=NONE
endif
@@ -171,6 +177,7 @@ if &background == 'dark'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Black ctermbg=White cterm=NONE
hi PmenuBorder ctermfg=Black ctermbg=White cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=White cterm=NONE
hi PmenuExtraSel ctermfg=DarkGray ctermbg=Black cterm=NONE
hi PmenuKind ctermfg=DarkRed ctermbg=White cterm=NONE
@@ -179,11 +186,12 @@ if &background == 'dark'
hi PmenuMatchSel ctermfg=Black ctermbg=White cterm=bold,reverse
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=White ctermbg=Black cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=Black cterm=reverse
hi QuickFixLine ctermfg=Black ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse
hi SignColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
@@ -205,6 +213,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=Black ctermbg=DarkGray cterm=NONE
hi TabLineSel ctermfg=White ctermbg=Black cterm=bold
hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi TitleBar ctermfg=White ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=fg ctermbg=Black cterm=bold
hi ToolbarButton ctermfg=White ctermbg=DarkGray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -262,6 +272,7 @@ if &background == 'dark'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=gray ctermbg=DarkGray cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -270,11 +281,12 @@ if &background == 'dark'
hi PmenuMatchSel ctermfg=Red ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=Black cterm=reverse
hi QuickFixLine ctermfg=White ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse
hi SignColumn ctermfg=gray ctermbg=NONE cterm=NONE
@@ -296,6 +308,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=Black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=gray ctermbg=Black cterm=NONE
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=White ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=fg ctermbg=Black cterm=bold
hi ToolbarButton ctermfg=Black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -370,6 +384,7 @@ if &background == 'light'
hi Number guifg=#8f3f71 guibg=NONE guisp=NONE gui=NONE ctermfg=126 ctermbg=NONE cterm=NONE term=NONE
hi Operator guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=reverse
hi PmenuBorder guifg=#7c6f64 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=NONE
hi PmenuExtra guifg=#7c6f64 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=243 ctermbg=187 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#3c3836 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=237 ctermbg=144 cterm=NONE term=NONE
hi PmenuKind guifg=#9d0006 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=124 ctermbg=187 cterm=NONE term=NONE
@@ -378,11 +393,12 @@ if &background == 'light'
hi PmenuMatchSel guifg=#8f3f71 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=126 ctermbg=144 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=NONE ctermbg=187 cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#bdae93 guisp=NONE gui=NONE ctermfg=NONE ctermbg=144 cterm=NONE term=bold
hi PmenuShadow guifg=#7c6f64 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#a89984 guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi PreCondit guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE
hi PreProc guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#ff5f00 guibg=NONE guisp=NONE gui=bold ctermfg=202 ctermbg=NONE cterm=bold term=standout
hi QuickFixLine guifg=#427b58 guibg=#fbf1c7 guisp=NONE gui=reverse ctermfg=29 ctermbg=230 cterm=reverse term=NONE
hi QuickFixLine guifg=NONE guibg=#e7cfd7 guisp=NONE gui=NONE ctermfg=235 ctermbg=182 cterm=NONE term=NONE
hi Repeat guifg=#9d0006 guibg=NONE guisp=NONE gui=NONE ctermfg=124 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#dbebb2 guisp=NONE gui=NONE ctermfg=100 ctermbg=230 cterm=reverse term=reverse
hi SignColumn guifg=#3c3836 guibg=#fbf1c7 guisp=NONE gui=NONE ctermfg=237 ctermbg=230 cterm=NONE term=reverse
@@ -404,6 +420,8 @@ if &background == 'light'
hi TabLineFill guifg=#3c3836 guibg=#ebdbb2 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=NONE
hi TabLineSel guifg=#282828 guibg=#fbf1c7 guisp=NONE gui=bold ctermfg=235 ctermbg=230 cterm=bold term=bold,reverse
hi Title guifg=#79740e guibg=NONE guisp=NONE gui=bold ctermfg=64 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#3c3836 guibg=#dbcba2 guisp=NONE gui=NONE ctermfg=237 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#7c6f64 guibg=#e9d9b0 guisp=NONE gui=NONE ctermfg=243 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=fg guibg=#fbf1c7 guisp=NONE gui=bold ctermfg=fg ctermbg=230 cterm=bold term=bold,reverse
hi ToolbarButton guifg=#282828 guibg=#bdae93 guisp=NONE gui=bold ctermfg=235 ctermbg=144 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -418,6 +436,7 @@ if &background == 'light'
if s:tgc || s:t_Co >= 256
if s:tgc
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi Visual cterm=NONE
endif
@@ -468,6 +487,7 @@ if &background == 'light'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuBorder ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=Grey cterm=NONE
hi PmenuExtraSel ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=DarkRed ctermbg=Grey cterm=NONE
@@ -476,11 +496,12 @@ if &background == 'light'
hi PmenuMatchSel ctermfg=Black ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=Grey cterm=NONE
hi PmenuSel ctermfg=Black ctermbg=White cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=White cterm=reverse
hi QuickFixLine ctermfg=DarkGray ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse
hi SignColumn ctermfg=Grey ctermbg=NONE cterm=NONE
@@ -502,6 +523,8 @@ if &background == 'light'
hi TabLineFill ctermfg=White ctermbg=Grey cterm=NONE
hi TabLineSel ctermfg=DarkGray ctermbg=White cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=Black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=Black ctermbg=white cterm=NONE
hi Todo ctermfg=fg ctermbg=White cterm=bold
hi ToolbarButton ctermfg=Black ctermbg=Grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -559,6 +582,7 @@ if &background == 'light'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -567,11 +591,12 @@ if &background == 'light'
hi PmenuMatchSel ctermfg=Red ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=White cterm=reverse
hi QuickFixLine ctermfg=DarkGray ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse
hi SignColumn ctermfg=Black ctermbg=NONE cterm=NONE
@@ -593,6 +618,8 @@ if &background == 'light'
hi TabLineFill ctermfg=White ctermbg=Black cterm=NONE
hi TabLineSel ctermfg=Black ctermbg=White cterm=NONE
hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi TitleBar ctermfg=Black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=Black ctermbg=white cterm=NONE
hi Todo ctermfg=fg ctermbg=White cterm=bold
hi ToolbarButton ctermfg=White ctermbg=Black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" URL: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -108,6 +108,8 @@ hi TabLineFill guifg=#a9a9a9 guibg=#7f7f7f guisp=NONE gui=NONE ctermfg=145 cterm
hi TabLineSel guifg=#00ffff guibg=#000000 guisp=NONE gui=bold ctermfg=51 ctermbg=16 cterm=NONE term=bold,reverse
hi Terminal guifg=#00ffff guibg=#000000 guisp=NONE gui=NONE ctermfg=51 ctermbg=16 cterm=NONE term=NONE
hi Title guifg=#a9a9a9 guibg=NONE guisp=NONE gui=NONE ctermfg=145 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#00ffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=51 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#7f7f7f guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffa500 guisp=NONE gui=NONE ctermfg=16 ctermbg=214 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -179,6 +181,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE
hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
hi Title ctermfg=grey ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -248,6 +252,8 @@ if s:t_Co >= 8
hi TabLineSel ctermfg=darkcyan ctermbg=black cterm=bold
hi Terminal ctermfg=darkcyan ctermbg=black cterm=NONE
hi Title ctermfg=grey ctermbg=NONE cterm=bold
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=light
@@ -89,6 +89,8 @@ hi TabLine guifg=#000000 guibg=#dadada guisp=NONE gui=underline ctermfg=16 cterm
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse
hi Title guifg=#006400 guibg=NONE guisp=NONE gui=bold ctermfg=22 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=243 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#a8a8a8 guisp=NONE gui=bold ctermfg=NONE ctermbg=248 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -161,6 +163,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -231,6 +235,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=grey ctermbg=black cterm=reverse
hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#666666 guibg=#333333 guisp=NONE gui=NONE ctermfg=241 ctermbg=2
hi TabLineFill guifg=#ff8787 guibg=#333333 guisp=NONE gui=NONE ctermfg=210 ctermbg=236 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#afaf87 guisp=NONE gui=NONE ctermfg=16 ctermbg=144 cterm=NONE term=bold,reverse
hi Title guifg=#ffd700 guibg=NONE guisp=NONE gui=bold ctermfg=220 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#666666 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=241 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ff0000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=196 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#262626 guibg=#d7d787 guisp=NONE gui=NONE ctermfg=235 ctermbg=186 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -164,6 +166,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=cyan ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -235,6 +239,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=grey ctermbg=black cterm=reverse
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" URL: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Change: 2025 Jun 18
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -110,6 +110,8 @@ hi TabLine guifg=#8787af guibg=#000000 guisp=NONE gui=reverse ctermfg=103 ctermb
hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#d7d7ff guisp=NONE gui=bold ctermfg=16 ctermbg=189 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#dadada guibg=#363851 guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#707070 guibg=#262841 guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#5fd7af guibg=NONE guisp=NONE gui=bold,reverse ctermfg=79 ctermbg=NONE cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -187,6 +189,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -262,6 +266,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#ffffff guibg=#7f7f7f guisp=NONE gui=NONE ctermfg=231 ctermbg=1
hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE ctermbg=16 cterm=reverse term=NONE
hi TabLineSel guifg=#cccccc guibg=#000000 guisp=NONE gui=bold ctermfg=251 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#cccccc guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=251 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#7f7f7f guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ffff00 guibg=#000000 guisp=NONE gui=reverse ctermfg=226 ctermbg=16 cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -155,6 +157,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=yellow ctermbg=black cterm=reverse
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -222,6 +226,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=black cterm=reverse
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -2,9 +2,9 @@
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
" Author: k-37 <60838818+k-37@users.noreply.github.com>
" URL: https://github.com/vim/colorschemes
" Last Change: 2025 Jun 18
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -101,6 +101,8 @@ hi TabLine guifg=#282923 guibg=#74705d guisp=NONE gui=NONE ctermfg=235 ctermbg=2
hi TabLineFill guifg=#282923 guibg=#74705d guisp=NONE gui=NONE ctermfg=235 ctermbg=244 cterm=NONE term=NONE
hi TabLineSel guifg=#282923 guibg=#bababa guisp=NONE gui=bold ctermfg=235 ctermbg=250 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#dadada guibg=#484943 guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#bababa guibg=#383933 guisp=NONE gui=NONE ctermfg=250 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#74705d guibg=#f8f8f2 guisp=NONE gui=bold,reverse ctermfg=244 ctermbg=255 cterm=bold,reverse term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -197,6 +199,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=darkgray ctermbg=white cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -286,6 +290,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=gray ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Maxim Kim <habamax@gmail.com>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 15
" Last Change: 2025 Oct 22
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
hi clear
let g:colors_name = 'wildcharm'
@@ -22,7 +22,8 @@ hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link Number Constant
hi! link PopupNotification Todo
hi! link PopupNotification Normal
hi! link PreInsert NonText
hi! link StatusLineTerm Statusline
hi! link StatusLineTermNC StatuslineNC
hi! link TabPanel Normal
@@ -61,6 +62,7 @@ if &background == 'dark'
hi MoreMsg guifg=#00d75f guibg=NONE guisp=NONE gui=NONE ctermfg=41 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#767676 guibg=#585858 guisp=NONE gui=NONE ctermfg=243 ctermbg=240 cterm=NONE term=NONE
hi PmenuKind guifg=#ff5f87 guibg=#303030 guisp=NONE gui=NONE ctermfg=204 ctermbg=236 cterm=NONE term=NONE
@@ -69,10 +71,11 @@ if &background == 'dark'
hi PmenuMatchSel guifg=#d787d7 guibg=#585858 guisp=NONE gui=NONE ctermfg=176 ctermbg=240 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=bold
hi PmenuShadow guifg=#767676 guibg=#121212 guisp=NONE gui=NONE ctermfg=243 ctermbg=233 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=NONE
hi PreProc guifg=#00d7d7 guibg=NONE guisp=NONE gui=NONE ctermfg=44 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#ff87ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#000000 guibg=#ff87ff guisp=NONE gui=NONE ctermfg=16 ctermbg=213 cterm=NONE term=NONE
hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=252 ctermbg=53 cterm=NONE term=NONE
hi Removed guifg=#d7005f guibg=NONE guisp=NONE gui=NONE ctermfg=161 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=41 ctermbg=16 cterm=reverse term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -90,7 +93,9 @@ if &background == 'dark'
hi TabLineFill guifg=#000000 guibg=#767676 guisp=NONE gui=NONE ctermfg=16 ctermbg=243 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#9e9e9e guisp=NONE gui=bold ctermfg=16 ctermbg=247 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi Todo guifg=#875fff guibg=#000000 guisp=NONE gui=reverse ctermfg=99 ctermbg=16 cterm=reverse term=bold,reverse
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ffffff guibg=NONE guisp=NONE gui=bold ctermfg=231 ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi Type guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
@@ -111,6 +116,7 @@ if &background == 'dark'
if s:tgc || s:t_Co >= 256
if s:tgc
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi Visual cterm=NONE
endif
@@ -147,6 +153,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -155,6 +162,7 @@ if &background == 'dark'
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
@@ -176,7 +184,9 @@ if &background == 'dark'
hi TabLineFill ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=darkred ctermbg=black cterm=reverse
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=yellow ctermbg=NONE cterm=NONE
@@ -221,6 +231,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -229,6 +240,7 @@ if &background == 'dark'
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
@@ -250,7 +262,9 @@ if &background == 'dark'
hi TabLineFill ctermfg=grey ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=darkred ctermbg=black cterm=reverse
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
@@ -302,7 +316,7 @@ if &background == 'light'
hi DiffText guifg=NONE guibg=#bfe7e7 guisp=NONE gui=NONE ctermfg=16 ctermbg=152 cterm=NONE term=reverse
hi Directory guifg=#005faf guibg=NONE guisp=NONE gui=bold ctermfg=25 ctermbg=NONE cterm=bold term=NONE
hi EndOfBuffer guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi Error guifg=#d70000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=160 ctermbg=231 cterm=reverse term=bold,reverse
hi Error guifg=#af0000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=124 ctermbg=231 cterm=reverse term=bold,reverse
hi ErrorMsg guifg=#d70000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=160 ctermbg=231 cterm=reverse term=bold,reverse
hi FoldColumn guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi Folded guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
@@ -315,6 +329,7 @@ if &background == 'light'
hi MoreMsg guifg=#008700 guibg=NONE guisp=NONE gui=NONE ctermfg=28 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
hi PmenuBorder guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtra guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#808080 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=240 ctermbg=252 cterm=NONE term=NONE
hi PmenuKind guifg=#d70000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=160 ctermbg=254 cterm=NONE term=NONE
@@ -323,10 +338,11 @@ if &background == 'light'
hi PmenuMatchSel guifg=#870087 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=90 ctermbg=252 cterm=NONE term=NONE
hi PmenuSbar guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi PmenuSel guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=bold
hi PmenuShadow guifg=#808080 guibg=#303030 guisp=NONE gui=NONE ctermfg=240 ctermbg=236 cterm=NONE term=NONE
hi PmenuThumb guifg=NONE guibg=#808080 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=NONE
hi PreProc guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#870087 guibg=NONE guisp=NONE gui=NONE ctermfg=90 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#ffffff guibg=#870087 guisp=NONE gui=NONE ctermfg=231 ctermbg=90 cterm=NONE term=NONE
hi QuickFixLine guifg=NONE guibg=#e7cfe7 guisp=NONE gui=NONE ctermfg=16 ctermbg=182 cterm=NONE term=NONE
hi Removed guifg=#d70000 guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#e7f3e7 guisp=NONE gui=NONE ctermfg=28 ctermbg=231 cterm=reverse term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -344,7 +360,9 @@ if &background == 'light'
hi TabLineFill guifg=#d0d0d0 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=252 ctermbg=252 cterm=NONE term=NONE
hi TabLineSel guifg=#5f5f5f guibg=#ffffff guisp=NONE gui=bold,reverse ctermfg=59 ctermbg=231 cterm=bold,reverse term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi Todo guifg=#5f00d7 guibg=#ffffff guisp=NONE gui=reverse ctermfg=56 ctermbg=231 cterm=reverse term=bold,reverse
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#808080 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=240 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#5f5f5f guisp=NONE gui=NONE ctermfg=231 ctermbg=59 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi Type guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=NONE
@@ -365,6 +383,7 @@ if &background == 'light'
if s:tgc || s:t_Co >= 256
if s:tgc
hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE
hi Visual cterm=NONE
endif
@@ -388,7 +407,7 @@ if &background == 'light'
hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse
hi Error ctermfg=darkred ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold
@@ -401,6 +420,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -409,10 +429,11 @@ if &background == 'light'
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkmagenta cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi Search ctermfg=darkgreen ctermbg=white cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -430,7 +451,9 @@ if &background == 'light'
hi TabLineFill ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
hi TabLineSel ctermfg=darkgrey ctermbg=white cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=blue ctermbg=white cterm=reverse
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
@@ -475,6 +498,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -483,6 +507,7 @@ if &background == 'light'
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuShadow ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
@@ -504,7 +529,9 @@ if &background == 'light'
hi TabLineFill ctermfg=black ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=blue ctermbg=black cterm=reverse
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Romain Lafourcade <romainlafourcade@gmail.com>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Jun 18
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=dark
@@ -108,6 +108,8 @@ hi Statement guifg=#ffafff guibg=NONE guisp=NONE gui=NONE ctermfg=219 ctermbg=NO
hi StatusLine guifg=#0e0024 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=bold,reverse
hi StatusLineNC guifg=#0e0024 guibg=#afaab6 guisp=NONE gui=NONE ctermfg=16 ctermbg=146 cterm=NONE term=bold,underline
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#ffffff guibg=#2e2044 guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#afaab6 guibg=#1e1034 guisp=NONE gui=NONE ctermfg=146 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#5e556d guisp=NONE gui=NONE ctermfg=231 ctermbg=60 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -178,6 +180,8 @@ if s:t_Co >= 16
hi StatusLine ctermfg=white ctermbg=black cterm=reverse
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -246,6 +250,8 @@ if s:t_Co >= 8
hi StatusLine ctermfg=white ctermbg=black cterm=reverse
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
" URL: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Change: 2025 Aug 03
" Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9
" Generated by Colortemplate v3.0.0-beta10
set background=light
@@ -86,6 +86,8 @@ hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse
hi Tag guifg=#006400 guibg=NONE guisp=NONE gui=NONE ctermfg=22 ctermbg=NONE cterm=NONE term=NONE
hi Title guifg=#a020f0 guibg=NONE guisp=NONE gui=bold ctermfg=129 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#878787 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=102 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#a9a9a9 guisp=NONE gui=bold ctermfg=NONE ctermbg=248 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse
@@ -157,6 +159,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -226,6 +230,8 @@ if s:t_Co >= 8
hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -0,0 +1,23 @@
" Vim compiler file
" Compiler: Biome (= linter for JavaScript, TypeScript, JSX, TSX, JSON,
" JSONC, HTML, Vue, Svelte, Astro, CSS, GraphQL and GritQL files)
" Maintainer: @Konfekt
" Last Change: 2025 Nov 12
if exists("current_compiler") | finish | endif
let current_compiler = "biome"
let s:cpo_save = &cpo
set cpo&vim
exe 'CompilerSet makeprg=' .. escape('biome check --linter-enabled=true --formatter-enabled=false --assist-enabled=false --reporter=github '
\ .. get(b:, 'biome_makeprg_params', get(g:, 'biome_makeprg_params', '')), ' \|"')
CompilerSet errorformat=::%trror%.%#file=%f\\,line=%l\\,%.%#col=%c\\,%.%#::%m
CompilerSet errorformat+=::%tarning%.%#file=%f\\,line=%l\\,%.%#col=%c\\,%.%#::%m
CompilerSet errorformat+=::%totice%.%#file=%f\\,line=%l\\,%.%#col=%c\\,%.%#::%m
CompilerSet errorformat+=%-G\\s%#
CompilerSet errorformat+=%-Gcheck\ %.%#
CompilerSet errorformat+=%-G%.%#Some\ errors\ were\ emitted\ while\ running\ checks%.
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" vim compiler file
" Compiler: cppcheck (C++ static checker)
" Maintainer: Vincent B. (twinside@free.fr)
" Last Change: 2024 Nov 19 by @Konfekt
" Last Change: 2025 Nov 06 by @Konfekt
if exists("current_compiler") | finish | endif
let current_compiler = "cppcheck"
@@ -18,14 +18,14 @@ if !exists('g:c_cppcheck_params')
let s:undo_compiler = 'unlet! g:c_cppcheck_params'
endif
let &l:makeprg = 'cppcheck --quiet'
exe 'CompilerSet makeprg=' .. escape('cppcheck --quiet'
\ ..' --template="{file}:{line}:{column}: {severity}: [{id}] {message} {callstack}"'
\ ..' '..get(b:, 'c_cppcheck_params', get(g:, 'c_cppcheck_params', (&filetype ==# 'cpp' ? ' --language=c++' : '')))
\ ..' '..get(b:, 'c_cppcheck_includes', get(g:, 'c_cppcheck_includes',
\ (filereadable('compile_commands.json') ? '--project=compile_commands.json' :
\ (!empty(glob('*'..s:slash..'compile_commands.json', 1, 1)) ? '--project='..glob('*'..s:slash..'compile_commands.json', 1, 1)[0] :
\ (empty(&path) ? '' : '-I')..join(map(filter(split(&path, ','), 'isdirectory(v:val)'),'shellescape(v:val)'), ' -I')))))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' \|"')
\ (empty(&path) ? '' : '-I')..join(map(filter(split(&path, ','), 'isdirectory(v:val)'),'shellescape(v:val)'), ' -I'))))),
\ ' \|"')
CompilerSet errorformat=
\%f:%l:%c:\ %tarning:\ %m,

View File

@@ -7,24 +7,54 @@
" Original Source: https://github.com/mikelue/vim-maven-plugin/blob/master/compiler/maven.vim
" (distributed under same terms as LICENSE per
" https://github.com/mikelue/vim-maven-plugin/issues/13)
" Last Change: 2024 Nov 12
" Last Change: 2025 Nov 18
if exists("current_compiler")
finish
endif
let current_compiler = "maven"
" CompilerSet makeprg=mvn
execute $'CompilerSet makeprg=mvn\ --batch-mode\ {escape(get(b:, 'maven_makeprg_params', get(g:, 'maven_makeprg_params', '')), ' \|"')}'
" Error message for POM
CompilerSet errorformat=[FATAL]\ Non-parseable\ POM\ %f:\ %m%\\s%\\+@%.%#line\ %l\\,\ column\ %c%.%#,
CompilerSet errorformat+=[%tRROR]\ Malformed\ POM\ %f:\ %m%\\s%\\+@%.%#line\ %l\\,\ column\ %c%.%#
" Handle Non-parseable POM with '@<line>:<col>' embedded in the 'position:' clause.
CompilerSet errorformat+=[FATAL]\ Non-parseable\ POM\ %f:\ %m%\\s%\\+%.%#@%l:%c%.%#,
CompilerSet errorformat+=[%tRROR]\ Malformed\ POM\ %f:\ %m%\\s%\\+%.%#@%l:%c%.%#,
" Java related build messages
" JavaC messages with paths relative to module root:
" With column:
CompilerSet errorformat+=[%tARNING]\ %f:[%l\\,%c]\ %m
CompilerSet errorformat+=[%tRROR]\ %f:[%l\\,%c]\ %m
CompilerSet errorformat+=%A[%t%[A-Z]%#]\ %f:[%l\\,%c]\ %m,%Z
CompilerSet errorformat+=%A%f:[%l\\,%c]\ %m,%Z
" Without column:
CompilerSet errorformat+=[%tARNING]\ %f:[%l]\ %m
CompilerSet errorformat+=[%tRROR]\ %f:[%l]\ %m
CompilerSet errorformat+=%A[%t%[A-Z]%#]\ %f:[%l]\ %m,%Z
CompilerSet errorformat+=%A%f:[%l]\ %m,%Z
" Plug-in messages with absolute paths:
" with column:
CompilerSet errorformat+=[%tARNING]\ %f:%l:%c:\ %m
CompilerSet errorformat+=[%tRROR]\ %f:%l:%c:\ %m
CompilerSet errorformat+=%A[%t%[A-Z]%#]\ %f:%l:%c:\ %m,%Z
CompilerSet errorformat+=%A%f:%l:%c:\ %m,%Z
" without column:
CompilerSet errorformat+=[%tARNING]\ %f:%l:\ %m
CompilerSet errorformat+=[%tRROR]\ %f:%l:\ %m
CompilerSet errorformat+=%A[%t%[A-Z]%#]\ %f:%l:\ %m,%Z
CompilerSet errorformat+=%A%f:%l:\ %m,%Z
" SpotBugs
CompilerSet errorformat+=[%tRROR]\ %m%\\s%\\+\[%*[^]]]%\\s%\\+In\ %f\ %.%#,
CompilerSet errorformat+=[%tARNING]\ %m%\\s%\\+\[%*[^]]]%\\s%\\+In\ %f\ %.%#,
CompilerSet errorformat+=[%tRROR]\ %.%#\ [aA]t\ %f:\[lines\ %l-%\\d\\+]\ %.%#,
CompilerSet errorformat+=[%tARNING]\ %.%#\ [aA]t\ %f:\[lines\ %l-%\\d\\+]\ %.%#,
CompilerSet errorformat+=[%tRROR]\ %.%#\ [aA]t\ %f:\[line\ %l]\ %.%#,
CompilerSet errorformat+=[%tARNING]\ %.%#\ [aA]t\ %f:\[line\ %l]\ %.%#,
" jUnit related build messages
CompilerSet errorformat+=%+E\ \ %#test%m,%Z
@@ -36,5 +66,7 @@ CompilerSet errorformat+=%+Z%\\s%#at\ %f(%\\f%\\+:%l),
CompilerSet errorformat+=%+C%.%#
" Misc message removal
" CompilerSet errorformat+=%-GPicked\ up\ _JAVA_OPTIONS\ %.%#,
CompilerSet errorformat+=%-GAudit\ done.,
CompilerSet errorformat+=%-G[INFO]\ %.%#,
CompilerSet errorformat+=%-G[debug]\ %.%#

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Mypy (Python static checker)
" Maintainer: @Konfekt
" Last Change: 2024 Nov 19
" Last Change: 2025 Nov 06
if exists("current_compiler") | finish | endif
let current_compiler = "mypy"
@@ -10,9 +10,9 @@ let s:cpo_save = &cpo
set cpo&vim
" CompilerSet makeprg=mypy
let &l:makeprg = 'mypy --show-column-numbers '
\ ..get(b:, 'mypy_makeprg_params', get(g:, 'mypy_makeprg_params', '--strict --ignore-missing-imports'))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' \|"')
exe 'CompilerSet makeprg=' .. escape('mypy --show-column-numbers '
\ ..get(b:, 'mypy_makeprg_params', get(g:, 'mypy_makeprg_params', '--strict --ignore-missing-imports')),
\ ' \|"')
CompilerSet errorformat=%f:%l:%c:\ %t%*[^:]:\ %m
let &cpo = s:cpo_save

View File

@@ -3,6 +3,7 @@
" Maintainer: Daniel Moch <daniel@danielmoch.com>
" Last Change: 2024 Nov 07 by The Vim Project (added params variable)
" 2024 Nov 19 by the Vim Project (properly escape makeprg setting)
" 2025 Nov 06 by the Vim Project (do not set buffer-local makeprg)
if exists("current_compiler") | finish | endif
let current_compiler = "pylint"
@@ -11,10 +12,10 @@ let s:cpo_save = &cpo
set cpo&vim
" CompilerSet makeprg=ruff
let &l:makeprg = 'pylint ' .
exe 'CompilerSet makeprg=' .. escape('pylint ' .
\ '--output-format=text --msg-template="{path}:{line}:{column}:{C}: [{symbol}] {msg}" --reports=no ' .
\ get(b:, "pylint_makeprg_params", get(g:, "pylint_makeprg_params", '--jobs=0'))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' \|"')
\ get(b:, "pylint_makeprg_params", get(g:, "pylint_makeprg_params", '--jobs=0')),
\ ' \|"')
CompilerSet errorformat=%A%f:%l:%c:%t:\ %m,%A%f:%l:\ %m,%A%f:(%l):\ %m,%-Z%p^%.%#,%-G%.%#
let &cpo = s:cpo_save

View File

@@ -3,6 +3,7 @@
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" URL: https://rime.im
" Latest Revision: 2024-04-09
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
if exists('b:current_compiler')
finish
@@ -25,6 +26,8 @@ for s:shared_data_dir in ['/sdcard/rime-data', '/run/current-system/sw/share/rim
endfor
execute 'CompilerSet makeprg=rime_deployer\ --build\ %:p:h:S\' s:shared_data_dir
unlet s:prefix s:shared_data_dir
" CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m
CompilerSet errorformat&
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

View File

@@ -3,6 +3,7 @@
" Maintainer: @pbnj-dragon
" Last Change: 2024 Nov 07
" 2024 Nov 19 by the Vim Project (properly escape makeprg setting)
" 2025 Nov 06 by the Vim Project (do not set buffer-local makeprg)
if exists("current_compiler") | finish | endif
let current_compiler = "ruff"
@@ -11,9 +12,9 @@ let s:cpo_save = &cpo
set cpo&vim
" CompilerSet makeprg=ruff
let &l:makeprg= 'ruff check --output-format=concise '
\ ..get(b:, 'ruff_makeprg_params', get(g:, 'ruff_makeprg_params', '--preview'))
exe 'CompilerSet makeprg='..escape(&l:makeprg, ' \|"')
exe 'CompilerSet makeprg=' .. escape('ruff check --output-format=concise '
\ ..get(b:, 'ruff_makeprg_params', get(g:, 'ruff_makeprg_params', '--preview')),
\ ' \|"')
CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,%f:%l:%c\ -\ %m,%f:
let &cpo = s:cpo_save

View File

@@ -2,6 +2,7 @@
" Compiler: Rust Compiler
" Maintainer: Chris Morgan <me@chrismorgan.info>
" Latest Revision: 2023-09-11
" 2025 Nov 15 by Vim project: remove test for Vim patch 7.4.191
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
if exists("current_compiler")
@@ -17,11 +18,7 @@ set cpo&vim
if get(g:, 'rustc_makeprg_no_percent', 0)
CompilerSet makeprg=rustc
else
if has('patch-7.4.191')
CompilerSet makeprg=rustc\ \%:S
else
CompilerSet makeprg=rustc\ \"%\"
endif
CompilerSet makeprg=rustc\ \%:S
endif
" New errorformat (after nightly 2016/08/10)

View File

@@ -0,0 +1,69 @@
" Vim compiler file
" Language: TOML
" Maintainer: Konfekt
" Last Change: 2025 Oct 29
if exists("current_compiler") | finish | endif
let current_compiler = "tombi"
let s:cpo_save = &cpo
set cpo&vim
if !executable('tombi')
echoerr "tombi compiler: 'tombi' executable not found in PATH"
let &cpo = s:cpo_save
unlet s:cpo_save
finish
endif
" NO_COLOR support requires tombi 0.6.40 or later
if !exists('s:tombi_nocolor')
" Expect output like: 'tombi 0.6.40' or '0.6.40'
let s:out = trim(system('tombi --version'))
let s:tombi_ver = matchstr(s:out, '\v\s\d+\.\d+\.\d+$')
function s:VersionGE(ver, req) abort
" Compare semantic versions a.b.c ≥ x.y.z
let l:pa = map(split(a:ver, '\.'), 'str2nr(v:val)')
let l:pb = map(split(a:req, '\.'), 'str2nr(v:val)')
while len(l:pa) < 3 | call add(l:pa, 0) | endwhile
while len(l:pb) < 3 | call add(l:pb, 0) | endwhile
for i in range(0, 2)
if l:pa[i] > l:pb[i] | return 1
elseif l:pa[i] < l:pb[i] | return 0
endif
endfor
return 1
endfunction
let s:tombi_nocolor = s:VersionGE(s:tombi_ver, '0.6.40')
delfunction s:VersionGE
endif
if s:tombi_nocolor
if has('win32')
if &shell =~# '\v<%(cmd|cmd)>'
CompilerSet makeprg=set\ NO_COLOR=1\ &&\ tombi\ lint
elseif &shell =~# '\v<%(powershell|pwsh)>'
CompilerSet makeprg=$env:NO_COLOR=\"1\";\ tombi\ lint
else
echoerr "tombi compiler: Unsupported shell for Windows"
endif
else " if has('unix')
CompilerSet makeprg=env\ NO_COLOR=1\ tombi\ lint
endif
else
" Older tombi: strip ANSI color codes with sed.
if executable('sed')
CompilerSet makeprg=tombi\ lint\ $*\ \|\ sed\ -E\ \"s/\\x1B(\\[[0-9;]*[JKmsu]\|\\(B)//g\"
else
echoerr "tombi compiler: tombi version < 0.6.40 requires 'sed' to strip ANSI color codes"
endif
endif
CompilerSet errorformat=%E%*\\sError:\ %m,%Z%*\\sat\ %f:%l:%c
CompilerSet errorformat+=%W%*\\sWarning:\ %m,%Z%*\\sat\ %f:%l:%c
CompilerSet errorformat+=%-G1\ file\ failed\ to\ be\ linted
CompilerSet errorformat+=%-G1\ file\ linted\ successfully
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -2,6 +2,7 @@
" Language: vimdoc
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Latest Revision: 2024-04-13
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
"
" If you can not find 'vimdoc' in the package manager of your distribution e.g
" 'pip', then you may need to build it from its source.
@@ -15,6 +16,8 @@ let s:save_cpoptions = &cpoptions
set cpoptions&vim
CompilerSet makeprg=vimdoc
" CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m
CompilerSet errorformat&
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions

View File

@@ -3,6 +3,7 @@
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2021 July 21
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
" 2025 Nov 16 by The Vim Project (set errorformat)
if exists("current_compiler")
finish
@@ -10,4 +11,6 @@ endif
let current_compiler = "yamllint"
CompilerSet makeprg=yamllint\ -f\ parsable
" CompilerSet errorformat=%f:%l:%c:\ [%t%*[^]]]\ %m,%f:%l:%c:\ [%*[^]]]\ %m
CompilerSet errorformat&

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Zig Compiler (zig build-exe)
" Upstream: https://github.com/ziglang/zig.vim
" Last Change: 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
if exists('current_compiler')
finish
@@ -12,11 +12,9 @@ let current_compiler = 'zig_build_exe'
let s:save_cpo = &cpo
set cpo&vim
if has('patch-7.4.191')
CompilerSet makeprg=zig\ build-exe\ \%:S\ \$*
else
CompilerSet makeprg=zig\ build-exe\ \"%\"\ \$*
endif
CompilerSet makeprg=zig\ build-exe\ \%:S\ \$*
" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
CompilerSet errorformat&
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Zig Compiler (zig test)
" Upstream: https://github.com/ziglang/zig.vim
" Last Change: 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
if exists('current_compiler')
finish
@@ -12,11 +12,9 @@ let current_compiler = 'zig_test'
let s:save_cpo = &cpo
set cpo&vim
if has('patch-7.4.191')
CompilerSet makeprg=zig\ test\ \%:S\ \$*
else
CompilerSet makeprg=zig\ test\ \"%\"\ \$*
endif
CompilerSet makeprg=zig\ test\ \%:S\ \$*
" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
CompilerSet errorformat&
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2025 Jul 13
" Last Change: 2025 Nov 28
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
"
" This is loaded if no vimrc file was found.
@@ -33,8 +33,6 @@ silent! while 0
set nocompatible
silent! endwhile
set ruler " show the cursor position all the time
set ttimeout " time out for key codes
set ttimeoutlen=100 " wait up to 100ms after Esc for special key
@@ -138,7 +136,7 @@ if &t_Co > 2 || has("gui_running")
syntax on
" I like highlighting strings inside C comments.
" Revert with ":unlet c_comment_strings".
" Revert with ":unlet g:c_comment_strings".
let c_comment_strings=1
endif

View File

@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 9.1. Last change: 2021 Jun 22
*arabic.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Nadim Shaikli
@@ -191,7 +191,7 @@ o Enable Arabic settings [short-cut]
To activate the Arabic keymap (i.e. to remap your English/Latin
keyboard to look-n-feel like a standard Arabic one), set the
'keymap' command to "arabic". This is done by entering
'keymap' option to "arabic". This is done by entering
>
:set keymap=arabic
<

View File

@@ -1,7 +1,7 @@
*autocmd.txt* For Vim version 9.1. Last change: 2025 Sep 02
*autocmd.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Automatic commands *autocommand* *autocommands*
@@ -236,7 +236,7 @@ autocmds.
*:autocmd-verbose*
When 'verbose' is non-zero, listing an autocommand will also display where it
was last defined. Example: >
was last defined. Example: >
:verbose autocmd BufEnter
FileExplorer BufEnter
@@ -344,7 +344,8 @@ Name triggered by ~
|GUIEnter| after starting the GUI successfully
|GUIFailed| after starting the GUI failed
|TermResponse| after the terminal response to |t_RV| is received
|TermResponseAll| after the terminal response to |t_RV| and others is received
|TermResponseAll| after the terminal response to |t_RV| and others is
received
|QuitPre| when using `:quit`, before deciding whether to exit
|ExitPre| when using a command that may make Vim exit
@@ -381,7 +382,8 @@ Name triggered by ~
|FocusGained| Vim got input focus
|FocusLost| Vim lost input focus
|CursorHold| the user doesn't press a key for a while
|CursorHoldI| the user doesn't press a key for a while in Insert mode
|CursorHoldI| the user doesn't press a key for a while in Insert
mode
|CursorMoved| the cursor was moved in Normal mode
|CursorMovedC| the cursor was moved in the |Command-line|
|CursorMovedI| the cursor was moved in Insert mode
@@ -566,7 +568,8 @@ BufWinEnter After a buffer is displayed in a window. This
since it reloads that buffer.
Does not happen for a terminal window, because
it starts in Terminal-Job mode and Normal mode
commands won't work. Use |TerminalOpen| instead.
commands won't work. Use |TerminalOpen|
instead.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
@@ -679,7 +682,7 @@ ColorScheme After loading a color scheme. |:colorscheme|
Not triggered if the color scheme is not
found.
The pattern is matched against the
colorscheme name. <afile> can be used for the
colorscheme name. <afile> can be used for the
name of the actual file where this option was
set, and <amatch> for the new colorscheme
name.
@@ -748,7 +751,7 @@ CursorHold When the user doesn't press a key for the time
triggered. |q|
*<CursorHold>*
Internally the autocommand is triggered by the
<CursorHold> key. In an expression mapping
<CursorHold> key. In an expression mapping
|getchar()| may see this character.
Note: Interactive commands cannot be used for
@@ -1014,7 +1017,7 @@ InsertLeave Just after leaving Insert mode. Also when
using CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
*KeyInputPre*
KeyInputPre Just before a key is processed after mappings
have been applied. The pattern is matched
have been applied. The pattern is matched
against a string that indicates the current
mode, which is the same as what is returned by
`mode(1)`.
@@ -1046,7 +1049,7 @@ MenuPopup Just before showing the popup menu (under the
c Command line
tl Terminal
*ModeChanged*
ModeChanged After changing the mode. The pattern is
ModeChanged After changing the mode. The pattern is
matched against `'old_mode:new_mode'`, for
example match against `*:c*` to simulate
|CmdlineEnter|.
@@ -1082,7 +1085,7 @@ OptionSet After setting an option. The pattern is
|v:option_oldlocal| is only set when |:set|
or |:setlocal| or a |modeline| was used to set
the option. Similarly |v:option_oldglobal| is
the option. Similarly |v:option_oldglobal| is
only set when |:set| or |:setglobal| was used.
This does not set |<abuf>|, you could use
@@ -1090,10 +1093,10 @@ OptionSet After setting an option. The pattern is
Note that when setting a |global-local| string
option with |:set|, then |v:option_old| is the
old global value. However, for all other kinds
of options (local string options, global-local
number options, ...) it is the old local
value.
old global value. However, for all other
kinds of options (local string options,
global-local number options, ...) it is the
old local value.
OptionSet is not triggered on startup and for
the 'key' option for obvious reasons.
@@ -1105,7 +1108,7 @@ OptionSet After setting an option. The pattern is
Note: It's a bad idea to reset an option
during this autocommand, this may break a
plugin. You can always use `:noa` to prevent
plugin. You can always use `:noa` to prevent
triggering this autocommand.
When using |:set| in the autocommand the event
@@ -1130,7 +1133,7 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
*QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run, before jumping to the first
location. For |:cfile| and |:lfile| commands
location. For |:cfile| and |:lfile| commands
it is run after the error file is read and
before moving to the first error.
See |QuickFixCmdPost-example|.
@@ -1174,7 +1177,7 @@ SafeState When nothing is pending, going to wait for the
screen was scrolled for messages.
*SafeStateAgain*
SafeStateAgain Like SafeState but after processing any
messages and invoking callbacks. This may be
messages and invoking callbacks. This may be
triggered often, don't do something that takes
time.
@@ -1278,12 +1281,12 @@ TermChanged After the value of 'term' has changed. Useful
settings. Executed for all loaded buffers.
*TerminalOpen*
TerminalOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
`:terminal` or |term_start()|. This event is
triggered even if the buffer is created
without a window, with the ++hidden option.
*TerminalWinOpen*
TerminalWinOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
`:terminal` or |term_start()|. This event is
triggered only if the buffer is created
with a window. Can be used to set window
local options for the terminal window.
@@ -1313,8 +1316,10 @@ TermResponseAll After the response to |t_RV|, |t_RC|, |t_RS|,
correspondingly, can be used. <amatch> will
be set to any of:
"ambiguouswidth" (|t_u7|),
"background" (|t_RB|),
"cursorblink" (|t_RC|),
"cursorshape" (|t_RS|),
"foreground" (|t_RF|),
"da1",
"osc",
"version" (|t_RV|)
@@ -1322,15 +1327,6 @@ TermResponseAll After the response to |t_RV|, |t_RC|, |t_RS|,
executing another event, especially if file I/O,
a shell command or anything else that takes time
is involved.
Note: Traditionally, TermResponseAll was also
used for "foreground" and "background"
patterns. These are now handled as part of
the "osc" value. For backwards compatibility,
the $VIMRUNTIME/plugin/colorresp.vim plugin
will handle "osc" events and emit
TermResponseAll autocommand events when it
encounters "foreground" and "background"
values.
*TextChanged*
TextChanged After a change was made to the text in the
current buffer in Normal mode. That is after
@@ -1487,7 +1483,7 @@ WinLeave Before leaving a window. If the window to be
Not used for ":qa" or ":q" when exiting Vim.
*WinNewPre*
WinNewPre Before creating a new window. Triggered
WinNewPre Before creating a new window. Triggered
before commands that modify window layout by
creating a split.
Not done when creating tab pages and for the
@@ -1629,7 +1625,8 @@ The pattern is interpreted like mostly used in file names:
Note that for all systems the '/' character is used for path separator (even
for MS-Windows). This was done because the backslash is difficult to use in a
pattern and to make the autocommands portable across different systems.
pattern and to make the autocommands portable across different systems. To
only match a '/' on all platforms (e.g. in a non-file pattern), use "\/".
It is possible to use |pattern| items, but they may not work as expected,
because of the translation done for the above.
@@ -1795,8 +1792,8 @@ option will not cause any commands to be executed.
After applying the autocommands the modelines are
processed, so that their settings overrule the
settings from autocommands, like what happens when
editing a file. This is skipped when the <nomodeline>
argument is present. You probably want to use
editing a file. This is skipped when the <nomodeline>
argument is present. You probably want to use
<nomodeline> for events that are not used when loading
a buffer, such as |User|.
Processing modelines is also skipped when no
@@ -1808,7 +1805,7 @@ option will not cause any commands to be executed.
loaded buffer. The current buffer is done last.
Note that [fname] is used to select the autocommands,
not the buffers to which they are applied. Example: >
not the buffers to which they are applied. Example: >
augroup mine
autocmd!
autocmd FileType * echo expand('<amatch>')

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
*change.txt* For Vim version 9.1. Last change: 2025 Aug 06
*change.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
This file describes commands that delete or change text. In this context,
@@ -101,7 +101,7 @@ An exception for the d{motion} command: If the motion is not linewise, the
start and end of the motion are not in the same line, and there are only
blanks before the start and there are no non-blanks after the end of the
motion, the delete becomes linewise. This means that the delete also removes
the line of blanks that you might expect to remain. Use the |o_v| operator to
the line of blanks that you might expect to remain. Use the |o_v| operator to
force the motion to be characterwise or remove the "z" flag from 'cpoptions'
(see |cpo-z|) to disable this peculiarity.
@@ -382,7 +382,7 @@ CTRL-A Add [count] to the number or alphabetic character at
*v_g_CTRL-A*
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. If several lines are
the highlighted text. If several lines are
highlighted, each one will be incremented by an
additional [count] (so effectively creating a
[count] incrementing sequence).
@@ -413,7 +413,7 @@ CTRL-X Subtract [count] from the number or alphabetic
<
*v_g_CTRL-X*
{Visual}g CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. If several lines
character in the highlighted text. If several lines
are highlighted, each value will be decremented by an
additional [count] (so effectively creating a [count]
decrementing sequence).
@@ -866,7 +866,7 @@ the |substitute()| function with the following exceptions:
- magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M).
- \<CR> does not have a special meaning. It's just one of \x.
- \<CR> does not have a special meaning. It's just one of \x.
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
@@ -878,7 +878,7 @@ Examples: >
Note: "\L\u" can be used to capitalize the first letter of a word. This is
not compatible with Vi and older versions of Vim, where the "\u" would cancel
out the "\L". Same for "\U\l".
out the "\L". Same for "\U\l".
Note: In previous versions CTRL-V was handled in a special way. Since this is
not Vi compatible, this was removed. Use a backslash instead.
@@ -950,7 +950,7 @@ real <NL> character (which will be a NUL in the file).
The "\=" notation can also be used inside the third argument {sub} of
|substitute()| function. In this case, the special meaning for characters as
mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and
mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and
<NL> are interpreted not as a line break but as a carriage-return and a
new-line respectively.
@@ -1092,7 +1092,7 @@ inside of strings can change! Also see 'softtabstop' option. >
with `zp`. (for {Visual} see |Visual-mode|)
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
"* or "+ registers is possible only when the
|+clipboard| feature is included.
@@ -1137,12 +1137,12 @@ inside of strings can change! Also see 'softtabstop' option. >
current line). This always works |linewise|, thus
this command can be used to put a yanked block as new
lines.
If no register is specified, it depends on the 'cb'
option: If 'cb' contains "unnamedplus", paste from the
+ register |quoteplus|. Otherwise, if 'cb' contains
"unnamed", paste from the * register |quotestar|.
Otherwise, paste from the unnamed register
|quote_quote|.
If no register is specified, it depends on the
'clipboard' option: If 'clipboard' contains
"unnamedplus", paste from the + register |quoteplus|.
Otherwise, if 'clipboard' contains "unnamed", paste
from the * register |quotestar|. Otherwise, paste from
the unnamed register |quote_quote|.
The register can also be '=' followed by an optional
expression. The expression continues until the end of
the command. You need to escape the '|' and '"'
@@ -1173,9 +1173,9 @@ inside of strings can change! Also see 'softtabstop' option. >
or 'a'.
["x]zp or *zp* *zP*
["x]zP Like "p" and "P", except without adding trailing spaces
when pasting a block. Thus the inserted text will not
always be a rectangle. Especially useful in
["x]zP Like "p" and "P", except without adding trailing
spaces when pasting a block. Thus the inserted text
will not always be a rectangle. Especially useful in
combination with |v_zy|.
You can use these commands to copy text from one place to another. Do this
@@ -1210,7 +1210,7 @@ With |p| the previously selected text is put in the unnamed register (and
possibly the selection and/or clipboard). This is useful if you want to put
that text somewhere else. But you cannot repeat the same change.
With |P| the unnamed register is not changed (and neither the selection or
clipboard), you can repeat the same change. But the deleted text cannot be
clipboard), you can repeat the same change. But the deleted text cannot be
used. If you do need it you can use |p| with another register. E.g., yank
the text to copy, Visually select the text to replace and use "0p . You can
repeat this as many times as you like, and the unnamed register will be
@@ -1291,8 +1291,8 @@ text is less than one line (the small delete register is used then). An
exception is made for the delete operator with these movement commands: |%|,
|(|, |)|, |`|, |/|, |?|, |n|, |N|, |{| and |}|.
Register "1 is always used then (this is Vi compatible). The "- register is
used as well if the delete is within a line. Note that these characters may be
mapped. E.g. |%| is mapped by the matchit plugin.
used as well if the delete is within a line. Note that these characters may
be mapped. E.g. |%| is mapped by the matchit plugin.
With each successive deletion or change, Vim shifts the previous contents
of register 1 into register 2, 2 into 3, and so forth, losing the previous
contents of register 9.
@@ -1324,7 +1324,7 @@ and ":put" commands and with CTRL-R.
"@:" to repeat the previous command-line command.
The command-line is only stored in this register when at least
one character of it was typed. Thus it remains unchanged if
the command was completely from a mapping.
the command was executed completely from a mapping.
{not available when compiled without the |+cmdline_hist|
feature}
*quote_#* *quote#*
@@ -1608,11 +1608,11 @@ type of comment string. A part consists of:
e End of a three-piece comment
l Left align. Used together with 's' or 'e', the leftmost character of
l Left align. Used together with 's' or 'e', the leftmost character of
start or end will line up with the leftmost character from the middle.
This is the default and can be omitted. See below for more details.
This is the default and can be omitted. See below for more details.
r Right align. Same as above but rightmost instead of leftmost. See
r Right align. Same as above but rightmost instead of leftmost. See
below for more details.
O Don't consider this comment for the "O" command.
@@ -1624,8 +1624,8 @@ type of comment string. A part consists of:
{digits}
When together with 's' or 'e': add {digit} amount of offset to an
automatically inserted middle or end comment leader. The offset begins
from a left alignment. See below for more details.
automatically inserted middle or end comment leader. The offset
begins from a left alignment. See below for more details.
-{digits}
Like {digits} but reduce the indent. This only works when there is
@@ -1664,7 +1664,7 @@ part which is longer, the end part is used. This makes a C style comment work
without requiring the middle part to end with a space.
Here is an example of alignment flags at work to make a comment stand out
(kind of looks like a 1 too). Consider comment string: >
(kind of looks like a 1 too). Consider comment string: >
:set comments=sr:/***,m:**,ex-2:******/
<
/*** ~
@@ -1675,7 +1675,7 @@ offset 2 spaces for the "-2" flag--->** ~
In this case, the first comment was typed, then return was pressed 4 times,
then "/" was pressed to end the comment.
Here are some finer points of three part comments. There are three times when
Here are some finer points of three part comments. There are three times when
alignment and offset flags are taken into consideration: opening a new line
after a start-comment, opening a new line before an end-comment, and
automatically ending a three-piece comment. The end alignment flag has a
@@ -1686,11 +1686,11 @@ will override the "r" and "l" flag.
Enabling 'cindent' will override the alignment flags in many cases.
Reindenting using a different method like |gq| or |=| will not consult
alignment flags either. The same behaviour can be defined in those other
formatting options. One consideration is that 'cindent' has additional options
for context based indenting of comments but cannot replicate many three piece
indent alignments. However, 'indentexpr' has the ability to work better with
three piece comments.
alignment flags either. The same behaviour can be defined in those other
formatting options. One consideration is that 'cindent' has additional
options for context based indenting of comments but cannot replicate many
three piece indent alignments. However, 'indentexpr' has the ability to work
better with three piece comments.
Other examples: >
"b:*" Includes lines starting with "*", but not if the "*" is
@@ -1787,7 +1787,7 @@ B When joining lines, don't insert a space between two multibyte
1 Don't break a line after a one-letter word. It's broken before it
instead (if possible).
*fo-]*
] Respect 'textwidth' rigorously. With this flag set, no line can be
] Respect 'textwidth' rigorously. With this flag set, no line can be
longer than 'textwidth', unless line-break-prohibition rules make this
impossible. Mainly for CJK scripts and works only if 'encoding' is
"utf-8".
@@ -1825,8 +1825,8 @@ is when the 'a' flag is present. |auto-format|
Note that when 'paste' is on, Vim does no formatting at all.
Note that 'textwidth' can be non-zero even if Vim never performs auto-wrapping;
'textwidth' is still useful for formatting with "gq".
Note that 'textwidth' can be non-zero even if Vim never performs
auto-wrapping; 'textwidth' is still useful for formatting with "gq".
If the 'comments' option includes "/*", "*" and/or "*/", then Vim has some
built in stuff to treat these types of comments a bit more cleverly.
@@ -1913,8 +1913,8 @@ Also see |:uniq|.
*:sort-l*
With [l] sort uses the current collation locale.
Implementation details: strcoll() is used to compare
strings. See |:language| to check or set the collation
locale. Example: >
strings. See |:language| to check or set the collation
locale. Example: >
:language collate en_US.UTF-8
:%sort l
< |v:collate| can also used to check the current locale.
@@ -1930,7 +1930,7 @@ Also see |:uniq|.
With [f] sorting is done on the Float in the line.
The value of Float is determined similar to passing
the text (after or inside a {pattern} match) to
str2float() function. This option is available only
str2float() function. This option is available only
if Vim was compiled with Floating point support.
With [x] sorting is done on the first hexadecimal

View File

@@ -1,4 +1,4 @@
*channel.txt* For Vim version 9.1. Last change: 2024 Jul 17
*channel.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -89,7 +89,8 @@ The number will increase every time you send a message.
The server can send a command to Vim. Type this on T1 (literally, including
the quotes):
["ex","echo 'hi there'"] ~
And you should see the message in Vim. You can move the cursor a word forward:
And you should see the message in Vim. You can move the cursor a word
forward:
["normal","w"] ~
To handle asynchronous communication a callback needs to be used: >
@@ -234,7 +235,7 @@ what you want! Stopping the job with job_stop() might be better.
All readahead is discarded, callbacks will no longer be invoked.
Note that a channel is closed in three stages:
- The I/O ends, log message: "Closing channel". There can still be queued
- The I/O ends, log message: "Closing channel". There can still be queued
messages to read or callbacks to invoke.
- The readahead is cleared, log message: "Clearing channel". Some variables
may still reference the channel.
@@ -478,7 +479,7 @@ To read from the error output use the "part" option:
{"part": "err"} ~
To read a message with a specific ID, on a JS or JSON channel:
{"id": 99} ~
When no ID is specified or the ID is -1, the first message is returned. This
When no ID is specified or the ID is -1, the first message is returned. This
overrules any callback waiting for this message.
For a RAW channel this returns whatever is available, since Vim does not know
@@ -571,7 +572,8 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
Return type: dict<any> or |String|
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Get the buffer number that {handle} is using for String {what}.
Get the buffer number that {handle} is using for String
{what}.
{handle} can be a Channel or a Job that has a Channel.
{what} can be "err" for stderr, "out" for stdout or empty for
socket output.
@@ -728,7 +730,7 @@ ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
{handle} can be a Channel or a Job that has a Channel.
When using the "lsp" channel mode, {expr} must be a |Dict|.
If the channel mode is "lsp", then returns a Dict. Otherwise
If the channel mode is "lsp", then returns a Dict. Otherwise
returns an empty String. If the "callback" item is present in
{options}, then the returned Dict contains the ID of the
request message. The ID can be used to send a cancellation
@@ -813,12 +815,12 @@ been received and not parsed correctly.
If the command produces a line of output that you want to deal with, specify
a handler for stdout: >
let job = job_start(command, {"out_cb": "MyHandler"})
The function will be called with the channel and a message. You would define
The function will be called with the channel and a message. You would define
it like this: >
func MyHandler(channel, msg)
Without the handler you need to read the output with |ch_read()| or
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
Note that if the job exits before you read the output, the output may be lost.
This depends on the system (on Unix this happens because closing the write end
@@ -856,7 +858,7 @@ To run a job that reads from a buffer: >
\ {'in_io': 'buffer', 'in_name': 'mybuffer'})
<
*E915* *E918*
The buffer is found by name, similar to |bufnr()|. The buffer must exist and
The buffer is found by name, similar to |bufnr()|. The buffer must exist and
be loaded when job_start() is called.
By default this reads the whole buffer. This can be changed with the "in_top"
@@ -933,7 +935,8 @@ job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}:
"status" what |job_status()| returns
"channel" what |job_getchannel()| returns
"cmd" List of command arguments used to start the job
"cmd" List of command arguments used to start the
job
"process" process ID
"tty_in" terminal input name, empty when none
"tty_out" terminal output name, empty when none
@@ -985,11 +988,11 @@ job_start({command} [, {options}]) *job_start()*
passed to execvp(). Arguments in double quotes can contain
white space.
{command} can be a List, where the first item is the executable
and further items are the arguments. All items are converted
to String. This works best on Unix.
{command} can be a List, where the first item is the
executable and further items are the arguments. All items are
converted to String. This works best on Unix.
On MS-Windows, job_start() makes a GUI application hidden. If
On MS-Windows, job_start() makes a GUI application hidden. If
you want to show it, use |:!start| instead.
The command is executed directly, not through a shell, the
@@ -1311,7 +1314,7 @@ To get the status of a job: >
To make a job stop running: >
job_stop(job)
This is the normal way to end a job. On Unix it sends a SIGTERM to the job.
This is the normal way to end a job. On Unix it sends a SIGTERM to the job.
It is possible to use other ways to stop the job, or even send arbitrary
signals. E.g. to force a job to stop, "kill it": >
job_stop(job, "kill")
@@ -1327,10 +1330,10 @@ If you want to type input for the job in a Vim window you have a few options:
- Use a terminal window. This works well if what you type goes directly to
the job and the job output is directly displayed in the window.
See |terminal-window|.
- Use a window with a prompt buffer. This works well when entering a line for
- Use a window with a prompt buffer. This works well when entering a line for
the job in Vim while displaying (possibly filtered) output from the job.
A prompt buffer is created by setting 'buftype' to "prompt". You would
A prompt buffer is created by setting 'buftype' to "prompt". You would
normally only do that in a newly created buffer.
The user can edit and enter one line of text at the very last line of the
@@ -1339,8 +1342,8 @@ buffer. When pressing Enter in the prompt line the callback set with
Another callback would receive the output from the job and display it in the
buffer, below the prompt (and above the next prompt).
Only the text in the last line, after the prompt, is editable. The rest of the
buffer is not modifiable with Normal mode commands. It can be modified by
Only the text in the last line, after the prompt, is editable. The rest of
the buffer is not modifiable with Normal mode commands. It can be modified by
calling functions, such as |append()|. Using other commands may mess up the
buffer.
@@ -1348,8 +1351,8 @@ After setting 'buftype' to "prompt" Vim does not automatically start Insert
mode, use `:startinsert` if you want to enter Insert mode, so that the user
can start typing a line.
The text of the prompt can be set with the |prompt_setprompt()| function. If
no prompt is set with |prompt_setprompt()|, "% " is used. You can get the
The text of the prompt can be set with the |prompt_setprompt()| function. If
no prompt is set with |prompt_setprompt()|, "% " is used. You can get the
effective prompt text for a buffer, with |prompt_getprompt()|.
The user can go to Normal mode and navigate through the buffer. This can be
@@ -1357,7 +1360,7 @@ useful to see older output or copy text.
The CTRL-W key can be used to start a window command, such as CTRL-W w to
switch to the next window. This also works in Insert mode (use Shift-CTRL-W
to delete a word). When leaving the window Insert mode will be stopped. When
to delete a word). When leaving the window Insert mode will be stopped. When
coming back to the prompt window Insert mode will be restored.
Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
@@ -1470,13 +1473,13 @@ and encode the Vim expression into JSON. Refer to |json_encode()| and
|json_decode()| for more information about how Vim encodes and decodes the
builtin types into JSON.
To open a channel using the 'lsp' mode, set the 'mode' item in the |ch_open()|
{options} argument to 'lsp'. Example: >
To open a channel using the "lsp" mode, set the "mode" item in the |ch_open()|
{options} argument to "lsp". Example: >
let ch = ch_open(..., #{mode: 'lsp'})
To open a channel using the 'lsp' mode with a job, set the 'in_mode' and
'out_mode' items in the |job_start()| {options} argument to 'lsp'. Example: >
To open a channel using the "lsp" mode with a job, set the "in_mode" and
"out_mode" items in the |job_start()| {options} argument to "lsp". Example: >
let cmd = ['clangd', '--background-index', '--clang-tidy']
let opts = {}
@@ -1494,9 +1497,9 @@ formats appropriately or you should use a separate callback function for
"out_cb" and "err_cb" to handle them as shown above.
To synchronously send a JSON-RPC request to the server, use the
|ch_evalexpr()| function. This function will wait and return the decoded
response message from the server. You can use either the |channel-timeout| or
the 'timeout' field in the {options} argument to control the response wait
|ch_evalexpr()| function. This function will wait and return the decoded
response message from the server. You can use either the |channel-timeout| or
the "timeout" field in the {options} argument to control the response wait
time. If the request times out, then an empty |Dict| is returned. Example: >
let req = {}
@@ -1509,9 +1512,10 @@ time. If the request times out, then an empty |Dict| is returned. Example: >
... <handle failure>
endif
Note that in the request message the 'id' field should not be specified. If it
is specified, then Vim will overwrite the value with an internally generated
identifier. Vim currently supports only a number type for the 'id' field.
Note that in the request message the "id" field should not be specified. If
it is specified, then Vim will overwrite the value with an internally
generated identifier. Vim currently supports only a number type for the "id"
field.
The callback function will be invoked for both a successful and a failed RPC
request.
@@ -1549,14 +1553,14 @@ for the request. Example: >
call ch_sendexpr(ch, notif)
To send a JSON-RPC notification message to the server, use the |ch_sendexpr()|
function. As the server will not send a response message to the notification,
function. As the server will not send a response message to the notification,
don't specify the "callback" item. Example: >
call ch_sendexpr(ch, #{method: 'initialized'})
To respond to a JSON-RPC request message from the server, use the
|ch_sendexpr()| function. In the response message, copy the 'id' field value
from the server request message. Example: >
|ch_sendexpr()| function. In the response message, copy the "id" field value
from the server request message. Example: >
let resp = {}
let resp.id = req.id

View File

@@ -1,7 +1,7 @@
*cmdline.txt* For Vim version 9.1. Last change: 2025 Aug 08
*cmdline.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
*Cmdline-mode* *Command-line-mode*
@@ -20,6 +20,7 @@ Basic command line editing is explained in chapter 20 of the user manual
5. Ex command-line flags |ex-flags|
6. Ex special characters |cmdline-special|
7. Command-line window |cmdline-window|
8. Command-line autocompletion |cmdline-autocompletion|
==============================================================================
1. Command-line editing *cmdline-editing*
@@ -60,8 +61,8 @@ Notes:
- When you enter a command-line that is exactly the same as an older one, the
old one is removed (to avoid repeated commands moving older commands out of
the history).
- Only commands that are typed are remembered. Ones that completely come from
mappings are not put in the history.
- Only commands that are typed are remembered. A command executed completely
from a mapping is not put in the history.
- All searches are put in the search history, including the ones that come
from commands like "*" and "#". But for a mapping, only the last search is
remembered (to avoid that long mappings trash the history).
@@ -161,7 +162,8 @@ CTRL-R {register} *c_CTRL-R* *c_<C-R>*
the last delete or yank
'%' the current file name
'#' the alternate file name
'*' the clipboard contents (X11: primary selection)
'*' the clipboard contents (X11: primary
selection)
'+' the clipboard contents
'/' the last search pattern
':' the last command-line
@@ -406,6 +408,9 @@ word before the cursor. This is available for:
The number of help item matches is limited (currently to 300) to avoid a long
delay when there are very many matches.
For automatic completion as you type (without pressing a key like <Tab>),
see |cmdline-autocompletion|.
These are the commands that can be used:
*c_CTRL-D*
@@ -436,7 +441,8 @@ CTRL-D List names that match the pattern in front of the cursor.
<S-Tab> does not work everywhere.
*c_CTRL-N*
CTRL-N After using 'wildchar' which got multiple matches, go to next
match. Otherwise recall more recent command-line from history.
match. Otherwise recall more recent command-line from
history.
*c_CTRL-P*
CTRL-P After using 'wildchar' which got multiple matches, go to
previous match. Otherwise recall older command-line from
@@ -479,8 +485,6 @@ When repeating 'wildchar' or CTRL-N you cycle through the matches, eventually
ending up back to what was typed. If the first match is not what you wanted,
you can use <S-Tab> or CTRL-P to go straight back to what you typed.
See also |wildtrigger()|.
The 'wildmenu' option can be set to show the matches just above the command
line.
@@ -726,9 +730,9 @@ See also |`=|.
*:_!*
The '!' (bang) character after an Ex command makes the command behave in a
different way. The '!' should be placed immediately after the command, without
any blanks in between. If you insert blanks the '!' will be seen as an
argument for the command, which has a different meaning. For example:
different way. The '!' should be placed immediately after the command,
without any blanks in between. If you insert blanks the '!' will be seen as
an argument for the command, which has a different meaning. For example:
:w! name write the current buffer to file "name", overwriting
any existing file
:w !name send the current buffer as standard input to command
@@ -743,16 +747,17 @@ Some Ex commands accept a line range in front of them. This is noted as
The basics are explained in section |10.3| of the user manual.
In |Vim9| script a range needs to be prefixed with a colon to avoid ambiguity
In |Vim9| script, a range needs to be prefixed with a colon to avoid ambiguity
with continuation lines. For example, "+" can be used for a range but is also
a continuation of an expression: >
var result = start
+ print
If the "+" is a range then it must be prefixed with a colon: >
var result = start
<If the "+" is a range, as it is here, in Vim9 script it must be prefixed
with a colon (otherwise you will get error |E1050|): >
vim9script
:+ print
<
*:,* *:;*
*:,* *:;*
When separated with ';' the cursor position will be set to that line
before interpreting the next line specifier. This doesn't happen for ','.
Examples: >
@@ -762,36 +767,86 @@ Examples: >
< from line 5 till match with "that line" after line 5.
The default line specifier for most commands is the cursor position, but the
commands ":write" and ":global" have the whole file (1,$) as default.
If more line specifiers are given than required for the command, the first
one(s) will be ignored.
commands ":write" and ":global" have the whole buffer (1,$) as default.
If more line specifiers are given than required for the command, when comma
separated, the leftmost one(s) will be ignored, e.g., the -2,+ in this: >
:-2,+,-2,. print
<When semicolon separated, the leftmost specifier to the penultimate one are
summed, e.g., -4 + 3 - 1 = -2, in this: >
:-4;+3;-1;+2 print
<
Line numbers may be specified with: *:range* *{address}*
{number} an absolute line number *E1247*
. the current line *:.*
$ the last line in the file *:$*
% equal to 1,$ (the entire file) *:%*
't position of mark t (lowercase) *:'*
'T position of mark T (uppercase); when the mark is in
another file it cannot be used in a range
/{pattern}[/] the next line where {pattern} matches *:/*
. the current line *:.*
$ the last line of the buffer *:$*
% equal to 1,$ (the entire buffer) *:%*
* equal to '<,'> (the lines of the last
selected Visual area; see |:star| below)
'x the line of the position of mark x *:'x*
(where x is any {a-z} mark)
'X the line of the position of mark X *:'X*
(where X is any {A-Z0-9} mark, though
when X is in another buffer it cannot
be used in a range)
'[ the first line of the most recent *:'[*
change or yank
'] the last line of the most recent *:']*
change or yank
'< the first line of the most recently *:'<*
selected Visual area
'> the last line of the most recently *:'>*
selected Visual area
'' the line of the position before the *:''*
latest jump, or where the last "m'"/"m`"
command was given (though '' is 1 if it
isn't in the current buffer)
'" the line of the cursor position when *:'quote*
last exiting the buffer
'^ the line of the cursor position the *:'^*
last time Insert mode was stopped
'. the line of the cursor position when the *:'.*
buffer was last changed
'( the line of the first character of the *:'(*
current sentence
') the line of the first character after *:')*
the end of the current sentence
'{ the first empty line before the *:'{*
paragraph containing the cursor
'} the first empty line after the *:'}*
paragraph containing the cursor
/{pattern}[/] the next line where {pattern} matches *:/*
also see |:range-pattern| below
?{pattern}[?] the previous line where {pattern} matches *:?*
?{pattern}[?] the previous line where {pattern} matches *:?*
also see |:range-pattern| below
\/ the next line where the previously used search
pattern matches
\? the previous line where the previously used search
pattern matches
\& the next line where the previously used substitute
pattern matches
\/ the next line where the most recent
search pattern matches
\? the previous line where the most recent
search pattern matches
\& the next line where the most recent
substitute pattern matches
Note: "next line" and "previous line" do not include matches appearing
in the current line.
*:range-offset*
Each may be followed (several times) by '+' or '-' and an optional number.
This number is added or subtracted from the preceding line number. If the
number is omitted, 1 is used. If there is nothing before the '+' or '-' then
the current line is used.
*:range-closed-fold*
Each line specifier may be followed by one or more '+' or '-' and an optional
number. That value is added or subtracted from the preceding line number.
So, for example, 'x+2 is two lines after the line containing mark x. If the
number is omitted, +1 is used for each '+' and -1 for each '-' so, e.g., 'x++
and 'x+2 are synonymous. If there is nothing before the '+' or '-', for the
first line number in [range] the current line is used as the relative
starting point. So, -,. means, "the line before the current line to the
current line". The value of the second line number in [range] depends on
whether a comma or semicolon separates the line numbers (see |:,| and |:;|).
Examples: If the cursor is within the line below this one, any of these
commands will print the tag line ":range-offset" and the line, "Each...": >
:-11;+1 print
:-----------,-10 print
:?Each line?-;+ print
:'{+,'{+2 print
:'{+1;')-1 print
< *:range-closed-fold*
When a line number after the comma is in a closed fold it is adjusted to the
last line of the fold, thus the whole fold is included.
@@ -1052,8 +1107,9 @@ Note: these are typed literally, they are not special keys!
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
The file name modifiers can be used after "%", "#", "#n", "<cfile>",
"<sfile>", "<afile>" or "<abuf>". They are also used with the |fnamemodify()|
function.
These modifiers can be given, in this order:
:p Make file name a full path. Must be the first modifier. Also
@@ -1106,9 +1162,9 @@ These modifiers can be given, in this order:
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
:S Escape special characters for use with a shell command (see
|shellescape()|). Must be the last one. Examples: >
|shellescape()|). Must be the last one. Examples: >
:!dir <cfile>:S
:call system('chmod +w -- ' . expand('%:S'))
:call system('chmod +w -- ' .. expand('%:S'))
Examples, when the file name is "src/version.c", current dir
"/home/mool/vim": >
@@ -1187,9 +1243,9 @@ Therefore "\file\foo" is a valid file name, you don't have to type the
backslash twice.
An exception is the '$' sign. It is a valid character in a file name. But
to avoid a file name like "$home" to be interpreted as an environment variable,
it needs to be preceded by a backslash. Therefore you need to use "/\$home"
for the file "$home" in the root directory. A few examples:
to avoid a file name like "$home" to be interpreted as an environment
variable, it needs to be preceded by a backslash. Therefore you need to use
"/\$home" for the file "$home" in the root directory. A few examples:
FILE NAME INTERPRETED AS ~
$home expanded to value of environment var $home
@@ -1340,4 +1396,85 @@ The character used for the pattern indicates the type of command-line:
@ string for |input()|
- text for |:insert| or |:append|
==============================================================================
8. Command-line autocompletion *cmdline-autocompletion*
Autocompletion makes the command-line more efficient and easier to navigate by
automatically showing a popup menu of suggestions as you type, whether
searching (/ or ?) or entering commands (:).
A basic setup is: >
autocmd CmdlineChanged [:\/\?] call wildtrigger()
set wildmode=noselect:lastused,full
set wildoptions=pum
With this configuration, suggestions appear immediately, and you can
move through them with <Tab> or the arrow keys.
To retain normal command-line history navigation with <Up>/<Down>: >
cnoremap <expr> <Up> wildmenumode() ? "\<C-E>\<Up>" : "\<Up>"
cnoremap <expr> <Down> wildmenumode() ? "\<C-E>\<Down>" : "\<Down>"
Options can also be applied only for specific command-lines. For
example, to use a shorter popup menu height only during search: >
autocmd CmdlineEnter [\/\?] set pumheight=8
autocmd CmdlineLeave [\/\?] set pumheight&
EXTRAS *fuzzy-file-picker* *live-grep*
Command-line autocompletion can also be extended for advanced uses.
For example, you can turn the native |:find| command into a fuzzy, interactive
file picker: >
set findfunc=Find
func Find(arg, _)
if empty(s:filescache)
let s:filescache = globpath('.', '**', 1, 1)
call filter(s:filescache, '!isdirectory(v:val)')
call map(s:filescache, "fnamemodify(v:val, ':.')")
endif
return a:arg == '' ? s:filescache : matchfuzzy(s:filescache, a:arg)
endfunc
let s:filescache = []
autocmd CmdlineEnter : let s:filescache = []
The `:Grep` command searches for lines matching a pattern and updates the
results dynamically as you type (triggered after two characters; note: needs
the `CmdlineLeavePre` autocmd from the next section): >
command! -nargs=+ -complete=customlist,<SID>Grep
\ Grep call <SID>VisitFile()
func s:Grep(arglead, cmdline, cursorpos)
if match(&grepprg, '\$\*') == -1 | let &grepprg ..= ' $*' | endif
let cmd = substitute(&grepprg, '\$\*', shellescape(escape(a:arglead, '\')), '')
return len(a:arglead) > 1 ? systemlist(cmd) : []
endfunc
func s:VisitFile()
let item = getqflist(#{lines: [s:selected]}).items[0]
let pos = '[0,\ item.lnum,\ item.col,\ 0]'
exe $':b +call\ setpos(".",\ {pos}) {item.bufnr}'
call setbufvar(item.bufnr, '&buflisted', 1)
endfunc
Automatically select the first item in the completion list when leaving the
command-line, and for `:Grep`, add the typed pattern to the command-line
history: >
autocmd CmdlineLeavePre :
\ if get(cmdcomplete_info(), 'matches', []) != [] |
\ let s:info = cmdcomplete_info() |
\ if getcmdline() =~ '^\s*fin\%[d]\s' && s:info.selected == -1 |
\ call setcmdline($'find {s:info.matches[0]}') |
\ endif |
\ if getcmdline() =~ '^\s*Grep\s' |
\ let s:selected = s:info.selected != -1
\ ? s:info.matches[s:info.selected] : s:info.matches[0] |
\ call setcmdline(s:info.cmdline_orig) |
\ endif |
\ endif
For autocompletion in insert mode, see |ins-autocompletion|.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,7 +1,7 @@
*debug.txt* For Vim version 9.1. Last change: 2025 Aug 10
*debug.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Debugging Vim *debug-vim*
@@ -71,8 +71,8 @@ some steps to provide a useful bug report.
3.1 GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
same place that you obtained the executable. Be sure to use the PDB that
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
same place that you obtained the executable. Be sure to use the PDB that
matches the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler,
@@ -115,7 +115,7 @@ If you have a non-free version of Visual Studio, you can save a minidump via
the Debug menu and send it with the bug report. A minidump is a small file
(<100KB), which contains information about the state of your process.
Visual C++ 2005 Express Edition cannot save minidumps and it cannot be
installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg*
@@ -125,21 +125,21 @@ See |get-ms-debuggers| to obtain a copy of WinDbg.
As with the Visual Studio IDE, you can attach WinDbg to a running Vim process.
You can also have your system automatically invoke WinDbg as a postmortem
debugger. To set WinDbg as your postmortem debugger, run "windbg -I".
debugger. To set WinDbg as your postmortem debugger, run "windbg -I".
To attach WinDbg to a running Vim process, launch WinDbg. On the File menu,
choose Attach to a Process. Select the Vim process and click OK.
To attach WinDbg to a running Vim process, launch WinDbg. On the File menu,
choose Attach to a Process. Select the Vim process and click OK.
At this point, choose Symbol File Path on the File menu, and add the folder
containing your Vim PDB to the sympath. If you have Vim source available,
use Source File Path on the File menu. You can now open source files in WinDbg
and set breakpoints, if you like. Reproduce your crash. WinDbg should open the
source file at the point of the crash. Using the View menu, you can examine
the call stack, local variables, watch windows, and so on.
containing your Vim PDB to the sympath. If you have Vim source available,
use Source File Path on the File menu. You can now open source files in
WinDbg and set breakpoints, if you like. Reproduce your crash. WinDbg should
open the source file at the point of the crash. Using the View menu, you can
examine the call stack, local variables, watch windows, and so on.
If WinDbg is your postmortem debugger, you do not need to attach WinDbg to
your Vim process. Simply reproduce the crash and WinDbg will launch
automatically. As above, set the Symbol File Path and the Source File Path.
your Vim process. Simply reproduce the crash and WinDbg will launch
automatically. As above, set the Symbol File Path and the Source File Path.
To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp
@@ -150,11 +150,11 @@ To save a minidump, type the following at the WinDbg command line: >
If you have a minidump file, you can open it in Visual Studio or in WinDbg.
In Visual Studio 2005: on the File menu, choose Open, then Project/Solution.
Navigate to the .dmp file and open it. Now press F5 to invoke the debugger.
Navigate to the .dmp file and open it. Now press F5 to invoke the debugger.
Follow the instructions in |debug-vs2005| to set the Symbol File Path.
In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
|debug-windbg| to set the Symbol File Path.
In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions
in |debug-windbg| to set the Symbol File Path.
*get-ms-debuggers*
3.5 Obtaining Microsoft Debugging Tools ~

View File

@@ -1,7 +1,7 @@
*debugger.txt* For Vim version 9.1. Last change: 2019 Dec 21
*debugger.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Gordon Prieur
VIM REFERENCE MANUAL by Gordon Prieur
Debugger Support Features *debugger-support*
@@ -51,9 +51,9 @@ Many debuggers mark specific lines by placing a small sign or color highlight
on the line. The |:sign| command lets the debugger set this graphic mark. Some
examples where this feature would be used would be a debugger showing an arrow
representing the Program Counter (PC) of the program being debugged. Another
example would be a small stop sign for a line with a breakpoint. These visible
highlights let the user keep track of certain parts of the state of the
debugger.
example would be a small stop sign for a line with a breakpoint. These
visible highlights let the user keep track of certain parts of the state of
the debugger.
This feature can be used with more than debuggers, too. An IPE can use a sign
to highlight build errors, searched text, or other things. The sign feature

View File

@@ -1,7 +1,7 @@
*develop.txt* For Vim version 9.1. Last change: 2025 Sep 07
*develop.txt* For Vim version 9.1. Last change: 2025 Dec 13
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Development of Vim. *development*
@@ -153,7 +153,7 @@ VIM IS... NOT *design-not*
everything but the kitchen sink, but some people say that you can clean one
with it. ;-)"
To use Vim with gdb see |terminal-debugger|. Other (older) tools can be
found at http://www.agide.org (link seems dead) and http://clewn.sf.net.
found at http://clewn.sf.net.
- Vim is not a fancy GUI editor that tries to look nice at the cost of
being less consistent over all platforms. But functional GUI features are
welcomed.
@@ -365,31 +365,17 @@ We follow POSIX.1-2001 (SUSv3) for type sizes, which in practice means:
FUNCTION PROTOTYPES *assumptions-prototypes*
Vim currently does not use conventional header files (`.h`) for most internal
function prototypes. Instead, the current architecture uses individual `.pro`
files in the `src/proto/` directory, with one `.pro` file per `.c` file.
Vim does not use conventional header files (`.h`) for most internal function
prototypes. Instead, the current architecture uses individual `.pro` files in
the `src/proto/` directory, with one `.pro` file per `.c` file.
Unlike traditional self-contained header files, these `.pro` files do not
contain API documentation, struct and enum definitions, or other declaration;
contain API documentation, struct and enum definitions, or other declarations;
only function prototypes.
The bundling of these files is not automated. The `src/proto.h` header is
composed of a list of manual `#include` directives, one for each individual
`.pro` file.
Due to this design, integrating a new source file within this architecture
involves creating a corresponding `.pro` file, manually adding a new `#include`
directive to `proto.h` and manually adding this file to both `src/Makefile` and
`src/Make_mvc.mak`.
A `make proto` target exists in `src/Makefile` with the original goal of
automating the process of updating the `.pro` files. However, this target is
unreliable, fails on major platforms (e.g., macOS), and is only part of the
new release workflow. In practice, contributors edit the relevant `.pro` files
by hand when adding, removing, or modifying a function signatures.
This system has been in place since at least v1.24, when Vims functions were
still written in K&R style.
The `make proto` target in `src/Makefile` automates updating most of the .pro
files using the Python script proto/gen_prototypes.py, which relies on the
python3-clang module. Note that a few proto files are hand edited.
==============================================================================
4. Coding style *coding-style*
@@ -424,6 +410,14 @@ The basic steps to make changes to the code:
For any non-trivial change, please always create a pull request on github,
since this triggers the test suite.
A PR should ideally contain a single commit for a single logical change.
However, you can include several commits if you want to group multiple logical,
atomic changes in one PR. This can also make longer PRs easier to review. Be
sure to describe the reasoning for your changes in each commit message, as
this greatly helps with the review process. In cases where each commit
handles different logical changes, they will also be applied as separate
patches in Vim's repository.
*style-clang-format*
sound.c and sign.c can be (semi-) automatically formatted using the
`clang-format` formatter according to the distributed .clang-format file.

View File

@@ -1,7 +1,7 @@
*diff.txt* For Vim version 9.1. Last change: 2025 Aug 06
*diff.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
*diff* *vimdiff* *gvimdiff* *diff-mode*
@@ -74,7 +74,8 @@ See `:diffoff` for an easy way to revert the options.
The differences shown are actually the differences in the buffer. Thus if you
make changes after loading a file, these will be included in the displayed
diffs. You might have to do ":diffupdate" now and then, not all changes are
immediately taken into account, especially when using an external diff command.
immediately taken into account, especially when using an external diff
command.
In your .vimrc file you could do something special when Vim was started in
diff mode. You could use a construct like this: >
@@ -138,7 +139,7 @@ file for a moment and come back to the same file and be in diff mode again.
buffers.
The `:diffoff` command resets the relevant options to the values they had when
using `:diffsplit`, `:diffpatch`, `:diffthis`. or starting Vim in diff mode.
using `:diffsplit`, `:diffpatch`, `:diffthis`, or starting Vim in diff mode.
When using `:diffoff` twice the last saved values are restored.
Otherwise they are set to their default value:
@@ -292,7 +293,7 @@ that the buffers will be equal within the specified range.
*do*
[count]do Same as ":diffget" without range. The "o" stands for "obtain"
("dg" can't be used, it could be the start of "dgg"!). Note:
("dg" can't be used, it could be the start of "dgg"!). Note:
this doesn't work in Visual mode.
If you give a [count], it is used as the [bufspec] argument
for ":diffget".
@@ -351,7 +352,7 @@ hard to see what the actual edit on it was. You can use diff anchors to pin
that function so the diff algorithm will align based on it.
To use it, set anchors using 'diffanchors' which is a comma-separated list of
{address} in each file, and then add "anchor" to 'diffopt'. Internaly, Vim
{address} in each file, and then add "anchor" to 'diffopt'. Internally, Vim
splits each file up into sections split by the anchors. It performs the diff
on each pair of sections separately before merging the results back.
@@ -465,7 +466,7 @@ Also see 'diffopt' and the "diff" item of 'fillchars'.
*diff-slow* *diff_translations*
For very long lines, the diff syntax highlighting might be slow, especially
since it tries to match all different kind of localisations. To disable
since it tries to match all different kind of localisations. To disable
localisations and speed up the syntax highlighting, set the global variable
g:diff_translations to zero: >
@@ -547,7 +548,7 @@ The `redraw!` command may not be needed, depending on whether executing a
shell command shows something on the display or not.
If the 'diffexpr' expression starts with s: or |<SID>|, then it is replaced
with the script ID (|local-function|). Example: >
with the script ID (|local-function|). Example: >
set diffexpr=s:MyDiffExpr()
set diffexpr=<SID>SomeDiffExpr()
Otherwise, the expression is evaluated in the context of the script where the
@@ -608,7 +609,7 @@ directory are accidentally patched. Vim will also delete files starting with
v:fname_in and ending in ".rej" and ".orig".
If the 'patchexpr' expression starts with s: or |<SID>|, then it is replaced
with the script ID (|local-function|). Example: >
with the script ID (|local-function|). Example: >
set patchexpr=s:MyPatchExpr()
set patchexpr=<SID>SomePatchExpr()
Otherwise, the expression is evaluated in the context of the script where the

View File

@@ -1,7 +1,7 @@
*digraph.txt* For Vim version 9.1. Last change: 2025 Aug 16
*digraph.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Digraphs *digraph* *digraphs* *Digraphs*
@@ -112,7 +112,7 @@ mode. After leaving the Insert mode everything is fine. On some Unix systems
this means you have to define the environment-variable LC_CTYPE. If you are
using csh, then put the following line in your .cshrc: >
setenv LC_CTYPE en_US.utf8
(or similar for a different language or country). The value must be a valid
(or similar for a different language or country). The value must be a valid
locale on your system, i.e. on Unix-like systems it must be present in the
output of >
locale -a

View File

@@ -1,7 +1,7 @@
*editing.txt* For Vim version 9.1. Last change: 2025 Aug 06
*editing.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Editing files *edit-files*
@@ -40,8 +40,8 @@ the |CTRL-^| command to toggle between the current and the alternate file.
However, the alternate file name is not changed when |:keepalt| is used.
An alternate file name is remembered for each window.
*:keepalt* *:keepa*
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
*:keepa* *:keepalt*
:keepa[lt] {cmd} Execute {cmd} while keeping the current alternate file
name. Note that commands invoked indirectly (e.g.,
with a function) may still set the alternate file
name.
@@ -134,11 +134,11 @@ set, Vim renames or copies the original file before it will be overwritten.
You can use this file if you discover that you need the original file. See
also the 'patchmode' option. The name of the backup file is normally the same
as the original file with 'backupext' appended. The default "~" is a bit
strange to avoid accidentally overwriting existing files. If you prefer ".bak"
change the 'backupext' option. Extra dots are replaced with '_' on MS-Windows
machines, when Vim has detected that an MS-DOS-like filesystem is being used
(e.g., messydos or crossdos) or when the 'shortname' option is on. The
backup file can be placed in another directory by setting 'backupdir'.
strange to avoid accidentally overwriting existing files. If you prefer
".bak" change the 'backupext' option. Extra dots are replaced with '_' on
MS-Windows machines, when Vim has detected that an MS-DOS-like filesystem is
being used, or when the 'shortname' option is on.
The backup file can be placed in another directory by setting 'backupdir'.
*auto-shortname*
Technical: On the Amiga you can use 30 characters for a file name. But on an
@@ -247,6 +247,7 @@ If you want to keep the changed buffer without saving it, switch on the
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
See also: 'findfunc'.
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
@@ -296,7 +297,7 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
Mnemonic: "goto file".
Uses the 'isfname' option to find out which characters
are supposed to be in a file name. Trailing
punctuation characters ".,:;!" are ignored. Escaped
punctuation characters ".,:;!" are ignored. Escaped
spaces "\ " are reduced to a single space.
Uses the 'path' option as a list of directory names to
look for the file. See the 'path' option for details
@@ -334,7 +335,7 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
the file.
The file name and the number must be separated by a
non-filename (see 'isfname') and non-numeric
character. " line " is also recognized, like it is
character. " line " is also recognized, like it is
used in the output of `:verbose command UserCmd`
White space between the filename, the separator and
the number are ignored.
@@ -386,7 +387,7 @@ is to use "path\[[]abc]", this matches the file "path\[abc]".
*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but
it may depend on your 'shell' setting on Unix and macOS. It's known to work
it may depend on your 'shell' setting on Unix and macOS. It's known to work
correctly for zsh; for bash this requires at least bash version >= 4.X).
This allows searching a directory tree. This goes up to 100 directories deep.
Note there are some commands where this works slightly differently, see
@@ -399,7 +400,7 @@ Finds files:
a/b/c/d/ccc.txt ~
When non-wildcard characters are used right before or after "**" these are
only matched in the top directory. They are not used for directories further
down in the tree. For example: >
down in the tree. For example: >
:n /usr/inc**/types.h
Finds files:
/usr/include/types.h ~
@@ -417,9 +418,9 @@ argument, for example: >
Vim will run the command in backticks using the 'shell' and use the standard
output as argument for the given Vim command (error messages from the shell
command will be discarded).
To see what shell command Vim is running, set the 'verbose' option to 4. When
To see what shell command Vim is running, set the 'verbose' option to 4. When
the shell command returns a non-zero exit code, an error message will be
displayed and the Vim command will be aborted. To avoid this make the shell
displayed and the Vim command will be aborted. To avoid this make the shell
always return zero like so: >
:next `find . -name ver\\*.c -print \|\| true`
@@ -668,7 +669,7 @@ list of the current window.
[count] is used like with |:argadd|.
If the current file cannot be |abandon|ed {name}s will
still be added to the argument list, but won't be
edited. No check for duplicates is done.
edited. No check for duplicates is done.
Also see |++opt| and |+cmd|.
:[count]arga[dd] {name} ... *:arga* *:argadd* *E479*
@@ -1417,7 +1418,7 @@ present in 'cpoptions' and "!" is not used in the command.
to another window will stop using {path}.
*:lcd-*
:lcd[!] - Change to the previous current directory, before the
:lc[d][!] - Change to the previous current directory, before the
last ":lcd {path}" command.
*:lch* *:lchdir*
@@ -1428,7 +1429,7 @@ present in 'cpoptions' and "!" is not used in the command.
Also see |getcwd()|.
*:pwd-verbose*
When 'verbose' is non-zero, |:pwd| will also display
what scope the current directory was set. Example: >
what scope the current directory was set. Example: >
" Set by :cd
:verbose pwd
@@ -1458,8 +1459,8 @@ When a |:tcd| command has been used for a tab page, the specified directory
becomes the current directory for the current tab page and the current window.
The current directory of other tab pages is not affected. When jumping to
another tab page, the current directory is changed to the last specified local
directory for that tab page. If the current tab has no local current directory
the global current directory is used.
directory for that tab page. If the current tab has no local current
directory the global current directory is used.
When a |:cd| command is used, the current window and tab page will lose the
local current directory and will use the global current directory from now on.
@@ -1587,7 +1588,7 @@ To test for blowfish support you can use these conditions: >
has('crypt-blowfish')
has('crypt-blowfish2')
This works since Vim 7.4.1099 while blowfish support was added earlier.
Thus the condition failing doesn't mean blowfish is not supported. You can
Thus the condition failing doesn't mean blowfish is not supported. You can
test for blowfish with: >
v:version >= 703
And for blowfish2 with: >
@@ -1651,7 +1652,7 @@ Notes:
algorithm in detail.
- The implementation of 'cryptmethod' "blowfish" has a flaw. It is possible
to crack the first 64 bytes of a file and in some circumstances more of the
file. Use of it is not recommended, but it's still the strongest method
file. Use of it is not recommended, but it's still the strongest method
supported by Vim 7.3 and 7.4. The "zip" method is even weaker.
- Vim originates from the Netherlands. That is where the sources come from.
Thus the encryption code is not exported from the USA.
@@ -1743,24 +1744,24 @@ ask if you really want to overwrite the file:
WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?
If you hit 'y' Vim will continue writing the file. If you hit 'n' the write is
aborted. If you used ":wq" or "ZZ" Vim will not exit, you will get another
If you hit 'y' Vim will continue writing the file. If you hit 'n' the write
is aborted. If you used ":wq" or "ZZ" Vim will not exit, you will get another
chance to write the file.
The message would normally mean that somebody has written to the file after
the edit session started. This could be another person, in which case you
probably want to check if your changes to the file and the changes from the
other person should be merged. Write the file under another name and check for
differences (the "diff" program can be used for this).
other person should be merged. Write the file under another name and check
for differences (the "diff" program can be used for this).
It is also possible that you modified the file yourself, from another edit
session or with another command (e.g., a filter command). Then you will know
which version of the file you want to keep.
The accuracy of the time check depends on the filesystem. On Unix it is
usually sub-second. With old file systems and on MS-Windows it is normally one
second. Use `has('nanotime')` to check if sub-second time stamp checks are
available.
usually sub-second. With old file systems and on MS-Windows it is normally
one second. Use `has('nanotime')` to check if sub-second time stamp checks
are available.
There is one situation where you get the message while there is nothing wrong:
On a Win32 system on the day daylight saving time starts. There is something
@@ -1790,8 +1791,8 @@ There are three different types of searching:
- It ONLY matches directories.
- It matches up to 30 directories deep by default, so you can use it to
search an entire directory tree
- The maximum number of levels matched can be given by appending a number
to '**'.
- The maximum number of levels matched can be given by appending a
number to '**'.
Thus '/usr/**2' can match: >
/usr
/usr/include

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.1. Last change: 2025 Aug 29
*eval.txt* For Vim version 9.1. Last change: 2025 Dec 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,6 +38,7 @@ a remark is given.
12. The sandbox |eval-sandbox|
13. Textlock |textlock|
14. Vim script library |vim-script-library|
15. Clipboard providers |clipboard-providers|
Testing support is documented in |testing.txt|.
Profiling is documented at |profiling|.
@@ -86,7 +87,7 @@ Job Used for a job, see |job_start()|. *Job* *Jobs*
Channel Used for a channel, see |ch_open()|. *Channel* *Channels*
Blob Binary Large Object. Stores any sequence of bytes. See |Blob|
Blob Binary Large Object. Stores any sequence of bytes. See |Blob|
for details
Example: 0zFF00ED015DAF
0z is an empty Blob.
@@ -1020,7 +1021,7 @@ Blob modification ~
To change a specific byte of a blob use |:let| this way: >
:let blob[4] = 0x44
When the index is just one beyond the end of the Blob, it is appended. Any
When the index is just one beyond the end of the Blob, it is appended. Any
higher index is an error.
To change a sequence of bytes the [:] notation can be used: >
@@ -1536,8 +1537,8 @@ byte under the cursor: >
In |Vim9| script: *E1147* *E1148*
If expr10 is a String this results in a String that contains the expr1'th
single character (including any composing characters) from expr10. To use byte
indexes use |strpart()|.
single character (including any composing characters) from expr10. To use
byte indexes use |strpart()|.
Index zero gives the first byte or character. Careful: text column numbers
start with one!
@@ -1595,7 +1596,7 @@ Examples: >
*slice*
If expr10 is a |List| this results in a new |List| with the items indicated by
the indexes expr1a and expr1b. This works like with a String, as explained
just above. Also see |sublist| below. Examples: >
just above. Also see |sublist| below. Examples: >
:let l = mylist[:3] " first four items
:let l = mylist[4:4] " List with one item
:let l = mylist[:] " shallow copy of a List
@@ -1786,8 +1787,8 @@ A string constant accepts these special characters:
Don't use <Char-xxxx> to get a UTF-8 character, use \uxxxx as
mentioned above.
\<*xxx> Like \<xxx> but prepends a modifier instead of including it in the
character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is four
bytes: 3 for the CTRL modifier and then character "W".
character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is
four bytes: 3 for the CTRL modifier and then character "W".
Note that "\xff" is stored as the byte 255, which may be invalid in some
encodings. Use "\u00ff" to store character 255 according to the current value
@@ -2185,7 +2186,7 @@ variables for each buffer. Use local buffer variables instead |b:var|.
PREDEFINED VIM VARIABLES *vim-variable* *v:var* *v:*
*E963* *E1063*
Most variables are read-only, when a variable can be set by the user, it will
be mentioned at the variable description below. The type cannot be changed.
be mentioned at the variable description below. The type cannot be changed.
*v:argv* *argv-variable*
v:argv The command line arguments Vim was invoked with. This is a
@@ -2198,11 +2199,11 @@ v:beval_col The number of the column, over which the mouse pointer is.
Only valid while evaluating the 'balloonexpr' option.
*v:beval_bufnr* *beval_bufnr-variable*
v:beval_bufnr The number of the buffer, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
v:beval_bufnr The number of the buffer, over which the mouse pointer is.
Only valid while evaluating the 'balloonexpr' option.
*v:beval_lnum* *beval_lnum-variable*
v:beval_lnum The number of the line, over which the mouse pointer is. Only
v:beval_lnum The number of the line, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
*v:beval_text* *beval_text-variable*
@@ -2215,9 +2216,9 @@ v:beval_text The text under or after the mouse pointer. Usually a word as
Only valid while evaluating the 'balloonexpr' option.
*v:beval_winnr* *beval_winnr-variable*
v:beval_winnr The number of the window, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option. The first
window has number zero (unlike most other places where a
v:beval_winnr The number of the window, over which the mouse pointer is.
Only valid while evaluating the 'balloonexpr' option. The
first window has number zero (unlike most other places where a
window gets a number).
*v:beval_winid* *beval_winid-variable*
@@ -2245,11 +2246,16 @@ v:clipmethod The current method of accessing the clipboard that is being
used. Can either have the value of:
wayland The Wayland protocol is being used.
x11 X11 selections are being used.
gui GUI specific method is being used
other Some other method is being used
none Clipboard functionality is disabled or
unavailable.
See 'clipmethod' for more details.
none The above methods are unavailable or
cannot be used.
If it is set to a value not in the above list, then a
clipboard provider with the given name is being used for the
clipboard functionality. See 'clipmethod' for more details.
*v:clipproviders*
v:clipproviders
A dictionary containing clipboard providers, see
|clipboard-providers| for more information.
*v:cmdarg* *cmdarg-variable*
v:cmdarg This variable is used for two purposes:
@@ -2280,8 +2286,8 @@ v:collate The current locale setting for collation order of the runtime
See |multi-lang|.
*v:colornames*
v:colornames A dictionary that maps color names to hex color strings. These
color names can be used with the |highlight-guifg|,
v:colornames A dictionary that maps color names to hex color strings.
These color names can be used with the |highlight-guifg|,
|highlight-guibg|, and |highlight-guisp| parameters.
The key values in the dictionary (the color names) should be
@@ -2289,20 +2295,20 @@ v:colornames A dictionary that maps color names to hex color strings. These
name.
Updating an entry in v:colornames has no immediate effect on
the syntax highlighting. The highlight commands (probably in a
colorscheme script) need to be re-evaluated in order to use
the updated color values. For example: >
the syntax highlighting. The highlight commands (probably in
a colorscheme script) need to be re-evaluated in order to use
the updated color values. For example: >
:let v:colornames['fuscia'] = '#cf3ab4'
:let v:colornames['mauve'] = '#915f6d'
:highlight Normal guifg=fuscia guibg=mauve
<
This cannot be used to override the |cterm-colors| but it can
be used to override other colors. For example, the X11 colors
be used to override other colors. For example, the X11 colors
defined in the `colors/lists/default.vim` (previously defined
in |rgb.txt|). When defining new color names in a plugin, the
in |rgb.txt|). When defining new color names in a plugin, the
recommended practice is to set a color entry only when it does
not already exist. For example: >
not already exist. For example: >
:call extend(v:colornames, {
\ 'fuscia': '#cf3ab4',
@@ -2310,20 +2316,20 @@ v:colornames A dictionary that maps color names to hex color strings. These
\ }, 'keep')
<
Using |extend()| with the 'keep' option updates each color only
if it did not exist in |v:colornames|. Doing so allows the
if it did not exist in |v:colornames|. Doing so allows the
user to choose the precise color value for a common name
by setting it in their |.vimrc|.
It is possible to remove entries from this dictionary but
doing so is NOT recommended, because it is disruptive to
other scripts. It is also unlikely to achieve the desired
other scripts. It is also unlikely to achieve the desired
result because the |:colorscheme| and |:highlight| commands
will both automatically load all `colors/lists/default.vim`
color scripts.
You can make changes to that file, but make sure to add new
keys instead of updating existing ones, otherwise Vim will skip
loading the file (thinking it hasn't been changed).
keys instead of updating existing ones, otherwise Vim will
skip loading the file (thinking it hasn't been changed).
*v:completed_item* *completed_item-variable*
v:completed_item
@@ -2383,8 +2389,8 @@ v:echospace Number of screen cells that can be used for an `:echo` message
available above the last line.
*v:errmsg* *errmsg-variable*
v:errmsg Last given error message. It's allowed to set this variable.
Example: >
v:errmsg Last error message that occurred (not necessarily displayed).
It's allowed to set this variable. Example: >
:let v:errmsg = ""
:silent! next
:if v:errmsg != ""
@@ -2426,7 +2432,7 @@ v:exception The value of the exception most recently caught and not
< Output: "caught oops".
*v:false* *false-variable*
v:false A Number with value zero. Used to put "false" in JSON. See
v:false A Number with value zero. Used to put "false" in JSON. See
|json_encode()|.
When used as a string this evaluates to "v:false". >
echo v:false
@@ -2519,7 +2525,7 @@ v:foldstart Used for 'foldtext': first line of closed fold.
*v:hlsearch* *hlsearch-variable*
v:hlsearch Variable that indicates whether search highlighting is on.
Setting it makes sense only if 'hlsearch' is enabled which
requires |+extra_search|. Setting this variable to zero acts
requires |+extra_search|. Setting this variable to zero acts
like the |:nohlsearch| command, setting it to one acts like >
let &hlsearch = &hlsearch
< Note that the value is restored when returning from a
@@ -2587,7 +2593,7 @@ v:mouse_col Column number for a mouse click obtained with |getchar()|.
value is zero when there was no mouse button click.
*v:none* *none-variable* *None*
v:none An empty String. Used to put an empty item in JSON. See
v:none An empty String. Used to put an empty item in JSON. See
|json_encode()|.
This can also be used as a function argument to use the
default value, see |none-function_argument|.
@@ -2601,7 +2607,7 @@ v:none An empty String. Used to put an empty item in JSON. See
an error. Instead, use `is v:none` and `isnot v:none` .
*v:null* *null-variable*
v:null An empty String. Used to put "null" in JSON. See
v:null An empty String. Used to put "null" in JSON. See
|json_encode()|.
When used as a number this evaluates to zero.
When used as a string this evaluates to "v:null". >
@@ -2637,27 +2643,27 @@ v:oldfiles List of file names that is loaded from the |viminfo| file on
{only when compiled with the |+viminfo| feature}
*v:option_new*
v:option_new New value of the option. Valid while executing an |OptionSet|
v:option_new New value of the option. Valid while executing an |OptionSet|
autocommand.
*v:option_old*
v:option_old Old value of the option. Valid while executing an |OptionSet|
autocommand. Depending on the command used for setting and the
kind of option this is either the local old value or the
v:option_old Old value of the option. Valid while executing an |OptionSet|
autocommand. Depending on the command used for setting and
the kind of option this is either the local old value or the
global old value.
*v:option_oldlocal*
v:option_oldlocal
Old local value of the option. Valid while executing an
Old local value of the option. Valid while executing an
|OptionSet| autocommand.
*v:option_oldglobal*
v:option_oldglobal
Old global value of the option. Valid while executing an
Old global value of the option. Valid while executing an
|OptionSet| autocommand.
*v:option_type*
v:option_type Scope of the set command. Valid while executing an
|OptionSet| autocommand. Can be either "global" or "local"
v:option_type Scope of the set command. Valid while executing an
|OptionSet| autocommand. Can be either "global" or "local"
*v:option_command*
v:option_command
Command used to set the option. Valid while executing an
Command used to set the option. Valid while executing an
|OptionSet| autocommand.
value option was set via ~
"setlocal" |:setlocal| or ":let l:xxx"
@@ -2704,7 +2710,7 @@ v:progpath Contains the command with which Vim was invoked, in a form
To get the full path use: >
echo exepath(v:progpath)
< If the command has a relative path it will be expanded to the
full path, so that it still works after `:cd`. Thus starting
full path, so that it still works after `:cd`. Thus starting
"./vim" results in "/home/user/path/to/vim/src/vim".
On Linux and other systems it will always be the full path.
On Mac it may just be "vim" and using exepath() as mentioned
@@ -2871,9 +2877,9 @@ v:termresponse The escape sequence returned by the terminal for the |t_RV|
terminal. The TermResponseAll event is also fired, with
<amatch> set to "version". You can use |terminalprops()| to
see what Vim figured out about the terminal.
The response from a new xterm is: "<Esc>[> Pp ; Pv ; Pc c". Pp
is the terminal type: 0 for vt100 and 1 for vt220. Pv is the
patch level (since this was introduced in patch 95, it's
The response from a new xterm is: "<Esc>[> Pp ; Pv ; Pc c".
Pp is the terminal type: 0 for vt100 and 1 for vt220. Pv is
the patch level (since this was introduced in patch 95, it's
always 95 or higher). Pc is always zero.
If Pv is 141 or higher then Vim will try to request terminal
codes. This only works with xterm |xterm-codes|.
@@ -2882,7 +2888,7 @@ v:termresponse The escape sequence returned by the terminal for the |t_RV|
*v:termblinkresp* *termblinkresp-variable*
v:termblinkresp The escape sequence returned by the terminal for the |t_RC|
termcap entry. This is used to find out whether the terminal
cursor is blinking. This is used by |term_getcursor()|. When
cursor is blinking. This is used by |term_getcursor()|. When
this variable is set, the TermResponseAll autocommand event is
fired, with <amatch> set to "cursorblink".
@@ -2896,15 +2902,16 @@ v:termstyleresp The escape sequence returned by the terminal for the |t_RS|
*v:termrbgresp* *termrbgresp-variable*
v:termrbgresp The escape sequence returned by the terminal for the |t_RB|
termcap entry. This is used to find out what the terminal
background color is; see 'background'. This is set by the
$VIMRUNTIME/plugin/colorresp.vim plugin normally included with
Vim, but can be set manually if you know what you are doing.
Note that changing this will not do anything.
background color is; see 'background'. When this variable is
set, the TermResponseAll autocommand event is fired, with
<amatch> set to "background".
*v:termrfgresp* *termrfgresp-variable*
v:termrfgresp The escape sequence returned by the terminal for the |t_RF|
termcap entry. This is used to find out what the terminal
foreground color is. Behaves the same as |v:termrbgresp|
foreground color is. When this variable is set, the
TermResponseAll autocommand event is fired, with <amatch> set
to "foreground".
*v:termu7resp* *termu7resp-variable*
v:termu7resp The escape sequence returned by the terminal for the |t_u7|
@@ -2923,9 +2930,7 @@ v:termda1 The escape sequence returned by a primary device attributes
v:termosc The escape sequence of the most recent OSC response received
from the terminal. When this variable is set, the
|TermResponseAll| autocommand event is fired, with <amatch>
set to "osc". Also used to set the |v:termrbgresp| and
|v:termrfgresp| via the $VIMRUNTIME/plugin/colorresp.vim
plugin
set to "osc".
*v:testing* *testing-variable*
v:testing Must be set before using `test_garbagecollect_now()`.
@@ -2952,7 +2957,7 @@ v:throwpoint The point where the exception most recently caught and not
< Output: "Exception from test.vim, line 2"
*v:true* *true-variable*
v:true A Number with value one. Used to put "true" in JSON. See
v:true A Number with value one. Used to put "true" in JSON. See
|json_encode()|.
When used as a string this evaluates to "v:true". >
echo v:true
@@ -2991,8 +2996,13 @@ v:versionlong Like v:version, but also including the patchlevel in the last
v:vim_did_enter Zero until most of startup is done. It is set to one just
before |VimEnter| autocommands are triggered.
*v:vim_did_init* *vim_did_init-variable*
v:vim_did_init Zero until initialization is done. It is set to one just
after |vimrc| is sourced and before |load-plugins|.
*v:warningmsg* *warningmsg-variable*
v:warningmsg Last given warning message. It's allowed to set this variable.
v:warningmsg Last given warning message. It's allowed to set this
variable.
*v:wayland_display* *wayland_display-variable*
v:wayland_display
@@ -3139,9 +3149,12 @@ declarations and assignments do not use a command. |vim9-declaration|
set and an environment variable that is empty.
:let ${env-name} .= {expr1}
:let ${env-name} ..= {expr1}
Append {expr1} to the environment variable {env-name}.
If the environment variable didn't exist yet this
works like "=".
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let @{reg-name} = {expr1} *:let-register* *:let-@*
Write the result of the expression {expr1} in register
@@ -3158,8 +3171,11 @@ declarations and assignments do not use a command. |vim9-declaration|
that would match everywhere.
:let @{reg-name} .= {expr1}
:let @{reg-name} ..= {expr1}
Append {expr1} to register {reg-name}. If the
register was empty it's like setting it to {expr1}.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let &{option-name} = {expr1} *:let-option* *:let-&*
Set option {option-name} to the result of the
@@ -3177,8 +3193,11 @@ declarations and assignments do not use a command. |vim9-declaration|
a terminal key code, there is no error.
:let &{option-name} .= {expr1}
:let &{option-name} ..= {expr1}
For a string option: Append {expr1} to the value.
Does not insert a comma like |:set+=|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let &{option-name} += {expr1}
:let &{option-name} -= {expr1}
@@ -3186,18 +3205,25 @@ declarations and assignments do not use a command. |vim9-declaration|
{expr1}.
:let &l:{option-name} = {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} += {expr1}
:let &l:{option-name} -= {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} ..= {expr1}
Like above, but only set the local value of an option
(if there is one). Works like |:setlocal|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let &g:{option-name} = {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} += {expr1}
:let &g:{option-name} -= {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} ..= {expr1}
Like above, but only set the global value of an option
(if there is one). Works like |:setglobal|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
*E1093* *E1537* *E1538* *E1535*
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
{expr1} must evaluate to a |List| or a |Tuple|. The
@@ -3218,15 +3244,18 @@ declarations and assignments do not use a command. |vim9-declaration|
:echo x
< The result is [0, 2].
:let [{name1}, {name2}, ...] .= {expr1}
:let [{name1}, {name2}, ...] += {expr1}
:let [{name1}, {name2}, ...] -= {expr1}
:let [{name1}, {name2}, ...] *= {expr1}
:let [{name1}, {name2}, ...] /= {expr1}
:let [{name1}, {name2}, ...] %= {expr1}
Like above, but append, add, subtract, multiply,
divide, or modulo the value for each |List| or |Tuple|
:let [{name1}, {name2}, ...] .= {expr1}
:let [{name1}, {name2}, ...] ..= {expr1}
Like above, but add, subtract, multiply, divide,
modulo, or append the value for each |List| or |Tuple|
item.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let [{name}, ..., ; {lastname}] = {expr1} *E452*
Like |:let-unpack| above, but the |List| or |Tuple|
@@ -3238,11 +3267,14 @@ declarations and assignments do not use a command. |vim9-declaration|
:let [a, b; rest] = ["aval", "bval", 3, 4]
:let [a, b; rest] = ("aval", "bval", 3, 4)
<
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] += {expr1}
:let [{name}, ..., ; {lastname}] -= {expr1}
Like above, but append/add/subtract the value for each
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] ..= {expr1}
Like above, but add/subtract/append the value for each
|List| item.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
*:let=<<* *:let-heredoc*
*E990* *E991* *E172* *E221* *E1145*
@@ -3268,7 +3300,8 @@ text...
END
< There can be multiple Vim expressions in a single line
but an expression cannot span multiple lines. If any
expression evaluation fails, then the assignment fails.
expression evaluation fails, then the assignment
fails.
{endmarker} must not contain white space.
{endmarker} cannot start with a lower case character.
@@ -3286,8 +3319,9 @@ text...
endif
END
< Results in: ["if ok", " echo 'done'", "endif"]
The marker must line up with "let" and the indentation
of the first line is removed from all the text lines.
The end marker must line up with "let" and the
indentation of the first line is removed from all the
text lines.
Specifically: all the leading indentation exactly
matching the leading indentation of the first
non-empty text line is stripped from the input lines.
@@ -3380,10 +3414,10 @@ text...
:cons[t] {var-name} = {expr1}
:cons[t] [{name1}, {name2}, ...] = {expr1}
:cons[t] [{name}, ..., ; {lastname}] = {expr1}
:cons[t] {var-name} =<< [trim] [eval] {marker}
:cons[t] {var-name} =<< [trim] [eval] {endmarker}
text...
text...
{marker}
{endmarker}
Similar to |:let|, but additionally lock the variable
after setting the value. This is the same as locking
the variable with |:lockvar| just after |:let|, thus: >
@@ -3672,7 +3706,7 @@ text...
*:cat* *:catch*
*E603* *E604* *E605* *E654* *E1033*
:cat[ch] /{pattern}/ The following commands until the next `:catch`,
:cat[ch] [/{pattern}/] The following commands until the next `:catch`,
`:finally`, or `:endtry` that belongs to the same
`:try` as the `:catch` are executed when an exception
matching {pattern} is being thrown and has not yet
@@ -3807,7 +3841,7 @@ text...
when the screen is redrawn.
*:echow* *:echowin* *:echowindow*
:[N]echow[indow] {expr1} ..
:[N]echow[indow] {expr1} ...
Like |:echomsg| but when the messages popup window is
available the message is displayed there. This means
it will show for three seconds and avoid a
@@ -4146,7 +4180,7 @@ exception most recently caught as long it is not finished.
:function! Caught()
: if v:exception != ""
: echo 'Caught "' . v:exception .. '" in ' .. v:throwpoint
: echo 'Caught "' .. v:exception .. '" in ' .. v:throwpoint
: else
: echo 'Nothing caught'
: endif
@@ -5191,7 +5225,7 @@ $VIMRUNTIME/plugin/openPlugin.vim
dist#vim9#Open(file: string) ~
Opens `path` with the system default handler (macOS `open`, Windows
`explorer.exe`, Linux `xdg-open`, …). If the variable |g:Openprg| exists the
`explorer.exe`, Linux `xdg-open`, …). If the variable |g:Openprg| exists the
string specified in the variable is used instead.
The |:Open| user command uses file completion for its argument.
@@ -5203,11 +5237,11 @@ This function is by default called using the gx mapping. In visual mode
tries to open the visually selected text.
Associated setting variables:
`g:gx_word`: control how gx picks up the text under the cursor. Uses
`g:gx_word`: control how gx picks up the text under the cursor. Uses
`g:netrw_gx` as a fallback for backward compatibility.
(default: `<cfile>`)
`g:nogx`: disables the gx mapping. Uses `g:netrw_nogx` as a fallback for
`g:nogx`: disables the gx mapping. Uses `g:netrw_nogx` as a fallback for
backward compatibility. (default: `unset`)
@@ -5221,7 +5255,7 @@ Usage: >vim
*dist#vim9#Launch()* *:Launch*
dist#vim9#Launch(file: string) ~
Launches <args> with the appropriate system programs. Intended for launching
Launches <args> with the appropriate system programs. Intended for launching
GUI programs within Vim.
The |:Launch| user command uses shell completion for its first argument.
@@ -5240,5 +5274,112 @@ Usage: >vim
:call dist#vim9#Launch(<args>)
:Launch <app> <args>.
<
==============================================================================
15. Clipboard providers *clipboard-providers*
The clipboard provider feature allows the "+" |quoteplus| and "*" |quotestar|
registers to be overridden by custom Vimscript functions. There can be
multiple providers, and Vim chooses which one to use based on 'clipmethod'.
Despite the name, it does not use the 'clipboard' option and should be treated
separate from the clipboard functionality. It essentially overrides the
existing behaviour of the clipboard registers.
*clipboard-providers-no-clipboard*
If the |+clipboard| feature is not enabled, then the "+" and "*" registers
will not be enabled/available unless |v:clipmethod| is set to a provider. If
it is set to a provider, then the clipboard registers will be exposed despite
not having the |+clipboard| feature.
*clipboard-providers-plus*
If on a platform that only has the "*" register, then the "+" register will
only be available when |v:clipmethod| is set to a provider. If you want to
check if the "+" is available for use, it can be checked with: >
if has('unnamedplus')
<
*clipboard-providers-clipmethod*
To integrate the providers with Vim's clipboard functionality, the
'clipmethod' option is used on all platforms. The names of clipboard
providers should be put inside the option, and if Vim chooses it, then it
overrides the "+" and "*" registers. Note that the "+" and "*" will not be
saved in the viminfo at all.
*clipboard-providers-define*
To define a clipboard provider, the |v:clipproviders| vim variable is used. It
is a |dict| where each key is the clipboard provider name, and the value is
another |dict| declaring the "available", "copy", and "paste" callbacks: >vim
let v:clipproviders["myprovider"] = {
\ "available": function("Available"),
\ "paste": {
\ "+": function("Paste"),
\ "*": function("Paste")
\ },
\ "copy": {
\ "+": function("Copy"),
\ "*": function("Copy")
\ }
\ }
set clipmethod^=myprovider
<
Each callback can either be a name of a function in a string, a |Funcref|, or
a |lambda| expression.
With the exception of the "available" callback if a callback is not provided,
Vim will not invoke anything, and this is not an error.
*clipboard-providers-textlock*
In both the "paste" and "copy" callbacks, it is not allowed to change the
buffer text, see |textlock|.
*clipboard-providers-available*
The "available" callback is optional, does not take any arguments and should
return a |boolean| or non-zero number, which tells Vim if it is available
for use. If it is not, then Vim skips over it and tries the next 'clipmethod'
value. If the "available" callback is not provided, Vim assumes the provider
is always available for use (true).
*clipboard-providers-paste*
The "paste" callback takes the following arguments in the following order:
1. Name of the register being accessed, either "+" or "*".
It should return a |list| or |tuple| containing the following elements in
order:
1. Register type (and optional width) conforming to |setreg()|. If it
is an empty string, then the type is automatically chosen.
2. A |list| of strings to return to Vim, each representing a line.
*clipboard-providers-copy*
The "copy" callback returns nothing and takes the following arguments in the
following order:
1. Name of the register being accessed, either "+" or "*".
2. Register type conforming to |getregtype()|
3. List of strings to use, each representing a line.
Below is a sample script that makes use of the clipboard provider feature: >vim
func Available()
return v:true
endfunc
func Copy(reg, type, str)
echom "Register: " .. a:reg
echom "Register type: " .. a:type
echom "Contents: " .. string(a:str)
endfunc
func Paste(reg)
return ("b40", ["this", "is", "the", a:reg, "register!"])
endfunc
let v:clipproviders["test"] = {
\ "available": function("Available"),
\ "copy": {
\ "+": function("Copy"),
\ "*": function("Copy")
\ },
\ "paste": {
\ "+": function("Paste"),
\ "*": function("Paste")
\ }
\ }
set clipmethod^=test
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,7 +1,7 @@
*farsi.txt* For Vim version 9.1. Last change: 2019 May 05
*farsi.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*

View File

@@ -1,7 +1,7 @@
*filetype.txt* For Vim version 9.1. Last change: 2025 Aug 10
*filetype.txt* For Vim version 9.1. Last change: 2025 Dec 07
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Filetypes *filetype* *file-type*
@@ -138,6 +138,7 @@ what kind of file it is. This doesn't always work. A number of global
variables can be used to overrule the filetype used for certain extensions:
file name variable ~
*.app g:filetype_app
*.asa g:filetype_asa |ft-aspperl-syntax|
|ft-aspvbs-syntax|
*.asm g:asmsyntax |ft-asm-syntax|
@@ -530,12 +531,13 @@ g:changelog_new_date_format
%% insert a single '%' character
%d insert the date from above
%u insert the user from above
%p insert result of b:changelog_entry_prefix
%p insert result of
b:changelog_entry_prefix
%c where to position cursor when done
The default is "%d %u\n\n\t* %p%c\n\n", which produces
something like (| is where cursor will be, unless at
the start of the line where it denotes the beginning
of the line) >
The default is "%d %u\n\n\t* %p%c\n\n", which
produces something like (| is where cursor will be,
unless at the start of the line where it denotes the
beginning of the line) >
|2003-01-14 Full Name <user@host>
|
| * prefix|
@@ -544,7 +546,8 @@ g:changelog_new_entry_format
The format used when creating a new entry.
The following table describes special tokens in the
string:
%p insert result of b:changelog_entry_prefix
%p insert result of
b:changelog_entry_prefix
%c where to position cursor when done
The default is "\t*%c", which produces something
similar to >
@@ -604,8 +607,9 @@ Options:
'expandtab' is switched on to avoid tabs as required by the Fortran
standards unless the user has set fortran_have_tabs in .vimrc.
'textwidth' is set to 80 for fixed source format whereas it is set to 132
for free source format. Setting the fortran_extended_line_length
variable increases the width to 132 for fixed source format.
for free source format. Setting the
fortran_extended_line_length variable increases the width to
132 for fixed source format.
'formatoptions' is set to break code and comment lines and to preserve long
lines. You can format comments with |gq|.
For further discussion of fortran_have_tabs and the method used for the
@@ -763,7 +767,7 @@ Otherwise, for the defined variable "g:ftplugin_java_source_path", the local
value of the 'path' option will be further modified by prefixing the value of
the variable, e.g.: >
let g:ftplugin_java_source_path = $JDK_SRC_PATH
let &l:path = g:ftplugin_java_source_path . ',' . &l:path
let &l:path = g:ftplugin_java_source_path .. ',' .. &l:path
<
and the "gf" command can be used on a fully-qualified type to look for a file
in the "path" and to try to load it.
@@ -889,7 +893,7 @@ not running man {name} if no page is found, then use this: >
<
*g:ft_man_implementation*
The completion for the :Man command tries to guess which implementation of man
the system has. If it guesses wrong, you can set g:ft_man_implementation to
the system has. If it guesses wrong, you can set g:ft_man_implementation to
one of these values:
'man-db' https://man-db.nongnu.org/
'' Unknown, fall back to completing shell commands
@@ -969,27 +973,27 @@ QF QUICKFIX *qf.vim* *ft-qf-plugin*
The "qf" filetype is used for the quickfix window, see |quickfix-window|.
The quickfix filetype plugin includes configuration for displaying the command
that produced the quickfix list in the |status-line|. To disable this setting,
that produced the quickfix list in the |status-line|. To disable this setting,
configure as follows: >
:let g:qf_disable_statusline = 1
R MARKDOWN *ft-rmd-plugin*
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
your |vimrc|: >
let rmd_include_html = 1
The 'formatexpr' option is set dynamically with different values for R code
and for Markdown code. If you prefer that 'formatexpr' is not set, add to your
|vimrc|: >
and for Markdown code. If you prefer that 'formatexpr' is not set, add to
your |vimrc|: >
let rmd_dynamic_comments = 0
R RESTRUCTURED TEXT *ft-rrst-plugin*
The 'formatexpr' option is set dynamically with different values for R code
and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
your |vimrc|: >
let rrst_dynamic_comments = 0
@@ -1006,7 +1010,7 @@ To enable this behavior, set the following variable in your vimrc: >
RNOWEB *ft-rnoweb-plugin*
The 'formatexpr' option is set dynamically with different values for R code
and for LaTeX code. If you prefer that 'formatexpr' is not set, add to your
and for LaTeX code. If you prefer that 'formatexpr' is not set, add to your
|vimrc|: >
let rnw_dynamic_comments = 0
@@ -1100,8 +1104,8 @@ To disable this behavior, set |g:zig_recommended_style| to 0: >
let g:zig_recommended_style = 0
<
*g:zig_std_dir*
The path to the Zig standard library. The Zig |ftplugin| reads |g:zig_std_dir|
and appends it to the 'path' for Zig files. Where the Zig standard library
The path to the Zig standard library. The Zig |ftplugin| reads |g:zig_std_dir|
and appends it to the 'path' for Zig files. Where the Zig standard library
is located is system and installation method dependent.
One can automatically set |g:zig_std_dir| using `zig env`: >

View File

@@ -1,7 +1,7 @@
*fold.txt* For Vim version 9.1. Last change: 2025 Jul 15
*fold.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Folding *Folding* *folding* *folds*
@@ -595,7 +595,8 @@ A closed fold is indicated with a '+'.
These characters can be changed with the 'fillchars' option.
Where the fold column is too narrow to display all nested folds, digits are
shown to indicate the nesting level.
shown to indicate the nesting level. To override this behavior you can use
the "foldinner" character of the 'fillchars' option.
The mouse can also be used to open and close folds by clicking in the
fold column:

View File

@@ -1,27 +1,27 @@
*ft_hare.txt* Support for the Hare programming language
==============================================================================
CONTENTS *hare* *hare.vim*
CONTENTS *hare* *hare.vim*
1. Introduction |ft-hare-intro|
2. Filetype plugin |ft-hare-plugin|
3. Haredoc filetype |ft-haredoc-plugin|
4. Indentation settings |ft-hare-indent|
5. Compiler support |compiler-hare|
1. Introduction |ft-hare-intro|
2. Filetype plugin |ft-hare-plugin|
3. Haredoc filetype |ft-haredoc-plugin|
4. Indentation settings |ft-hare-indent|
5. Compiler support |compiler-hare|
==============================================================================
INTRODUCTION *ft-hare-intro*
INTRODUCTION *ft-hare-intro*
This plugin provides syntax highlighting, indentation, and other supporting
functionality for the Hare programming language.
FILETYPE PLUGIN *ft-hare-plugin*
FILETYPE PLUGIN *ft-hare-plugin*
This plugin has a few different variables that can be defined inside your
|vimrc| to tweak its behavior.
Additionally, support is provided for folding `{ }` blocks. To enable folding,
Additionally, support is provided for folding `{ }` blocks. To enable folding,
add the following to a file inside your |after-directory| (e.g.
~/.vim/after/ftplugin/hare.vim): >
@@ -30,7 +30,7 @@ add the following to a file inside your |after-directory| (e.g.
Because block-based folding tends to create many small folds, consider setting
a few related options, such as 'foldminlines' and 'foldnestmax'.
*g:hare_recommended_style*
*g:hare_recommended_style*
The following options are set by default, in accordance with Hare's official
style guide: >
@@ -44,29 +44,29 @@ To disable this behavior, add the following to your |vimrc|: >
let g:hare_recommended_style = 0
<
*g:hare_symbol_operators*
*g:hare_symbol_operators*
By default, symbolic operators do not receive any special highlighting (with
`!`, `?`, and `::` being the only exceptions). To enable syntax highlighting
`!`, `?`, and `::` being the only exceptions). To enable syntax highlighting
for most other operators, add the following to your |vimrc|: >
let g:hare_symbol_operators = 1
<
*g:hare_space_error*
*g:hare_space_error*
By default, trailing whitespace and spaces followed by <Tab> characters will
be highlighted as errors. This is automatically disabled in Insert mode. To
be highlighted as errors. This is automatically disabled in Insert mode. To
turn off this highlighting completely, add the following to your |vimrc|: >
let g:hare_space_error = 0
HAREDOC FILETYPE *ft-haredoc-plugin*
HAREDOC FILETYPE *ft-haredoc-plugin*
This plugin will automatically detect README files inside Hare modules, using
a recursive directory search, and give them the "haredoc" filetype. Because
a recursive directory search, and give them the "haredoc" filetype. Because
this is such a common filename, this plugin only searches for Hare source
files within the same directory by default.
*g:filetype_haredoc*
*g:filetype_haredoc*
The |g:filetype_haredoc| variable can be used to tweak the depth of this
search, or bypass the detection of Hare documentation files altogether:
@@ -80,13 +80,13 @@ The search depth may be any positive integer, but values higher than `2` are
unlikely to provide a tangible benefit in most situations.
INDENTATION SETTINGS *ft-hare-indent*
INDENTATION SETTINGS *ft-hare-indent*
Unlike most other settings for this plugin, the indentation settings may also
be set per-buffer, overriding any global configuration that exists. To do
be set per-buffer, overriding any global configuration that exists. To do
this, simply prefix the variable with |b:| instead of |g:|.
*g:hare_indent_match_switch*
*g:hare_indent_match_switch*
By default, continuation lines for "match" and "switch" conditions are
indented only one level: >hare
@@ -101,7 +101,7 @@ and "for" conditions, add the following line to your |vimrc|: >
let g:hare_indent_match_switch = 2
<
*g:hare_indent_case*
*g:hare_indent_case*
By default, continuation lines for cases in "match" and "switch" expressions
are indented two levels, to visually distinguish them from the body of the
case: >hare
@@ -111,24 +111,24 @@ case: >hare
// ...
If you prefer a different amount of indentation, you can adjust it using
|g:hare_indent_case|. Valid values include `0`, `1`, and `2`.
|g:hare_indent_case|. Valid values include `0`, `1`, and `2`.
COMPILER SUPPORT *compiler-hare*
COMPILER SUPPORT *compiler-hare*
If this plugin detects a Makefile in the current directory, it will assume you
wish to use `make` for your build system, and will leave 'makeprg' untouched.
Otherwise, `hare build` will be used.
*g:hare_makeprg_params*
*g:hare_makeprg_params*
When `hare build` is used, additional compiler options may be appended to
'makeprg' with the |g:hare_makeprg_params| variable. It may also be set on a
'makeprg' with the |g:hare_makeprg_params| variable. It may also be set on a
per-buffer basis (using |b:| instead of |g:|), overriding any global
configuration that exists. For example: >
configuration that exists. For example: >
let b:hare_makeprg_params = '-lc -t o'
The global default is "-q", to suppress writing to stdout while building.
==============================================================================
vim:ft=help:noet:ts=8:tw=78:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -60,8 +60,8 @@ g:rust_conceal_pub~
*g:rust_recommended_style*
g:rust_recommended_style~
Set this option to enable vim indentation and textwidth settings to
conform to style conventions of the rust standard library (i.e. use 4
spaces for indents and sets 'textwidth' to 99). This option is enabled
conform to style conventions of the Rust style guide (i.e. use 4
spaces for indents and set 'textwidth' to 100). This option is enabled
by default. To disable it: >
let g:rust_recommended_style = 0
<
@@ -166,13 +166,6 @@ g:rustfmt_detect_version~
Disabled by default for performance reasons
>
let g:rustfmt_detect_version = 1
<
*g:rustfmt_find_toml*
g:rustfmt_emit_files~
When set to 1, will try to find "rustfmt.toml" file by searching from
current path upwards. Disabled by default for performance reasons
>
let g:rustfmt_find_toml = 1
<
*g:rust_playpen_url*
g:rust_playpen_url~

View File

@@ -1,7 +1,7 @@
*gui.txt* For Vim version 9.1. Last change: 2025 Aug 10
*gui.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Vim's Graphical User Interface *gui* *GUI*
@@ -164,7 +164,7 @@ window Vim is running in with these commands: >
*gui-IME* *iBus*
Input methods for international characters in X that rely on the XIM
framework, most notably iBus, have been known to produce undesirable results
in gvim. These may include an inability to enter spaces, or long delays
in gvim. These may include an inability to enter spaces, or long delays
between typing a character and it being recognized by the application.
One workaround that has been successful, for unknown reasons, is to prevent
@@ -574,8 +574,8 @@ the mouse button down on this will pop up a menu containing the item
which when selected, performs the operation.
To create a menu for terminal mode, use |:tlmenu| instead of |:tmenu| unlike
key mapping (|:tmap|). This is because |:tmenu| is already used for defining
tooltips for menus. See |terminal-typing|.
key mapping (|:tmap|). This is because |:tmenu| is already used for defining
tooltips for menus. See |terminal-typing|.
Special characters in a menu name:
@@ -851,7 +851,7 @@ not wrap.
Note that Vim may be in any mode when executing these commands. The menu
should be defined for Normal mode and will be executed without changing the
current mode. Thus if the current window is in Visual mode and the menu
current mode. Thus if the current window is in Visual mode and the menu
command does not intentionally change the mode, Vim will remain in Visual
mode. Best is to use `:nnoremenu` to avoid side effects.
@@ -1019,8 +1019,8 @@ The tip is defined like this: >
And delete it with: >
:tunmenu MyMenu.Hello
Tooltips are currently only supported for the X11 and Win32 GUI. However, they
should appear for the other gui platforms in the not too distant future.
Tooltips are currently only supported for the X11 and Win32 GUI. However,
they should appear for the other gui platforms in the not too distant future.
The ":tmenu" command works just like other menu commands, it uses the same
arguments. ":tunmenu" deletes an existing menu tip, in the same way as the
@@ -1158,12 +1158,12 @@ Examples: >
See also |font-sizes|.
Note on Weights: Fonts often come with a variety of weights. "Normal" weights
Note on Weights: Fonts often come with a variety of weights. "Normal" weights
in Windows have a value of 400 and, left unspecified, this is the value that
will be used when attempting to find fonts. Windows will often match fonts
will be used when attempting to find fonts. Windows will often match fonts
based on their weight with higher priority than the font name which means a
Book or Medium variant of a font might be used despite specifying a Light or
ExtraLight variant. If you are experiencing heavier weight substitution, then
ExtraLight variant. If you are experiencing heavier weight substitution, then
explicitly setting a lower weight value may mitigate against this unwanted
substitution.

View File

@@ -1,7 +1,7 @@
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Aug 06
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
@@ -235,7 +235,7 @@ The "* register reflects the contents of the clipboard. |quotestar|
When the "unnamed" string is included in the 'clipboard' option, the unnamed
register is the same. Thus you can yank to and paste from the clipboard
without prepending "* to commands. If this doesn't work use the "unnamedplus"
without prepending "* to commands. If this doesn't work use the "unnamedplus"
string in the 'clipboard' option.
The 'a' flag in 'guioptions' is not included by default. This means that text
@@ -458,17 +458,17 @@ Keycode translation strategy *w32-experimental-keycode-trans-strategy*
In Patch v8.2.4807 W32 GVIM was changed over to experimental keycode
translation method with the aim to be able to use more keyboard shortcuts and
especially supporting non-standard keyboard layouts. In order to implement
especially supporting non-standard keyboard layouts. In order to implement
this support Win API TranslateMessage() call was dropped, and instead the
recognition of keycode was changed over to ToUnicode() Win API call. This
recognition of keycode was changed over to ToUnicode() Win API call. This
approach uncovered numerous corner cases, which are apparently covered by
TranslateMessage() implementation, each of it is necessary to be dealt with on
an individual basis. Therefore the decision was taken to declare this
an individual basis. Therefore the decision was taken to declare this
functionality experimental for the time being and to recover "classic" keycode
translation method as default again.
Discussion about use of "experimental" keycode translation method will
probably last some time yet. In the meantime, if you are impacted by this
probably last some time yet. In the meantime, if you are impacted by this
change over back to "classic" keycode translation method in W32 GVIM, you can
enable "experimental" translation method again in your vimrc using following
snippet:
@@ -488,4 +488,20 @@ VIM_KEYCODE_TRANS_STRATEGY can be set to the desired value ("experimental" or
set VIM_KEYCODE_TRANS_STRATEGY=experimental
gvim.exe
<
Title Bar *gui-w32-title-bar*
Starting with Windows 11, you can customize the gVim title bar (also known as
the caption bar) by enabling the |'go-C'| option.
Once enabled, the appearance is controlled by two highlighting groups:
1. |hl-TitleBar| -- Sets the color of the title bar for the active window.
2. |hl-TitleBarNC| -- Sets the color of the title bar for inactive windows.
To use the system's default title bar colors, set highlighting groups to
`NONE`: >
hi TitleBar guibg=NONE guifg=NONE
hi TitleBarNC guibg=NONE guifg=NONE
<
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

View File

@@ -1,7 +1,7 @@
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Sep 02
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Vim's Graphical User Interface *gui-x11* *GUI-X11*
@@ -602,7 +602,7 @@ your pkg-config works with your GTK+ 2: >
$ pkg-config --modversion gtk+-2.0
Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
number of your GTK+, you can proceed; if not, you probably need to do some
system administration chores to set up pkg-config and GTK+ correctly.
@@ -714,6 +714,8 @@ output a warning:
Warning: Clipboard register not available, using register 0 ~
Note: This also applies to the Wayland clipboard feature as well.
*W24*
Vim comes in different flavors, from a tiny build, that just tries to be
compatible to original Vi, to enhanced builds which include many improvements

View File

@@ -1,7 +1,8 @@
*hangulin.txt* For Vim version 9.1. Last change: 2019 Nov 21
*hangulin.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
*hangul*
Vim had built-in support for hangul, the Korean language, for users without

View File

@@ -1,7 +1,7 @@
*hebrew.txt* For Vim version 9.1. Last change: 2019 May 05
*hebrew.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
VIM REFERENCE MANUAL by Ron Aaron and Avner Lottem
Hebrew Language support (options & mapping) for Vim *hebrew*

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 9.1. Last change: 2025 Jun 27
*help.txt* For Vim version 9.1. Last change: 2025 Nov 01
VIM - main help file
k
@@ -44,7 +44,7 @@ BASIC:
|quickref| Overview of the most common commands you will use
|tutor| 30-minute interactive course for beginners
|copying| About copyrights
|iccf| Helping poor children in Uganda
|Kuwasha| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
|www| Vim on the World Wide Web
|bugs| Where to send bug reports

View File

@@ -1,7 +1,7 @@
*helphelp.txt* For Vim version 9.1. Last change: 2025 Aug 06
*helphelp.txt* For Vim version 9.1. Last change: 2025 Dec 02
VIM REFERENCE MANUAL by Bram Moolenaar
VIM REFERENCE MANUAL by Bram Moolenaar
Help on help files *helphelp*
@@ -158,11 +158,12 @@ When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
files in the directories specified in the 'runtimepath' option.
If you would like to open the help in the current window, see this tip:
|help-curwin|.
The initial height of the help window can be set with the 'helpheight' option
(default 20).
If you want to open help on {subject} in the current window, the helpcurwin
optional package can be used. See |package-helpcurwin|.
*help-buffer-options*
When the help buffer is created, several local options are set to make sure
the help text is displayed as it was intended:
@@ -297,9 +298,9 @@ the following pattern is used: >
^\w\+@\w\+:\f\+\$\s
This is meant to match a default bash prompt. If it doesn't match your prompt,
you can change the regex with the `shell_prompt` key from the `g:helptoc`
dictionary variable: >
This is meant to match a default bash prompt. If it doesn't match your
prompt, you can change the regex with the `shell_prompt` key from the
`g:helptoc` dictionary variable: >
let g:helptoc = {'shell_prompt': 'regex matching your shell prompt'}
@@ -392,8 +393,8 @@ help file it's best to copy one of the existing files and use it as a
template.
Vim help files generally use 2 spaces after a sentence (since they are written
using a fixed-width font and that was the prefered style in the 70s/80s), like
what is described here: https://english.stackexchange.com/a/2602
using a fixed-width font and that was the preferred style in the 70s/80s),
like what is described here: https://english.stackexchange.com/a/2602
The first line in a help file should have the following format:
@@ -456,19 +457,21 @@ This will highlight the column heading in a different color. E.g.
Column heading~
To separate sections in a help file, place a series of '=' characters in a
line starting from the first column. The section separator line is highlighted
differently.
line starting from the first column. The section separator line is
highlighted differently.
To quote a block of ex-commands verbatim, place a greater than (>) character
at the end of the line before the block and a less than (<) character as the
first non-blank on a line following the block. Any line starting in column 1
also implicitly stops the block of ex-commands before it. E.g. >
function Example_Func()
echo "Example"
endfunction
<
To enable syntax highlighting for a block of code, place a language name
annotation (e.g. "vim") after a greater than (>) character. E.g. >vim
function Example_Func()
echo "Example"
endfunction
@@ -476,7 +479,8 @@ annotation (e.g. "vim") after a greater than (>) character. E.g. >vim
*g:help_example_languages*
By default, help files only support Vim script highlighting. If you need
syntax highlighting for other languages, add to your |vimrc|: >
:let g:help_example_languages = { "vim": "vim", "sh": "bash" }
:let g:help_example_languages = #{
\ vim: "vim", vim9: "vim", bash: "sh" }
The key represents the annotation marker name, and the value is the 'syntax'
name.

View File

@@ -1,4 +1,4 @@
*howto.txt* For Vim version 9.1. Last change: 2025 Aug 06
*howto.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,7 +1,8 @@
*if_cscop.txt* For Vim version 9.1. Last change: 2025 Aug 10
*if_cscop.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Andy Kahn
VIM REFERENCE MANUAL by Andy Kahn
*cscope* *Cscope*
This document explains how to use Vim's cscope interface.
@@ -255,7 +256,7 @@ started will have no effect!
*cscopequickfix* *csqf* *E469*
{not available when compiled without the |+quickfix| feature}
'cscopequickfix' specifies whether to use quickfix window to show cscope
results. This is a list of comma-separated values. Each item consists of
results. This is a list of comma-separated values. Each item consists of
|cscope-find| command (s, g, d, c, t, e, f, i or a) and flag (+, - or 0).
'+' indicates that results must be appended to quickfix window,
'-' implies previous results clearance, '0' or command absence - don't use

View File

@@ -1,7 +1,7 @@
*if_lua.txt* For Vim version 9.1. Last change: 2021 Aug 06
*if_lua.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Luis Carvalho
VIM REFERENCE MANUAL by Luis Carvalho
The Lua Interface to Vim *lua* *Lua*
@@ -71,7 +71,7 @@ If you use LuaJIT you can also use this: >
argument being set to the text of each line in turn,
without a trailing <EOL>, and the current line number.
If the value returned by the function is a string it
becomes the text of the line in the current turn. The
becomes the text of the line in the current turn. The
default for [range] is the whole file: "1,$".
Examples:
@@ -96,14 +96,14 @@ Examples:
<
All these commands execute a Lua chunk from either the command line (:lua and
:luado) or a file (:luafile) with the given line [range]. Similarly to the Lua
interpreter, each chunk has its own scope and so only global variables are
shared between command calls. All Lua default libraries are available. In
:luado) or a file (:luafile) with the given line [range]. Similarly to the
Lua interpreter, each chunk has its own scope and so only global variables are
shared between command calls. All Lua default libraries are available. In
addition, Lua "print" function has its output redirected to the Vim message
area, with arguments separated by a white space instead of a tab.
Lua uses the "vim" module (see |lua-vim|) to issue commands to Vim
and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
procedures that alter buffer content, open new buffers, and change cursor
position are restricted when the command is executed in the |sandbox|.
@@ -111,18 +111,18 @@ position are restricted when the command is executed in the |sandbox|.
==============================================================================
2. The vim module *lua-vim*
Lua interfaces Vim through the "vim" module. The first and last line of the
input range are stored in "vim.firstline" and "vim.lastline" respectively. The
module also includes routines for buffer, window, and current line queries,
Vim evaluation and command execution, and others.
Lua interfaces Vim through the "vim" module. The first and last line of the
input range are stored in "vim.firstline" and "vim.lastline" respectively.
The module also includes routines for buffer, window, and current line
queries, Vim evaluation and command execution, and others.
vim.list([arg]) Returns an empty list or, if "arg" is a Lua
table with numeric keys 1, ..., n (a
"sequence"), returns a list l such that l[i] =
arg[i] for i = 1, ..., n (see |List|).
Non-numeric keys are not used to initialize
the list. See also |lua-eval| for conversion
rules. Example: >
the list. See also |lua-eval| for conversion
rules. Example: >
:lua t = {math.pi, false, say = 'hi'}
:echo luaeval('vim.list(t)')
:" [3.141593, v:false], 'say' is ignored
@@ -130,10 +130,10 @@ Vim evaluation and command execution, and others.
vim.dict([arg]) Returns an empty dictionary or, if "arg" is a
Lua table, returns a dict d such that d[k] =
arg[k] for all string keys k in "arg" (see
|Dictionary|). Number keys are converted to
strings. Keys that are not strings are not
used to initialize the dictionary. See also
|lua-eval| for conversion rules. Example: >
|Dictionary|). Number keys are converted to
strings. Keys that are not strings are not
used to initialize the dictionary. See also
|lua-eval| for conversion rules. Example: >
:lua t = {math.pi, false, say = 'hi'}
:echo luaeval('vim.dict(t)')
:" {'1': 3.141593, '2': v:false,
@@ -148,29 +148,29 @@ Vim evaluation and command execution, and others.
:" 0z31326162.0080FEFF
<
vim.funcref({name}) Returns a Funcref to function {name} (see
|Funcref|). It is equivalent to Vim's
|Funcref|). It is equivalent to Vim's
function().
vim.buffer([arg]) If "arg" is a number, returns buffer with
number "arg" in the buffer list or, if "arg"
is a string, returns buffer whose full or short
name is "arg". In both cases, returns 'nil'
(nil value, not string) if the buffer is not
found. Otherwise, if "toboolean(arg)" is
is a string, returns buffer whose full or
short name is "arg". In both cases, returns
'nil' (nil value, not string) if the buffer is
not found. Otherwise, if "toboolean(arg)" is
'true' returns the first buffer in the buffer
list or else the current buffer.
vim.window([arg]) If "arg" is a number, returns window with
number "arg" or 'nil' (nil value, not string)
if not found. Otherwise, if "toboolean(arg)"
if not found. Otherwise, if "toboolean(arg)"
is 'true' returns the first window or else the
current window.
vim.type({arg}) Returns the type of {arg}. It is equivalent to
Lua's "type" function, but returns "list",
vim.type({arg}) Returns the type of {arg}. It is equivalent
to Lua's "type" function, but returns "list",
"dict", "funcref", "buffer", or "window" if
{arg} is a list, dictionary, funcref, buffer,
or window, respectively. Examples: >
or window, respectively. Examples: >
:lua l = vim.list()
:lua print(type(l), vim.type(l))
:" list
@@ -190,7 +190,7 @@ Vim evaluation and command execution, and others.
vim.eval({expr}) Evaluates expression {expr} (see |expression|),
converts the result to Lua, and returns it.
Vim strings and numbers are directly converted
to Lua strings and numbers respectively. Vim
to Lua strings and numbers respectively. Vim
lists and dictionaries are converted to Lua
userdata (see |lua-list| and |lua-dict|).
Examples: >
@@ -203,16 +203,16 @@ Vim evaluation and command execution, and others.
vim.beep() Beeps.
vim.open({fname}) Opens a new buffer for file {fname} and
returns it. Note that the buffer is not set as
current.
returns it. Note that the buffer is not set
as current.
vim.call({name} [, {args}])
Proxy to call Vim function named {name} with
arguments {args}. Example: >
:lua print(vim.call('has', 'timers'))
<
vim.fn Proxy to call Vim functions. Proxy methods are
created on demand. Example: >
vim.fn Proxy to call Vim functions. Proxy methods
are created on demand. Example: >
:lua print(vim.fn.has('timers'))
<
vim.lua_version The Lua version Vim was compiled with, in the
@@ -227,7 +227,7 @@ Vim evaluation and command execution, and others.
*lua-vim-variables*
The Vim editor global dictionaries |g:| |w:| |b:| |t:| |v:| can be accessed
from Lua conveniently and idiomatically by referencing the `vim.*` Lua tables
described below. In this way you can easily read and modify global Vim script
described below. In this way you can easily read and modify global Vim script
variables from Lua.
Example: >
@@ -260,8 +260,8 @@ vim.v *vim.v*
3. List userdata *lua-list*
List userdata represent vim lists, and the interface tries to follow closely
Vim's syntax for lists. Since lists are objects, changes in list references in
Lua are reflected in Vim and vice-versa. A list "l" has the following
Vim's syntax for lists. Since lists are objects, changes in list references
in Lua are reflected in Vim and vice-versa. A list "l" has the following
properties and methods:
NOTE: In patch 8.2.1066 array indexes were changed from zero-based to
@@ -274,23 +274,23 @@ Properties
in Vim.
o "l[k]" returns the k-th item in "l"; "l" is one-indexed, as in Lua.
To modify the k-th item, simply do "l[k] = newitem"; in
particular, "l[k] = nil" removes the k-th item from "l". Item can
particular, "l[k] = nil" removes the k-th item from "l". Item can
be added to the end of the list by "l[#l + 1] = newitem"
o "l()" returns an iterator for "l".
o "table.insert(l, newitem)" inserts an item at the end of the list.
(only Lua 5.3 and later)
o "table.insert(l, position, newitem)" inserts an item at the
specified position. "position" is one-indexed. (only Lua 5.3 and
specified position. "position" is one-indexed. (only Lua 5.3 and
later)
o "table.remove(l, position)" removes an item at the specified
position. "position" is one-indexed.
position. "position" is one-indexed.
Methods
-------
o "l:add(item)" appends "item" to the end of "l".
o "l:insert(item[, pos])" inserts "item" at (optional)
position "pos" in the list. The default value for "pos" is 0.
position "pos" in the list. The default value for "pos" is 0.
Examples:
>
@@ -312,8 +312,8 @@ Examples:
4. Dict userdata *lua-dict*
Similarly to list userdata, dict userdata represent vim dictionaries; since
dictionaries are also objects, references are kept between Lua and Vim. A dict
"d" has the following properties:
dictionaries are also objects, references are kept between Lua and Vim. A
dict "d" has the following properties:
Properties
----------
@@ -340,7 +340,7 @@ Examples:
==============================================================================
5. Blob userdata *lua-blob*
Blob userdata represent vim blobs. A blob "b" has the following properties:
Blob userdata represent vim blobs. A blob "b" has the following properties:
Properties
----------
@@ -367,7 +367,7 @@ Examples:
==============================================================================
6. Funcref userdata *lua-funcref*
Funcref userdata represent funcref variables in Vim. Funcrefs that were
Funcref userdata represent funcref variables in Vim. Funcrefs that were
defined with a "dict" attribute need to be obtained as a dictionary key
in order to have "self" properly assigned to the dictionary (see examples
below.) A funcref "f" has the following properties:
@@ -408,8 +408,8 @@ can be accessed in Vim scripts. Example:
==============================================================================
7. Buffer userdata *lua-buffer*
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
properties and methods:
Buffer userdata represent vim buffers. A buffer userdata "b" has the
following properties and methods:
Properties
----------
@@ -425,8 +425,8 @@ Properties
Methods
-------
o "b:insert(newline[, pos])" inserts string "newline" at (optional)
position "pos" in the buffer. The default value for "pos" is
"#b + 1". If "pos == 0" then "newline" becomes the first line in
position "pos" in the buffer. The default value for "pos" is
"#b + 1". If "pos == 0" then "newline" becomes the first line in
the buffer.
o "b:next()" returns the buffer next to "b" in the buffer list.
o "b:previous()" returns the buffer previous to "b" in the buffer
@@ -460,7 +460,7 @@ Examples:
==============================================================================
8. Window userdata *lua-window*
Window objects represent vim windows. A window userdata "w" has the following
Window objects represent vim windows. A window userdata "w" has the following
properties and methods:
Properties
@@ -493,8 +493,9 @@ Examples:
9. luaeval() Vim function *lua-luaeval* *lua-eval*
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
"luaeval". "luaeval" takes an expression string and an optional argument and
returns the result of the expression. It is semantically equivalent in Lua to:
"luaeval". "luaeval" takes an expression string and an optional argument and
returns the result of the expression. It is semantically equivalent in Lua
to:
>
local chunkheader = "local _A = select(1, ...) return "
function luaeval (expstr, arg)
@@ -502,9 +503,9 @@ returns the result of the expression. It is semantically equivalent in Lua to:
return chunk(arg) -- return typval
end
<
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
list, dict, blob, and funcref userdata are converted to their Vim respective
types, while Lua booleans are converted to numbers. An error is thrown if
types, while Lua booleans are converted to numbers. An error is thrown if
conversion of any of the remaining Lua types, including userdata other than
lists, dicts, blobs, and funcrefs, is attempted.

View File

@@ -1,7 +1,7 @@
*if_mzsch.txt* For Vim version 9.1. Last change: 2020 Oct 14
*if_mzsch.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Sergey Khorev
VIM REFERENCE MANUAL by Sergey Khorev
The MzScheme Interface to Vim *mzscheme* *MzScheme*
@@ -20,7 +20,7 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
MzScheme and PLT Scheme names have been rebranded as Racket. For more
MzScheme and PLT Scheme names have been rebranded as Racket. For more
information please check http://racket-lang.org
Futures and places of Racket version 5.x up to and including 5.3.1 do not
@@ -67,8 +67,8 @@ MzScheme interface defines exception exn:vim, derived from exn.
It is raised for various Vim errors.
During compilation, the MzScheme interface will remember the current MzScheme
collection path. If you want to specify additional paths use the
'current-library-collection-paths' parameter. E.g., to cons the user-local
collection path. If you want to specify additional paths use the
"current-library-collection-paths" parameter. E.g., to cons the user-local
MzScheme collection path: >
:mz << EOF
(current-library-collection-paths
@@ -150,9 +150,9 @@ Auto-instantiation of vimext module (can be placed in your |vimrc|): >
==============================================================================
3. Threads *mzscheme-threads*
The MzScheme interface supports threads. They are independent from OS threads,
thus scheduling is required. The option 'mzquantum' determines how often
Vim should poll for available MzScheme threads.
The MzScheme interface supports threads. They are independent from OS
threads, thus scheduling is required. The option 'mzquantum' determines how
often Vim should poll for available MzScheme threads.
NOTE
Thread scheduling in the console version of Vim is less reliable than in the
GUI version.
@@ -181,12 +181,12 @@ Common
(get-option {option-name} [buffer-or-window]) Get Vim option value (either
local or global, see set-option).
(set-option {string} [buffer-or-window])
Set a Vim option. String must have option
Set a Vim option. String must have option
setting form (like optname=optval, or
optname+=optval, etc.) When called with
{buffer} or {window} the local option will
be set. The symbol 'global can be passed
as {buffer-or-window}. Then |:setglobal|
be set. The symbol 'global can be passed
as {buffer-or-window}. Then |:setglobal|
will be used.
Buffers *mzscheme-buffer*
@@ -197,17 +197,17 @@ Buffers *mzscheme-buffer*
(get-buff-line {linenr} [buffer])
Get line from a buffer.
(set-buff-line {linenr} {string} [buffer])
Set a line in a buffer. If {string} is #f,
the line gets deleted. The [buffer]
argument is optional. If omitted, the
Set a line in a buffer. If {string} is
#f, the line gets deleted. The [buffer]
argument is optional. If omitted, the
current buffer will be used.
(get-buff-line-list {start} {end} [buffer])
Get a list of lines in a buffer. {Start}
Get a list of lines in a buffer. {Start}
and {end} are 1-based and inclusive.
(set-buff-line-list {start} {end} {string-list} [buffer])
Set a list of lines in a buffer. If
Set a list of lines in a buffer. If
string-list is #f or null, the lines get
deleted. If a list is shorter than
deleted. If a list is shorter than
{end}-{start} the remaining lines will
be deleted.
(get-buff-name [buffer]) Get a buffer's text name.
@@ -215,13 +215,14 @@ Buffers *mzscheme-buffer*
(get-buff-size [buffer]) Get buffer line count.
(insert-buff-line-list {linenr} {string/string-list} [buffer])
Insert a list of lines into a buffer after
{linenr}. If {linenr} is 0, lines will be
{linenr}. If {linenr} is 0, lines will be
inserted at start.
(curr-buff) Get the current buffer. Use other MzScheme
interface procedures to change it.
(curr-buff) Get the current buffer. Use other
MzScheme interface procedures to change
it.
(buff-count) Get count of total buffers in the editor.
(get-next-buff [buffer]) Get next buffer.
(get-prev-buff [buffer]) Get previous buffer. Return #f when there
(get-prev-buff [buffer]) Get previous buffer. Return #f when there
are no more buffers.
(open-buff {filename}) Open a new buffer (for file "name")
(get-buff-by-name {buffername}) Get a buffer by its filename or #f
@@ -258,7 +259,7 @@ evaluate MzScheme expressions and pass their values to Vim script.
6. Using Function references *mzscheme-funcref*
MzScheme interface allows use of |Funcref|s so you can call Vim functions
directly from Scheme. For instance: >
directly from Scheme. For instance: >
function! MyAdd2(arg)
return a:arg + 2
endfunction
@@ -273,7 +274,7 @@ directly from Scheme. For instance: >
==============================================================================
7. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.
This means that Vim will search for the MzScheme DLL files only when needed.
@@ -291,7 +292,7 @@ name of the library to load. The initial value is specified at build time.
The version of the DLL must match the MzScheme version Vim was compiled with.
For MzScheme version 209 they will be "libmzsch209_000.dll" and
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
command, look for -DDYNAMIC_MZSCH_DLL="something" and
-DDYNAMIC_MZGC_DLL="something" in the "Compilation" info.

View File

@@ -1,7 +1,7 @@
*if_ole.txt* For Vim version 9.1. Last change: 2023 Nov 19
*if_ole.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Paul Moore
VIM REFERENCE MANUAL by Paul Moore
The OLE Interface to Vim *ole-interface*

View File

@@ -1,8 +1,9 @@
*if_perl.txt* For Vim version 9.1. Last change: 2025 Apr 27
*if_perl.txt* For Vim version 9.1. Last change: 2025 Nov 09
VIM REFERENCE MANUAL by Sven Verdoolaege
and Matt Gerassimof
VIM REFERENCE MANUAL by Sven Verdoolaege
and Matt Gerassimof
Perl and Vim *perl* *Perl*
@@ -17,10 +18,10 @@ Perl and Vim *perl* *Perl*
1. Editing Perl files *perl-editing*
Vim syntax highlighting supports Perl and POD files. Vim assumes a file is
Perl code if the filename has a .pl or .pm suffix. Vim also examines the first
line of a file, regardless of the filename suffix, to check if a file is a
Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
is POD text if the filename has a .POD suffix.
Perl code if the filename has a .pl or .pm suffix. Vim also examines the
shebang line of a file, if no filetype has been detected, to check if a file
is a Perl script. Vim assumes a file is POD text if the filename has a .POD
suffix.
To use tags with Perl, you need Universal/Exuberant Ctags. Look here:
Universal Ctags (preferred): https://ctags.io
@@ -33,10 +34,8 @@ features than Exuberant ctags' Perl support.
==============================================================================
2. Compiling Vim with Perl interface *perl-compiling*
To compile Vim with Perl interface, you need Perl 5.004 (or later). Perl must
be installed before you compile Vim. Vim's Perl interface does NOT work with
the 5.003 version that has been officially released! It will probably work
with Perl 5.003_05 and later.
To compile Vim with the Perl interface, you need a recent Perl version. Perl
must be installed before you compile Vim.
The Perl patches for Vim were made by:
Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
@@ -92,9 +91,9 @@ To see what version of Perl you have: >
*:perldo* *:perld*
:[range]perld[o] {cmd} Execute Perl command {cmd} for each line in the
[range], with $_ being set to the text of each line in
turn, without a trailing <EOL>. Setting $_ will change
the text, but note that it is not possible to add or
delete lines using this command.
turn, without a trailing <EOL>. Setting $_ will
change the text, but note that it is not possible to
add or delete lines using this command.
The default for [range] is the whole file: "1,$".
Here are some things you can try: >
@@ -298,8 +297,8 @@ version of the shared library must match the Perl version Vim was compiled
with.
Note: If you are building Perl locally, you have to use a version compiled
with threading support for it for Vim to successfully link against it. You can
use the `-Dusethreads` flags when configuring Perl, and check that a Perl
with threading support for it for Vim to successfully link against it. You
can use the `-Dusethreads` flags when configuring Perl, and check that a Perl
binary has it enabled by running `perl -V` and verify that `USE_ITHREADS` is
under "Compile-time options".

Some files were not shown because too many files have changed in this diff Show More