Compare commits

..

1358 Commits

Author SHA1 Message Date
glepnir
001c26cd61 patch 9.1.1069: preinsert text completions not deleted with <C-W>/<C-U>
Problem:  preinsert text completions not deleted with <C-W>/<C-U>
          (ddad431, after v9.1.1059)
Solution: handle <C-W> or <C-U> specifically and clear the completion
          (glepnir)

fixes: #16557
closes: #16565

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-02 09:36:22 +01:00
zeertzjq
e0a2ab397f patch 9.1.1068: getchar() can't distinguish between C-I and Tab
Problem:  getchar() can't distinguish between C-I and Tab.
Solution: Add {opts} to pass extra flags to getchar() and getcharstr(),
          with "number" and "simplify" keys.

related: #10603
closes: #16554

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-02 09:14:35 +01:00
Philip H.
cbc1f409c1 CI: bump windows python to 3.13
closes: #16562

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-02 09:08:05 +01:00
Christian Brabandt
44a21351a8 patch 9.1.1067: tests: Test_termwinscroll_topline2 fails on MacOS
Problem:  tests: Test_termwinscroll_topline2 fails on MacOS
          (after v9.1.1062)
Solution: reduce termwinscroll further, increase term_wait time

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-02 09:03:00 +01:00
zeertzjq
2101230f40 patch 9.1.1066: heap-use-after-free and stack-use-after-scope with :14verbose
Problem:  heap-use-after-free and stack-use-after-scope with :14verbose
          when using :return and :try (after 9.1.1063).
Solution: Move back the vim_free(tofree) and the scope of numbuf[].
          (zeertzjq)

closes: #16563

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-02 08:55:57 +01:00
Hans Ginzel
3a621188ee patch 9.1.1065: no digraph for "Approaches the limit"
Problem:  no digraph for "Approaches the limit"
Solution: Add the digraph using .= (Hans Ginzel)

Add digraph Approaches the Limit

≐ U+2250 https://www.fileformat.info/info/unicode/char/2250/index.htm

closes: #16508

Signed-off-by: Hans Ginzel <hans@matfyz.cz>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-01 16:17:14 +01:00
Christ van Willegen
c078675ac7 patch 9.1.1064: not possible to use plural forms with gettext()
Problem:  not possible to use plural forms with gettext()
Solution: implement ngettext() Vim script function (Christ van Willegen)

closes: #16561

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-01 15:47:51 +01:00
John Marriott
b32800f7c5 patch 9.1.1063: too many strlen() calls in userfunc.c
Problem:  too many strlen() calls in userfunc.c
Solution: refactor userfunc.c and remove calls to strlen(),
          drop set_ufunc_name() and roll it into alloc_ufunc(),
          check for out-of-memory condition in trans_function_name_ext()
          (John Marriott)

closes: #16537

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-01 15:25:34 +01:00
Hirohito Higashi
3219da514c patch 9.1.1062: terminal: E315 when dragging the terminal with the mouse
Problem:  terminal: E315 when dragging the terminal with the mouse
          (user202729)
Solution: call update_topline() and validate_cursor() when clicking
          on the status line with the mouse (Hirohito Higashi)

fixes: #16024
fixes: #16211
closes: #16552

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-01 14:48:35 +01:00
Morton Fox
7c930eb61a runtime(openPlugin): fix unclosed parenthesis in GetWordUnderCursor()
Problem:

Saw the following error when invoking gx mapping with cursor on a URL:

    Error detected while compiling function <SNR>95_GetWordUnderCursor:
    line    7:
    E1123: Missing comma before argument: return expand(user_var)
    E116: Invalid arguments for function dist#vim9#Open

Solution:

The line before "return expand(...)" has two open parentheses but only
one close parenthesis. Add another close parenthesis.

closes: #16553

Signed-off-by: Morton Fox <github@qslw.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-01 10:28:52 +01:00
Hirohito Higashi
195fcc90d0 runtime(doc): Tweak documentation style a bit
closes: #16556

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
2025-02-01 10:26:58 +01:00
Christian Brabandt
85e3f24bea patch 9.1.1061: tests: test_glvs fails when unarchiver not available
Problem:  tests: test_glvs fails when unarchiver not available
          (Brian L. Matthews)
Solution: Check if an unarchiver is available, skip the test otherwise

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-31 17:02:32 +01:00
Christian Brabandt
d7f5854fcc patch 9.1.1060: Vim always enables 'termguicolors' in a terminal
Problem:  Vim always enables 'termguicolors' in a terminal, even
          when not wanted (after v9.1.1054)
Solution: Respect `:set notermguicolors` in vimrc file

fixes: #16538
fixes: #16539
closes: #16540

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-31 16:16:48 +01:00
glepnir
bfb4eea786 patch 9.1.1059: completion: input text deleted with preinsert when adding leader
Problem:  completion: input text deleted with preinsert when adding leader
Solution: remove compl_length and check the ptr for being equal
          to pattern when preinsert is active (glepnir)

closes: #16545

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-31 15:28:29 +01:00
Ivan Pešić
fe0a9a3269 patch 9.1.1058: translation(sr): Missing Serbian translation for the tutor
Problem:  translation(sr): Missing Serbian translation for the tutor
Solution: include new Serbian translation for the new tutor,
          include translation for chapter 2 of the traditional tutor,
          update the Makefiles for installing the runtime files
          (Ivan Pešić)

closes: #16550

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-31 15:20:03 +01:00
zeertzjq
8297e2cee3 patch 9.1.1057: Superfluous cleanup steps in test_ins_complete.vim
Problem:  Superfluous cleanup steps in test_ins_complete.vim.
Solution: Remove unnecessary :bw! and :autocmd! commands.
          Also remove unnecessary STRLEN() in insexpand.c
          (zeertzjq)

closes: #16542

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-30 11:04:47 +01:00
Christian Brabandt
6d6ec2ee05 runtime(netrw): correct wrong version check
The version check introduced with commit edd4ac3e8 has a logic error.
Also it should only trigger when trying to use the netrw plugin and not
always.

fixes: #16541

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-30 11:00:35 +01:00
glepnir
edd4ac3e89 patch 9.1.1056: Vim doesn't highlight to be inserted text when completing
Problem:  Vim doesn't highlight to be inserted text when completing
Solution: Add support for the "preinsert" 'completeopt' value
          (glepnir)

Support automatically inserting the currently selected candidate word
that does not belong to the latter part of the leader.

fixes: #3433
closes: #16403

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-29 18:58:04 +01:00
Luca Saccarola
ec961b05dc runtime(netrw): upstream snapshot of v176
relevant commits:
- deprecate!: netrw#Launch, netrw#Open and gx mappings
- refactor: move some utility functions in a private file
- feat: add function to deprecate features
- refactor!: remove NetrwClean command and function
- refactor: use appropriate directories to store temporary files
- refactor: better way to call vim.ui.open
- refactor(Open): prefer lua wrapper function instead of cmdline
- refactor!: drop vim 7 checks
- refactor: use vim.ui.open when using neovim
- refactor: remove s:CheckIfKde
- refactor: balloon functionality
- refactor!: remove netrw#Access function

closes: #16519

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-29 18:39:30 +01:00
Luca Saccarola
766801295d runtime(dist/vim9): fix regressions in dist#vim9#Open
fixes: #16533
fixes: #16532
closes: #16535

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-29 18:36:01 +01:00
Luca Saccarola
a5d19aa44d runtime(hyprlang): fix string recognition
fixes: #16064
closes: #16527

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-29 10:28:42 +01:00
Sergei Trofimovich
04cc897593 patch 9.1.1055: make install fails because of a missing dependency
Problem:  make install fails because of a missing dependency
Solution: add explicit dependencies for tutor/{en,it}
          (Sergei Trofimovich)

Without the change `make install -j16` fails
sometimes due to race condition to create a directory.

It's best reproducible with `make --shuffle`:

    $ make install --shuffle
    ...
    bash install-sh -c -d /vim-9.1.0990/share/vim/vim91/tutor
    chmod 755 /vim-9.1.0990/share/vim/vim91/tutor
    cp ../runtime/tutor/README* ../runtime/tutor/tutor* /vim-9.1.0990/share/vim/vim91/tutor
    cp ../runtime/tutor/en/* /vim-9.1.0990/share/vim/vim91/tutor/en/
    cp: target '/vim-9.1.0990/share/vim/vim91/tutor/en/': No such file or directory
    make[1]: [Makefile:2487: installtutor] Error 1 (ignored) shuffle=2340321974
    cp ../runtime/tutor/it/* /vim-9.1.0990/share/vim/vim91/tutor/it/
    cp: target '/vim-9.1.0990/share/vim/vim91/tutor/it/': No such file or directory
    make[1]: [Makefile:2488: installtutor] Error 1 (ignored) shuffle=2340321974

The fix adds a dependency on targeted directories used to install tutor.

Before the change it too 2-3 attempts to reproduce the install failure.
After the change `vim` survives 150 install attempts without failures.

closes: #16531

Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-28 11:37:52 +01:00
Nir Lichtman
db23436b92 runtime(asm): add byte directives to syntax script
closes: #16523

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-26 16:55:54 +01:00
Christian Brabandt
279dd703e1 patch 9.1.1054: Vim doesn't work well with TERM=xterm-direct
Problem:  Vim doesn't work well with TERM=xterm-direct
          (Andrea Pappacoda)
Solution: detect if a terminal supports true-colors and
          enable termguicolors

The terminfo database for xterm-direct contains both the (non-standard)
termcap RGB capability and a number of colors == 0x1000000 so it seems
either of those two options can be used to detect a terminal capable of
displaying true colors.

So set the termguicolor option automatically, when either of the two
options is detected. (for some reasons, my debian xterm (v393) does not
respond to XTGETTCAP query attempts, so falling back to the number of
colors seems like a good compromize)

fixes: #16327
closes: #16490

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-26 10:53:17 +01:00
Christian Brabandt
fb49e3cde7 runtime(filetype): commit 99181205c5 breaks V lang detection
so make the regex more strict and have it check for a parenthesis.

See:
https://github.com/vlang/v/blob/master/examples/submodule/mymodules/submodule/sub_functions.v

related: #16513

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 16:18:51 +01:00
Luca Saccarola
c729d6d154 runtime: decouple Open and Launch commands and gx mapping from netrw
closes: #16494
fixes: ##16486

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 16:07:12 +01:00
zeertzjq
d65aa1bbdb patch 9.1.1053: "nosort" enables fuzzy filtering even if "fuzzy" isn't in 'completeopt'
Problem:  "nosort" enables fuzzy filtering even if "fuzzy" isn't in
          'completeopt' (after v9.1.1049)
Solution: Only enable fuzzy filtering when "fuzzy" is in 'completeopt'.
          (zeertzjq)

closes: #16510

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 15:30:46 +01:00
Peter Benjamin
509a8d58f9 runtime(just): fix typo in syntax file
closes: #16515

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 15:27:15 +01:00
Christian Brabandt
99181205c5 runtime(filetype): Improve Verilog detection by checking for modules definition
While at it, also increase the maximum number of lines to check to 500.

fixes: #16513

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 15:23:52 +01:00
Yee Cheng Chin
3acfbb4b54 patch 9.1.1052: tests: off-by-one error in CheckCWD in test_debugger.vim
Problem:  tests: off-by-one error in CheckCWD in test_debugger.vim
Solution: Fix off-by-one in CheckCWD leading to local tests failure
          (Yee Cheng Chin)

Vim's test_debugger's Test_debug_backtrace_level test will fail if you
happen to run it in a Vim repository with full path of directory being
exactly 29 characters (e.g. `/Users/bob/developing/src/vim`). The test
does term dump comparison and the printout will overflow if the CWD is
too long. It does have a function to skip to test if it detects that but
it's off by one leading to this one situation where it will fail.

The reason why the logic didn't account for this is that Vim's message
printing will overflow the text if it prints a message at exactly the
width of the terminal. This could be considered a bug / quirk but that
will be another issue.

closes: #16517

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 15:14:06 +01:00
Christian Brabandt
08ea2e1fb0 patch 9.1.1051: tests: no support for env variables when running Vim in terminal
Problem:  tests: no support for env variables when running Vim in
          terminal
Solution: support the "env" argument in RunVimInTerminal(),
          close swapfiles properly in test_termcodes,
          use CheckFeature in test_termencoding

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-25 15:01:42 +01:00
John Marriott
efc41a5958 patch 9.1.1050: too many strlen() calls in os_unix.c
Problem:  too many strlen() calls in os_unix.c
Solution: refactor os_unix.c and remove calls to strlen()
          (John Marriott)

closes: #16496

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-23 20:05:29 +01:00
glepnir
f400a0cc41 patch 9.1.1049: insert-completed items are always sorted
Problem:  insert-completed items are always sorted, although the LSP
          spec[1] standard defines sortText in the returned
          completionitem list. This means that the server has sorted the
          results. When fuzzy is enabled, this will break the server's
          sorting results.
Solution: disable sorting of candidates when "nosort" is set in
          'completeopt'

[1]
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItem

closes: #16501

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-23 19:59:28 +01:00
zeertzjq
df098fedbc patch 9.1.1048: crash after scrolling and pasting in silent Ex mode
Problem:  Crash after scrolling and pasting in silent Ex mode.
          (fizz-is-on-the-way)
Solution: Don't move cursor to line 0 when scrolling.
          (zeertzjq)

closes: #16506

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-22 22:27:30 +01:00
Christian Brabandt
613d0bc128 patch 9.1.1047: Makefiles uses non-portable syntax
Problem:  Makefiles uses non-portable syntax
          (simo-zz, after v9.1.1029)
Solution: Revert auto-generation of MAJOR/MINOR variables

fixes: #16502
closes: #16503

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-22 22:21:50 +01:00
glepnir
9dfc7e5e61 patch 9.1.1046: fuzzymatching doesn't prefer matching camelcase
Problem:  fuzzymatching doesn't prefer matching camelcase
          (Tomasz N)
Solution: Add extra score when case matches (glepnir)

fixes: #16434
closes: #16439

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-21 22:33:13 +01:00
Gordian Dziwis
c04334c33f patch 9.1.1045: filetype: N-Tripels and TriG files are not recognized
Problem:  filetype: N-Tripels and TriG files are not recognized
Solution: detect '*.nt' files as ntriples filetype and '*.trig' files
          as trig filetype (Gordian Dziwis)

closes: #16493

Signed-off-by: Gordian Dziwis <gordian@dziw.is>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-21 22:24:23 +01:00
Christian Brabandt
d9a1f267ba patch 9.1.1044: Vim9: Patch 9.1.1014 causes regressions
Problem:  Vim9: Patch 9.1.1014 causes regressions
Solution: revert it for now

This reverts commit 57f0119358 since this
causes some regressions:
https://github.com/vim/vim/pull/16440#issuecomment-2600235629

So revert "patch 9.1.1014: Vim9: variable not found in transitive
import" for now.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-21 22:17:50 +01:00
ichizok
e2a0471851 Update .gitignore for v9.1.1036
Ignore the src/{LICENSE,README.txt} which are created from shadow
directories.

closes: #16499

Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-21 21:48:58 +01:00
Ivan Pešić
9601b1435a translation(sr): Update Serbian messages translation
closes: #16500

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-21 21:42:48 +01:00
Christian Brabandt
9d1bed5ecc patch 9.1.1043: [security]: segfault in win_line()
Problem:  [security]: segfault in win_line()
          (fizz-is-on-the-way)
Solution: Check that ScreenLines is not NULL

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-j3g9-wg22-v955

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 22:55:57 +01:00
Christian Brabandt
4cbc54a743 runtime(doc): update helptags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 22:52:54 +01:00
Peter Benjamin
72755b3c8e patch 9.1.1042: filetype: just files are not recognized
Problem:  filetype: just files are not recognized
Solution: adjust filetype detection pattern, detect just shebang line,
          include just ftplugin, indent and syntax plugin
          (Peter Benjamin)

closes: #16466

Signed-off-by: Peter Benjamin <petermbenjamin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 21:56:41 +01:00
Doug Kearns
c273f1ac77 runtime(vim): Update base-syntax, match ternary and falsy operators
fixes: #14423
fixes: #16227
closes: #16484

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 21:53:01 +01:00
Yegappan Lakshmanan
cb848b687f patch 9.1.1041: Vim9: out-of-bound access when echoing an enum
Problem:  Vim9: out-of-bound access when echoing an enum
Solution: Add NUL to growarray, check that ufunc is non-null
          before accessing it to make Coverity happy
          (Yegappan Lakshmanan)

closes: #16488

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 21:38:09 +01:00
Yegappan Lakshmanan
d79ea47079 patch 9.1.1040: Vim9: imported type cannot be used as func return type
Problem:  Vim9: imported type cannot be used as func return type
          (Dayvid Albuquerque)
Solution: temporarily reset the is_export flag (Yegappan Lakshmanan)

fixes: #16489
closes: #16492

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 21:20:56 +01:00
Christian Brabandt
4335fcfed1 runtime(kconfig): updated ftplugin and syntax script
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 21:01:41 +01:00
Jon Parise
71028a32db runtime(doc): rename last t_BG reference to t_RB
This was missed in 37c64c78fd.

closes: #16491

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 20:19:18 +01:00
Yegappan Lakshmanan
a81cf8b99e patch 9.1.1039: Vim9: comments are outdated
Problem:  Vim9: comments are outdated
Solution: Update comments, and include an enum example in the help
          (Yegappan Lakshmanan)

closes: #16485

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-19 22:20:34 +01:00
Christian Brabandt
2a5312e738 patch 9.1.1038: tests: test_channel.py fails with IPv6
Problem:  tests: test_channel.py fails with IPv6
          (eds-collabora)
Solution: Use 127.0.0.1 instead of localhost

fixes: #16398

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-19 14:50:31 +01:00
Doug Kearns
8dec6c2e6c runtime(vim): Update base-syntax, fix is/isnot operator matching
- Match is? and isnot? operators.
- Limit other comparison operators to one match modifier rather than
  two.

closes: #16482

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-19 14:02:06 +01:00
Ernie Rael
bce60c4742 patch 9.1.1037: Vim9: confusing error when using abstract method via super
Problem:  Vim9: confusing error when using abstract method via super
Solution: Display an error when an abstract method is invoked using
          super (Ernie Rael)

fixes: #15514
closes: #16478

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-19 10:07:51 +01:00
Christian Brabandt
5abc44e3c1 patch 9.1.1036: make install fails when using shadowdir
Problem:  make install fails when using shadowdir
          (after v9.1.1029)
Solution: also link in README.txt and LICENSE file

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-19 10:00:40 +01:00
Yegappan Lakshmanan
90b397586d patch 9.1.1035: Vim9: memory leak with blob2str()
Problem:  Vim9: memory leak with blob2str()
Solution: free converted_str (Yegappan Lakshmanan)

closes: #16481

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-19 09:37:07 +01:00
Christian Brabandt
2cb8246eb9 runtime(tex): add texEmphStyle to texMatchGroup in syntax script
fixes: #16228

Co-authored-by: Github User JordL
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 18:09:38 +01:00
Philip H.
c65bb2ea8e CI: bump windows python to 3.12
closes: #16473

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 17:38:12 +01:00
Luca Saccarola
d402ba81e2 runtime(netrw): upstream snapshot of v175
Relevant commits:
- release: netrw v175
- fix: prevent netrw to load into the built-in terminal
- fix: restore correctly cpo settings
- fix(docs): mispelled original authors name
- chore: move viml files to new formatting standard

fixes: #16463
closes: #16465

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 17:36:02 +01:00
rhysd
87f65f3857 CI: add Linux arm64 CI job
This patch adds jobs to run tests on arm64 GitHub Actions hosted runner
for tiny and huge features.

closes: #16477

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 17:33:31 +01:00
Ernie Rael
7c92e88894 patch 9.1.1033: Vim9: compiling abstract method fails without return
Problem:  Vim9: compiling abstract method fails without return
          (Aliaksei Budavei)
Solution: don't require return for an abstract method
          (Ernie Rael)

fixes: #15432
related: ##15441
closes: #16469

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 17:29:06 +01:00
Philip H.
fef4be0d7a CI: bump windows libsodium to 1.0.20
closes: #16475

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 17:20:13 +01:00
Doug Kearns
e06405181a runtime(c): add new constexpr keyword to syntax file (C23)
closes: #16471

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:52:27 +01:00
Christian Brabandt
1d2867df0c patch 9.1.1033: tests: shaderslang was removed from test_filetype erroneously
Problem:  tests: shaderslang was removed from test_filetype erroneously
          (Christian Clason, after v9.1.1030)
Solution: restore the test

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:49:08 +01:00
Yegappan Lakshmanan
b77c598487 patch 9.1.1032: link error when FEAT_SPELL not defined
Problem:  link error when FEAT_SPELL not defined
          (after v9.1.1016, John Marriott)
Solution: adjust ifdefs (Yegappan Lakshmanan)

closes: #16468

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:35:57 +01:00
Yegappan Lakshmanan
5e9aaedf52 patch 9.1.1031: Coverity complains about insecure data handling
Problem:  Coverity complains about insecure data handling
          (v9.1.1024)
Solution: use int consistently to access the blob index
          (Yegappan Lakshmanan)

related: #16468

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:29:46 +01:00
Eisuke Kawashima
54cb514c9a runtime(sh): update syntax script
- remove duplicated keywords
- add bash coproc and COPROC_PID keywords

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:11:28 +01:00
Doug Kearns
866f229591 runtime(c): Add missing syntax test files
These were missing from commit c2a967a.

closes: #16470

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:06:59 +01:00
Christian Brabandt
727c567a09 patch 9.1.1030: filetype: setting bash filetype is backwards incompatible
Problem:  filetype: setting bash filetype is backwards incompatible
Solution: revert patch v9.1.0965, detect bash scripts again as sh
          filetype

This reverts commit b9b762c21f.

related: #16309

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-18 10:03:46 +01:00
Doug Kearns
c2a967a1b9 runtime(c): Update syntax and ftplugin files
- highlight more C keywords, including some from C23

Conditionally highlight C23 features:
- #embed, #elifdef and #elifndef preprocessor directives
- predefined macros
- UTF-8 character constants
- binary integer constants, _BitInt literals, and digit separators
- nullptr_t type and associated constant
- decimal real floating-point, bit precise and char types
- typeof operators

Matchit:
- update for new preprocessor directives

fixes: #13667
fixes: #13679
closes: #12984

Co-authored-by: Albin Ahlbäck <albin.ahlback@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 14:12:16 +01:00
RestorerZ
2730d3873f patch 9.1.1029: the installer can be improved
Problem:  the installer can be improved
Solution: update the installer with the correct README and LICENSE
          files, improve the documentation, add a Makefile for the
          installer, update the Makefiles (RestorerZ)

fixes: #16378
closes: #16378

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 14:04:44 +01:00
John Marriott
c15de972e8 patch 9.1.1028: too many strlen() calls in screen.c
Problem:  too many strlen() calls in screen.c
Solution: refactor screen.c and remove calls to strlen(),
          verify that leadmultispace != NULL (John Marriott)

closes: #16460

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 13:54:49 +01:00
Jonathon
ca307efe48 patch 9.1.1027: no sanitize check when running linematch
Problem:  no sanitize check when running linematch
Solution: add sanitize check before applying the linematch algorithm,
          similar to diff_find_change() (Jonathon)

closes: #16446

Signed-off-by: Jonathon <jonathonwhite@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 13:37:35 +01:00
Marces Engel
3a738fccaa patch 9.1.1026: filetype: swc configuration files are not recognized
Problem:  filetype: swc configuration files are not recognized
Solution: detect .swcrc files as json filetype (Marces Engel)

References:
https://swc.rs/docs/configuration/swcrc

closes: #16462

Signed-off-by: Marces Engel <marces@facemurphy.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 13:10:15 +01:00
Luca Saccarola
9cfdabb074 runtime(netrw): change netrw maintainer
Dr. Chip retired some time ago and is no longer maintaining the netrw
plugin. However as a runtime plugin distributed by Vim, it important to
maintain the netrw plugin in the future and fix bugs as they are
reported.

So, split out the netrw plugin as an additional package, however include
some stubs to make sure the plugin is still loaded by default and the
documentation is accessible as well.

closes: #16368

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 13:03:53 +01:00
Yegappan Lakshmanan
166b1754a9 patch 9.1.1025: wrong return type of blob2str()
Problem:  wrong return type of blob2str()
Solution: update return to list of string
          (Yegappan Lakshmanan)

closes: #16461

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 11:48:12 +01:00
Yegappan Lakshmanan
a11b23c4d5 patch 9.1.1024: blob2str/str2blob() do not support list of strings
Problem:  blob2str/str2blob() do not support list of strings
          (after v9.1.1016)
Solution: Add support for using a list of strings (Yegappan Lakshmanan)

closes: #16459

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-16 19:16:42 +01:00
Christian Brabandt
a234a46651 runtime(doc): fix typo in usr_02.txt
fixes: #16455

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-16 19:12:48 +01:00
Christian Brabandt
a9f77be922 patch 9.1.1023: Coverity complains about dereferencing NULL pointer
Problem:  Coverity complains about dereferencing NULL pointer
Solution: Verify curdiff is not null before dereferencing it

closes: #16437

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-16 19:06:57 +01:00
Christian Brabandt
9162e636b3 patch 9.1.1022: linematch option value not completed
Problem:  linematch option value not completed
          (after v9.1.1009)
Solution: Update diffoption completion values

related: #9661
closes: #16437

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-16 19:03:40 +01:00
John Marriott
70dfc374ec patch 9.1.1021: string might be used without a trailing NUL
Problem:  string might be used without a trailing NUL (after v9.1.0997)
Solution: Make sure that the buffer is NUL terminated

closes: #16457

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-16 18:58:20 +01:00
glepnir
037b028a22 patch 9.1.1020: no way to get current selected item in a async context
Problem:  no way to get current selected item in a async context
Solution: add completed flag to show the entries of currently selected
          index item (@glepnir)

closes: #16451

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-16 14:37:44 +01:00
Wu, Zhenyu
3058087f6f patch 9.1.1019: filetype: fd ignore files are not recognized
Problem:  filetype: fd ignore files are not recognized
Solution: detect .fdignore files as gitignore filetype

closes: #16444

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-15 18:46:37 +01:00
Yukihiro Nakadaira
01f6509fb2 patch 9.1.1018: v9.1.0743 causes regression with diff mode
Problem:  v9.1.0743 causes regression with diff mode
Solution: Fix the regression with overlapping regions

closes: #16454

Signed-off-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-15 18:36:43 +01:00
Maxim Kim
6472e58365 runtime(doc): fix base64 encode/decode examples
Use str2blob()/blob2str() functions in examples given.

closes: #16449

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-15 18:31:28 +01:00
Yegappan Lakshmanan
9904cbca41 patch 9.1.1017: Vim9: Patch 9.1.1013 causes a few problems
Problem:  Vim9: Patch 9.1.1013 causes a few problems
Solution: Translate the function name only when it is a string
          (Yegappan Lakshmanan)

fixes: #16453
closes: #16450

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-15 18:25:19 +01:00
Yegappan Lakshmanan
1aefe1de0b patch 9.1.1016: Not possible to convert string2blob and blob2string
Problem:  Not possible to convert string2blob and blob2string
Solution: add support for the blob2str() and str2blob() functions

closes: #16373

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-14 17:29:42 +01:00
Christian Brabandt
1ac53b84ad patch 9.1.1015: Coverity complains about dereferencing NULL value
Problem:  Coverity complains about dereferencing NULL value
Solution: Check that cms2 is not null

closes: #16438

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-14 17:25:02 +01:00
Hirohito Higashi
57f0119358 patch 9.1.1014: Vim9: variable not found in transitive import
Problem:  Vim9: variable not found in transitive import
Solution: Allow nested import (Hirohito Higashi)

fixe: #16379
closes: #16440

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-14 17:21:42 +01:00
Maxim Kim
045564d0a7 runtime(colors): Update colorschemes, include new unokai colorscheme
- new unokai colorscheme (similar/inspired by monokai)
- the rest: add explicit PopupSelected link to PmenuSel

closes: #16443

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-14 17:15:59 +01:00
Yegappan Lakshmanan
6289f91591 patch 9.1.1013: Vim9: Regression caused by patch v9.1.0646
Problem:  Vim9: Regression caused by patch v9.1.0646
Solution: Translate the function name before invoking it in call()
          (Yegappan Lakshmanan)

fixes: #16430
closes: #16445

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-14 17:13:36 +01:00
Denilson Sá Maia
30377e0fe0 runtime(lyrics): support milliseconds in syntax script
The following tool creates LRC files using three fractional digits after
the seconds (i.e. milliseconds).

References:
https://github.com/magic-akari/lrc-maker
https://lrc-maker.github.io/

closes: #16436

Signed-off-by: Denilson Sá Maia <denilsonsa@gmail.com>
Signed-off-by: ObserverOfTime <chronobserver@disroot.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-13 08:23:24 +01:00
Doug Kearns
221c53202d runtime(vim): Split Vim legacy and Vim9 script indent tests
The indent test file is not highlighted correctly as it's currently a
syntactically erroneous mix of legacy and Vim9 script.  This is causing
spurious indent test failures as the indent script relies on syntax ID
tests to determine the context of lines being processed.

Splitting the tests into legacy and Vim9 specific files allows for
correct syntax highlighting and indenting.

closes: #16431

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-13 07:54:33 +01:00
Yegappan Lakshmanan
8e92db4ea2 patch 9.1.1012: Vim9: class interface inheritance not correctly working
Problem:  Vim9: class interface inheritance not correctly working
Solution: make the class inherit the interfaces of the super class

fixes: #16395
closes: #16412

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-13 07:30:11 +01:00
zeertzjq
3a0cc36c69 patch 9.1.1011: popupmenu internal error with some abbr in completion item
Problem:  Popup menu internal error with some abbr in completion item.
Solution: Don't compute attributes when there is no corresponding text.
          Reduce indent in pum_redraw() while at it (zeertzjq).

fixes: #16427
closes: #16435

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-13 07:27:43 +01:00
Konfekt
c200f53cbb patch 9.1.1010: filetype: VisualCode setting file not recognized
Problem:  filetype: VisualCode setting file not recognized
Solution: detect json files in VSCode config directory as jsonc filetype
          (Konfekt)

closes: #16400

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-12 20:02:04 +01:00
Jonathon
7c7a4e6d1a patch 9.1.1009: diff feature can be improved
Problem:  diff feature can be improved
Solution: include the linematch diff alignment algorithm
          (Jonathon)

closes: #9661

Signed-off-by: Jonathon <jonathonwhite@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-12 09:58:00 +01:00
zeertzjq
faf250c9e4 patch 9.1.1008: tests: test for patch 9.1.1006 doesn't fail without the patch
Problem:  tests: test for patch 9.1.1006 doesn't fail without the patch
          (after v9.1.1006)
Solution: Add ctermbg=NONE to the highlight groups (zeertzjq).

closes: #16425

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-12 09:32:27 +01:00
Wu, Zhenyu
8cbe2e0a0a patch 9.1.1007: filetype: various ignore are not recognized
Problem:  filetype: various ignore are not recognized
Solution: detect rg/docker/npm/vvsce ignore files as 'gitgnore' filetype
          (Wu, Zhenyu)

Not only prettier, but many programs also support ignore files (like rg,
docker, npm, vscode). So use the gitignore filetype for them due to same syntax

closes: #16428

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-12 09:27:01 +01:00
Aliaksei Budavei
5eaacef18e tests: Load screendump files with "git vimdumps"
Also, fold the difference part and the bottom part for the
identical screendump files.

closes: #16380

Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 17:12:04 +01:00
glepnir
9eff3ee818 patch 9.1.1006: PmenuMatch completion highlight can be combined
Problem:  PmenuMatch completion highlight can be combined
Solution: Combine highlight groups PmenuMatch with Pmenu and
          PmenuMatchSel with PmenuSel (glepnir)

fixes: #15563
closes: #16408

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 16:47:34 +01:00
glepnir
9fddb8ae77 patch 9.1.1005: completion text is highlighted even with no pattern found
Problem:  completion text is highlighted even with no pattern found
Solution: use ins_compl_leader_len() instead of checking
          compl_leader.length (glepnir)

closes: #16422

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 16:42:50 +01:00
Christian Brabandt
ebb08d5913 patch 9.1.1004: tests: a few termdebug tests are flaky
Problem:  tests: a few termdebug tests are flaky; test_termdebug_basic()
          and test_termdebug_config_types() may fail if there is too
          much load
Solution: Set g:test_is_flaky

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 15:43:12 +01:00
Christian Brabandt
c9a1e257f1 patch 9.1.1003: [security]: heap-buffer-overflow with visual mode
Problem:  [security]: heap-buffer-overflow with visual mode when
          using :all, causing Vim trying to access beyond end-of-line
          (gandalf)
Solution: Reset visual mode on :all, validate position in gchar_pos()
          and charwise_block_prep()

This fixes CVE-2025-22134

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-5rgf-26wj-48v8

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 15:25:00 +01:00
Christian Brabandt
9598a6369b runtime(doc): add package-<name> helptags for included packages
Improve how to find the justify package

closes: #16420

Co-authored-by: Peter Benjamin <petermbenjamin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 10:14:24 +01:00
Yegappan Lakshmanan
c10342da44 patch 9.1.1002: Vim9: unknown func error with interface declaring func var
Problem:  Vim9: unknown function error with interface declaring a
          function variable (lifepillar)
Solution: Use correct instruction for getting interface member variables
          (Yegappan Lakshmanan)

fixes: #16345
closes: #16421

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 09:39:01 +01:00
Christian Brabandt
668e9f2403 runtime(filetype): don't detect string interpolation as angular
fixes: #16375

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-11 09:20:55 +01:00
glepnir
ad409876d9 patch 9.1.1001: ComplMatchIns highlight hard to read on light background
Problem:  ComplMatchIns highlight hard to read on light background
          (after v9.1.0996)
Solution: define the highlighting group cleared, it should be configured in
          colorschemes separately (glepnir)

closes: #16414

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-10 20:08:20 +01:00
Doug Kearns
695522dea3 runtime(vim): Update base-syntax, highlight literal string quote escape
Match the '' escape sequence in literal strings.  These were previously
ending the current string and starting another concatenated literal
string.

closes: #16415

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2025-01-10 20:02:17 +01:00
Yochem van Rosmalen
51754c8a49 runtime(editorconfig): set omnifunc to syntaxcomplete func
closes: #16419

Signed-off-by: Yochem van Rosmalen <git@yochem.nl>
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-10 19:54:13 +01:00
Yee Cheng Chin
ebea31e454 patch 9.1.1000: tests: ruby tests fail with Ruby 3.4
Problem:  tests: ruby tests fail with Ruby 3.4
Solution: adjust expected output for Ruby 3.4
          (Yee Cheng Chin)

Vim's Ruby tests relied on explicit matching of output texts which are
fragile in design. Ruby 3.4 has changed the output slightly (using
'name' instead of `name', and also using more spaces in dictionary
printouts). Modify the Vim tests to be less fragile to such changes.

closes: #16411

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-09 22:23:29 +01:00
Yee Cheng Chin
2051af1642 patch 9.1.0999: Vim9: leaking finished exception
Problem:  leaking finished exception
          (after v9.1.0984)
Solution: use finish_exception to clean up caught exceptions
          (Yee Cheng Chin)

In Vimscript, v:exception/throwpoint/stacktrace are supposed to reflect
the currently caught exception, and be popped after the exception is
finished (via endtry, finally, or a thrown exception inside catch).
Vim9script does not handle this properly, and leaks them instead. This
is clearly visible when launching GVim with menu enabled.  A caught
exception inside the s:BMShow() in menu.vim would show up when querying
`v:stacktrace` even though the exception was already caught and handled.

To fix this, just use the same functionality as Vimscript by calling
`finish_exception` to properly restore the states. Note that this
assumes `current_exception` is always the same as `caught_stack` which
believe should be the case.

Added tests for this. Also fix up test_stacktrace to properly test the
stack restore behavior where we have nested exceptions in catch blocks
and to also test the vim9script functionality properly.

- Also, remove its dependency on explicitly checking a line number in
  runtest.vim which is a very fragile way to write tests as any minor
  change in runtest.vim (shared among all tests) would require changing
  test_stacktrace.vim. We don't actually need such granularity in the
  test.

closes: #16413

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-09 22:14:34 +01:00
Wu, Zhenyu
df4a7d7617 runtime(tiasm): use correct syntax name tiasm in syntax script
closes: #16416

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-09 22:09:16 +01:00
Wu, Zhenyu
4f73c07abf patch 9.1.0998: filetype: TI assembly files are not recognized
Problem:  filetype: TI assembly files are not recognized
Solution: inspect '*.sa' and assembly files and detect TI assembly
          files, include filetype plugin and syntax script for TI
          assembly files (Wu, Zhenyu)

closes: #15827

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-08 20:26:38 +01:00
John Marriott
a21240b97d patch 9.1.0997: too many strlen() calls in drawscreen.c
Problem:  too many strlen() calls in drawscreen.c
Solution: refactor drawscreen.c and remove calls to strlen(),
          make get_keymap_str() (in screen.c) return string length
          instead of TRUE/FALSE (John Marriott).

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-08 20:10:59 +01:00
Jan-Arvid Harrach
8ab1819df6 runtime(xf86conf): add section name OutputClass to syntax script
References:
https://man.archlinux.org/man/xorg.conf.5#DESCRIPTION

closes: #16397

Signed-off-by: Jan-Arvid Harrach <jharrach@tutanota.com>
2025-01-08 20:05:05 +01:00
glepnir
e890887b80 patch 9.1.0996: ComplMatchIns may highlight wrong text
Problem:  ComplMatchIns may highlight wrong text
Solution: don't highlight in case of fuzzy match,
          skip-highlight when not inserting anything
          (glepnir)

closes: #16404

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-08 18:30:45 +01:00
Doug Kearns
1718e7d07e runtime(vim): Update base-syntax, improve ex-bang matching
Always match ex-bang explicitly rather than incidentally as the ! operator.

fixes: #16221
closes: #16410

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-08 18:20:47 +01:00
Christian Brabandt
1f045f324d runtime(doc): clarify buffer deletion on popup_close()
Reported-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-08 14:09:02 +01:00
Philip H.
e0424b3348 CI: drop setup of snd-dummy module
Apparently even when loading the snd-dummy kernel module, the
CI tests for the sounds feature in test_sound.vim are already skipped.

So let's just remove all of this (even so we may loose a bit of coverage
information here).

closes: #16391

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-07 20:43:29 +01:00
mtvare6
616219f684 patch 9.1.0995: filetype: shaderslang files are not detected
Problem:  filetype: shaderslang files are not detected
Solution: detect '*.slang' files as shaderslang filetype,
          include a filetype and syntax script (mtvare6)

Reference:
https://shader-slang.com/

closes: #16387

Signed-off-by: mtvare6 <mtvare6@proton.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-07 20:31:27 +01:00
Yegappan Lakshmanan
0072ceedc6 patch 9.1.0994: Vim9: not able to use comment after opening curly brace
Problem:  Vim9: not able to use comment after opening curly brace
          (lifepillar)
Solution: allow to use comments after curly braces of an inner-block,
          modify the logic to search for comment in a line, update Vim9
          tests to use specific class type instead of any
          (Yegappan Lakshmanan)

fixes: #16363
closes: #16405

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-07 20:22:32 +01:00
Luuk van Baal
c97e869535 patch 9.1.0993: New 'cmdheight' behavior may be surprising
Problem:  Although patch 9.1.0990 fixed a real problem/inconsistency,
          it also introduced new behavior that may break BWC and/or be
          unexpected. Before 9.1.0990, window commands could make the
          topframe smaller (without changing 'cmdheight'; quirk that is
          now fixed), but did not allow extending the topframe beyond
          the 'cmdheight' set by the user. After 9.1.0990, the user can
          reduce the 'cmdheight' below the value they set explicitly,
          through window commands, which may lead to confusion.
          (aftere v9.1.0990)
Solution: Store the value explicitly set by the user and clamp the
          'cmdheight' when resizing the topframe. This also applies to
          dragging laststatus, which in contrast to window commands
          _did_ allow reducing the 'cmdheight' to values below the one
          set by the user. So with this patch there is still new
          behavior, but I think in a way that is less surprising.
          While at it, also fix a Coverity warning, introduced in
          v9.1.0990 (Luuk van Baal)

closes: #16385

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-06 18:58:21 +01:00
Christian Brabandt
3159b6494e runtime(sh): fix typo in Last Change header
related: #16394

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-06 18:50:15 +01:00
Yegappan Lakshmanan
2050dcc20f patch 9.1.0992: Vim9: double-free after v9.1.0988
Problem:  Vim9: double-free after v9.1.0988
          (h-east)
Solution: clear typval pointer, before setting the type
          (Yegappan Lakshmanan)

Otherwise the contents are still referring to some other value.

fixes: #16386
closes: #16388

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-06 18:34:49 +01:00
zeertzjq
6655bef330 patch 9.1.0991: v:stacktrace has wrong type in Vim9 script
Problem:  v:stacktrace has wrong type in Vim9 script.
Solution: Change the type to t_list_dict_any.  Fix grammar in docs.
          (zeertzjq)

closes: #16390

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-06 18:32:13 +01:00
Jon Parise
cf1f55548d runtime(sh): add PS0 to bashSpecialVariables in syntax script
PS0 is also a special prompt variable. (It is expanded and displayed
after it reads a command but before executing it.)

References:
https://www.gnu.org/software/bash/manual/html_node/Interactive-Shell-Behavior.html

closes: #16394

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-06 18:27:38 +01:00
Doug Kearns
7ceaa8f3dd runtime(vim): Remove trailing comma from match_words
fixes: #16377 (`filetype plugin indent on` breaks matchit).
closes: #16389

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-06 18:12:11 +01:00
Christian Brabandt
202ebc6ced runtime(zsh): sync syntax script with upstream repo
fixes: #16371

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-05 16:36:40 +01:00
Doug Kearns
8a27d97848 runtime(doc): Capitalise the mnemonic "Zero" for the 'z' flag of search()
closes: #16384

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-05 15:56:57 +01:00
Luuk van Baal
e15cbc1af4 patch 9.1.0990: Inconsistent behavior when changing cmdheight
Problem:  Inconsistent behavior when changing cmdheight by resizing the
          topframe through wincmds and dragging laststatus. Changing
	  cmdheight by resizing the topframe does not trigger OptionSet.
Solution: Consolidate logic for changing the cmdheight, set the option
	  value to handle side-effects (Luuk van Baal)

closes: #16359

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-04 17:18:08 +01:00
Doug Kearns
dbe39edb29 patch 9.1.0989: Vim9: Whitespace after the final enum value causes a syntax error
Problem:  Vim9: Whitespace after the final enum value causes a syntax
          error
Solution: Fix parsing to allow whitespace after the final enum value.
          (Doug Kearns)

closes: #16383

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-01-04 17:12:24 +01:00
Aliaksei Budavei
cd96075cde runtime(java): Quietly opt out for unsupported markdown.vim versions
fixes #16349
closes: #16369

Signed-off-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 17:38:14 +01:00
h-east
6139766e82 runtime(vim): fix failing vim syntax test
after v9.1.0985

related: #16356

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 17:32:54 +01:00
Yegappan Lakshmanan
b04af4cc96 patch 9.1.0988: Vim9: no error when using uninitialized var in new()
Problem:  Vim9: no error when using uninitialized var in new()
          (lifepillar, Aliaksei Budavei)
Solution: Give an error if an uninitialized object variable is referenced
          in new() (Yegappan Lakshmanan)

fixes: #14411
fixes: #16344
closes: #16374

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:50:08 +01:00
h-east
27f2e473e1 runtime(doc): update index.txt
related: #16357
closes: #16372

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:45:15 +01:00
Zoe Roux
a407573f30 patch 9.1.0987: filetype: cake files are not recognized
Problem:  filetype: cake files are not recognized
Solution: detect '*.cake' files as cs filetype
          (Zoe Roux)

References:
https://cakebuild.net/

closes: #16367

Signed-off-by: Zoe Roux <zoe.roux@zoriya.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:40:31 +01:00
Gregory Anders
58c44e8833 patch 9.1.0986: filetype: 'jj' filetype is a bit imprecise
Problem:  filetype: 'jj' filetype is a bit imprecise
Solution: rename 'jj' filetype to 'jjdescription'
          (Gregory Anders)

closes: #16364

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:35:35 +01:00
Gregory Anders
bde76da4d0 runtime(jj): Support diffs in jj syntax
related: #16364

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:34:24 +01:00
Doug Kearns
fc61cfd60e runtime(vim): Update matchit pattern, no Vim9 short names
Abbreviated :enum and :interface commands are no longer supported.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:28:09 +01:00
h-east
aa979c763d patch 9.1.0985: Vim9: some ex commands can be shortened
Problem:  Vim9: some ex commands can be shortened
Solution: disallow shortening of :abstract, :interface and :type
          (h-east)

closes: #16356

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-03 10:19:45 +01:00
ichizok
663d18d610 patch 9.1.0984: exception handling can be improved
Problem:  exception handling can be improved
Solution: add v:stacktrace and getstacktrace()

closes: #16360

Co-authored-by: Naruhiko Nishino <naru123456789@gmail.com>
Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-02 18:06:00 +01:00
h-east
fd771613b3 runtime(doc): update doc for :horizontal
Revert the documentation for :horizontal from commit
0c3e57b403 because :horizontal cannot be shortened to :ho

closes: #16362

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-02 17:34:55 +01:00
h-east
0c3e57b403 runtime(doc): update index.txt, windows.txt and version9.txt
closes: #16357

Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-02 11:00:49 +01:00
h-east
e80f345b5d runtime(doc): Tweak documentation about base64 function
closes: #16353

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-02 10:42:07 +01:00
nibo
8dc98bf427 runtime(chordpro): update syntax script
References:
https://chordpro.org/beta/directives-define/#defining-chords-for-keyboard-instruments

Signed-off-by: nibo <nibo@relim.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-31 11:24:46 +01:00
glepnir
d4088edae2 patch 9.1.0983: not able to get the displayed items in complete_info()
Problem:  not able to get the displayed items in complete_info()
          (Evgeni Chasnovski)
Solution: return the visible items via the "matches" key for
          complete_info() (glepnir)

fixes: #10007
closes: #16307

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-31 10:58:30 +01:00
Andrea Pappacoda
34e271b321 runtime(doc): use standard SGR format at :h xterm-true-color
By default, Vim uses the non-standard, but widely supported, legacy
xterm/Konsole format for setting "direct colors" with set setaf and
setbf escape codes, which use semicolons as separators.

The documentation for xterm-true-color mentions that, as an alternative,
users can set alternative sequences that use colons instead of
semicolons. This format, though, isn't standard and it is unclear how
widely supported it is; it was added by xterm patch 282 due to a
misinterpretation of the ISO 8613-6 (ITU T.416) standard, and was later
changed to the format suggested by this patch, which is the one
specified in the standard.

Today, looking at ncurses' [terminfo], it seems that all terminal
emulators use either the standard format (named "xterm+direct" in the
terminfo source) or the legacy format (named "xterm+indirect" in the
terminfo source).

Hence, I believe it makes sense to align the docs with reality.

If you're interested in the story of this escape sequence, I'd recommend
reading
<https://invisible-island.net/ncurses/ncurses.faq.html#xterm_16MegaColors>.

[terminfo]: https://invisible-island.net/ncurses/terminfo.ti.html

closes: #16350

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Andrea Pappacoda <andrea@pappacoda.it>
2024-12-31 10:46:22 +01:00
Wu, Zhenyu
39a4eb0b2c patch 9.1.0982: TI linker files are not recognized
Problem:  TI linker files are not recognized
Solution: inspect '*.cmd' files and detect TI linker files
          as 'lnk' filetype, include a lnk ftplugin and syntax
          script (Wu, Zhenyu)

closes: #16320

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-31 10:25:44 +01:00
h-east
f27e80a6e1 runtime(vim): update vim generator syntax script
* include the base64* functions
* allow to shorten finally

closes: #16346

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 15:40:24 +01:00
Wu, Zhenyu
2bee7e43e1 patch 9.1.0981: tests: typo in test_filetype.vim
Problem:  tests: typo in test_filetype.vim
Solution: fix comment, update lnkmap syntax file and add
          DESCT keyword
          (Wu, Zhenyu)

closes: #16348

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 15:36:37 +01:00
Yegappan Lakshmanan
810785c689 patch 9.1.0980: no support for base64 en-/decoding functions in Vim Script
Problem:  no support for base64 en-/decoding functions in Vim Script
          (networkhermit)
Solution: Add the base64_encode() and base64_decode() functions
          (Yegappan Lakshmanan)

fixes: #16291
closes: #16330

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 10:32:35 +01:00
Aliaksei Budavei
48fa3198b7 syntax(sh): Improve the recognition of bracket expressions
- Define a general non-"contained" "shBracketExpr" group,
  and replace with it the "contained" bracket variant of
  "shOperator", adjusting the patterns for the competing
  conditional commands "[" and "[[".
- Accommodate some unbalanced brackets (e.g. "[!][!]").
- Make the leading "!" (or "^") stand out in NON-matching
  bracket expressions.
- Support literal newlines in parametric patterns (along
  with pathname globbings and "case" patterns).
- Also match bracket expressions in:
  * parametric patterns (e.g. "${1#[ab]_}");
  * pathname globbings (e.g. "[ab]*.txt");
  * arguments for the "[[", "echo", and "print" commands.
- Recognise collating symbols (e.g. "[.a.]") and equivalence
  classes (e.g. "[=a=]").
- Recognise end patterns for a pattern substitution form of
  parameter expansion and match bracket expressions in such
  patterns (e.g. "${1/%[.!]/;}").

fixes #15799
closes: #15941

References:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap09.html#tag_09_03_05
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_14
https://git.savannah.gnu.org/gitweb/?p=bash.git;a=blob_plain;f=doc/bash.html;hb=37b7e91d64ad10b1a1815d12128c9475636df670
http://www.mirbsd.org/htman/i386/man1/mksh.htm

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 10:23:50 +01:00
Christian Brabandt
6de7191c31 runtime(doc): mention how NUL bytes are handled
fixes: #16326

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 10:20:17 +01:00
Christian Brabandt
80ed8b8761 patch 9.1.0979: VMS: type warning with $XDG_VIMRC_FILE
Problem:  VMS: type warning with $XDG_VIMRC_FILE
          (Zoltan Arpadffy)
Solution: add explicit (char_u *) type cast to mch_getenv() call

fixes: #16335

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 10:10:01 +01:00
Christian Brabandt
2e1f757f7b patch 9.1.0978: GUI tests sometimes fail when setting 'scroll' options
Problem:  GUI tests sometimes fail when setting 'scroll' options
Solution: decrease the 'scroll' and 'scrolljump' option value from 20 to
          15, in case the Gui window is not large enough to handle 20.

tests: decrease the scroll and scrolljump values

the gui tests sometimes fail with:

```
From test_options_all.vim:
Found errors in Test_opt_set_scroll():
Caught exception in Test_opt_set_scroll(): Vim(set):E49: Invalid scroll size: scroll=20 @ command line..script /home/runner/work/vim/vim/src/testdir/runtest.vim[617]..function RunTheTest[57]..Test_opt_set_scroll, line 7
Found errors in Test_opt_set_scrolljump():
Caught exception in Test_opt_set_scrolljump(): Vim(set):E49: Invalid scroll size: scrolljump=20 @ command line..script /home/runner/work/vim/vim/src/testdir/runtest.vim[617]..function RunTheTest[57]..Test_opt_set_scrolljump, line 9
```

closes: #16337

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 10:05:49 +01:00
GustavEikaas
32b7e3a8c9 patch 9.1.0977: filetype: msbuild filetypes are not recognized
Problem:  filetype: msbuild filetypes are not recognized
Solution: detect msbuild files as xml filetype
          (Gustav Eikaas)

closes: #16339

Signed-off-by: GustavEikaas <gustav.eikaas@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 10:01:36 +01:00
Yegappan Lakshmanan
ab9a8947d7 patch 9.1.0976: Vim9: missing return statement with throw
Problem:  Vim9: missing return statement with throw
          (atitcreate)
Solution: Treat a throw statement at the end of an if-else block as a
          return statement (Yegappan Lakshmanan)

fixes: #16312
closes: #16338

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 09:56:34 +01:00
Yegappan Lakshmanan
b0206e9fb5 patch 9.1.0975: Vim9: interpolated string expr not working in object methods
Problem:  Vim9: interpolated string expr not working in object methods
          (Igbanam Ogbuluijah)
Solution: Check the evalarg argument (Yegappan Lakshmanan)

fixes: #16317
closes: #16342

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 09:52:16 +01:00
John Marriott
df4b3ca5dc patch 9.1.0974: typo in change of commit v9.1.0873
Problem:  typo in change of commit v9.1.0873
          (Christ van Willegen)
Solution: Add back the square brackets
          (John Marriott)

closes: #16340

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-30 09:48:06 +01:00
John Marriott
14ede1890f patch 9.1.0973: too many strlen() calls in fileio.c
Problem:  too many strlen() calls in fileio.c
Solution: refactor fileio.c and remove calls to STRLEN(),
          check for out-of-memory condition in buf_check_timestamp()
          (John Marriott)

closes: #16306

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 16:18:23 +01:00
Luca Saccarola
df67fc0e69 runtime(sh): set shellcheck as the compiler for supported shells
closes: #16311

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 15:36:42 +01:00
Doug Kearns
49a35f67eb runtime(doc): Fix enum example syntax
An ex-colon is not allowed before endenum.  As no other examples in the
file use an ex-colon remove them both.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 15:33:12 +01:00
Wu, Zhenyu
5113831d16 patch 9.1.0972: filetype: TI linker map files are not recognized
Problem:  filetype: TI linker map files are not recognized
Solution: detect TI linker map files as lnkmap filetype
          (Wu, Zhenyu)

References:
https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html

closes: #16324

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 15:28:46 +01:00
h-east
f0ab3e4e41 runtime(vim): Improve syntax script generator for Vim Script
closes: #16331

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 15:14:37 +01:00
GustavEikaas
3b3318b640 patch 9.1.0971: filetype: SLNX files are not recognized
Problem:  filetype: SLNX files are not recognized
Solution: detect '*.slnx' files as xml filetype
          (Gustav Eikaas)

References:
https://blog.ndepend.com/slnx-the-new-net-solution-xml-file-format/
https://blog.jetbrains.com/dotnet/2024/10/04/support-for-slnx-solution-files/

closes: #16334

Signed-off-by: GustavEikaas <gustav.eikaas@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 15:08:49 +01:00
Zoltan Arpadffy
7b12ac3ad8 patch 9.1.0970: VMS: build errors on VMS architecture
Problem:  VMS: build errors on VMS architecture
Solution: define cellsize struct, use C89 to initialize lval_root_S
          struct (Zoltan Arpadffy)

* define struct cellsize for VMS
* ensures the code adheres to the C89 standard

closes: #16328

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 09:50:20 +01:00
h-east
f2e08a1e54 runtime(doc): Fix documentation typos
closes: #16333

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-29 09:46:03 +01:00
Christian Brabandt
f6ba8defc6 runtime(doc): update for new keyprotocol option value (after v9.1.0969)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-28 17:15:05 +01:00
Christian Brabandt
231b4fc3cc patch 9.1.0969: ghostty not using kitty protocol by default
Problem:  ghostty not using kitty protocol by default (00-kat)
Solution: update keyprotocol option default and include ghostty

fixes: #16318
closes: #16323

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-28 16:27:49 +01:00
zeertzjq
e51043ad9f patch 9.1.0968: tests: GetFileNameChecks() isn't fully sorted by filetype name
Problem:  tests: GetFileNameChecks() isn't fully sorted by filetype name
Solution: re-sort the list

closes: #16322

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-28 16:24:30 +01:00
Christian Brabandt
223d6c0a94 runtime(doc): update version9.txt for bash filetype
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-28 16:20:53 +01:00
Christian Brabandt
7b239f6d47 runtime(netrw): update last change header for #16265
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-28 14:08:38 +01:00
Martino Ischia
e6ccb643a6 runtime(doc): fix doc error in :r behaviour
closes: #16316

Signed-off-by: Martino Ischia <ischiamartino@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-28 10:19:26 +01:00
Aliaksei Budavei
2e252474c4 patch 9.1.0967: SpotBugs compiler setup can be further improved
Problem:  SpotBugs compiler can be further improved
Solution: Introduce event-driven primitives for SpotBugs
          (Aliaksei Budavei)

closes: #16258

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-27 16:47:44 +01:00
h-east
b7f19a5459 patch 9.1.0966: Vim9: :enum command can be shortened
Problem:  Vim9: :enum command can be shortened
Solution: prevent shortening of :enum command by adding the EX_WHOLE
          flag to command definition (h-east)

closes: #16305

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-27 16:25:32 +01:00
Konfekt
6c57c30ad4 runtime(compiler): include a basic bash syntax checker compiler
See @saccarosium 's suggestion at
https://github.com/vim/vim/pull/16311#issuecomment-2563447885

closes: #16314

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-27 16:22:44 +01:00
Luca Saccarola
b9b762c21f patch 9.1.0965: filetype: sh filetype set when detecting the use of bash
Problem:  filetype: sh filetype set when detecting the use of bash
Solution: when bash is detected, use 'bash' filetype instead
          (Luca Saccarola)

closes: #16309

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-27 16:08:14 +01:00
Christian Brabandt
0a3b9fb5c2 runtime(doc): clarify ARCH value for 32-bit in INSTALLpc.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-27 15:51:09 +01:00
Andrey A. Voropaev
157397edff patch 9.1.0964: MS-Windows: sed error with MinGW
Problem:  MS-Windows: sed error with MinGW
Solution: use double quotes for sed, update compilation notes
          (Andrey A Voropaev)

closes: #16304

Signed-off-by: Andrey A. Voropaev <voropaev.andrey@swm.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 15:59:06 +01:00
glepnir
5a04999a74 patch 9.1.0963: fuzzy-matching does not prefer full match
Problem:  fuzzy-matching does not prefer full match
          (Maxim Kim)
Solution: add additional score for a full match
          (glepnir)

fixes: #15654
closes: #16300

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 15:46:56 +01:00
Anton Kastritskii
f07ae5b3bd patch 9.1.0962: filetype: bun.lock file is not recognized
Problem:  filetype: bun.lock file is not recognized
Solution: detect 'bun.lock' file as jsonc filetype
          (Anton Kastritskii)

closes: #16308

Signed-off-by: Anton Kastritskii <halloy52@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 15:16:12 +01:00
Jim Zhou
6d2efd4920 runtime(vim): update indentation plugin for Vim script
Make the indent script aware of enums and ensure those will be correctly
indented.

fixes: #16289
closes: #16293

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Jim Zhou <csd_189@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 10:36:56 +01:00
h-east
b9ea0a89fa runtime(doc): tweak documentation style in helphelp.txt
closes: #16302

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 10:22:46 +01:00
Doug Kearns
9b67a2e1dd runtime(vim): Update base-syntax, allow parens in default arguments
Allow parentheses in default arguments specified in :def and :function
definitions.

fixes #16243
closes: #16269

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 10:13:45 +01:00
Christian Brabandt
de6a313014 runtime(doc): mention auto-format using clang-format for sound.c/sign.c
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 18:03:09 +01:00
Christian Brabandt
ae01b96004 runtime(help): fix typo s/additional/arbitrary/
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 17:52:12 +01:00
Shougo Matsushita
5ddcecf05f runtime(help): Add better support for language annotation highlighting
closes: #16238

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: h_east <h.east.727@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:55:48 +01:00
Wu, Zhenyu
9360de9027 patch 9.1.0961: filetype: TI gel files are not recognized
Problem:  filetype: TI gel files are not recognized
Solution: detect '*.gel' files as gel filetype, include
          get filetype and syntax plugins
          (Wu, Zhenyu)

References:
https://downloads.ti.com/ccs/esd/documents/users_guide/ccs_debug-gel.html

closes: #16226

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:40:25 +01:00
Wu, Zhenyu
a32daed559 patch 9.1.0960: filetype: hy history files are not recognized
Problem:  filetype: hy history files are not recognized
Solution: detect '*.hy', '.hy-history' files as hy filetype,
          detect '.lips_repl_history' files are scheme filetype
          (Wu, Zhenyu)

closes: #16298

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:33:57 +01:00
Fredrik
b6ab33bdb2 translation(fi): Fix typoes in Finish menu translation
fixes: #16285
closes: #16286

Signed-off-by: Fredrik <fredrik.oljemark@helsinki.fi>
Signed-off-by: Flammie A Pirinen <flammie@iki.fi>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:28:29 +01:00
Yegappan Lakshmanan
00d3459ea6 patch 9.1.0959: Coverity complains about type conversion
Problem:  Coverity complains about type conversion
          (after v9.1.0957)
Solution: use size_t instead of int for file length
          (Yegappan Lakshmanan)

closes: #16297

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:20:51 +01:00
Aliaksei Budavei
9739086de2 runtime(vim): Use supported syntax in indent tests
For now, prefer mis-indentation of enum values (see #16289)
rather than invalid syntax.

Related to #13670 and #14224.

closes: #16292

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:18:15 +01:00
Wu, Zhenyu
e62d93ead1 patch 9.1.0958: filetype: supertux2 config files detected as lisp
Problem:  filetype: supertux2 config files detected as lisp
Solution: detect supertux2 config files as scheme instead
          (Wu, Zhenyu)

References:
https://github.com/SuperTux/supertux/wiki/S-Expression

supertux uses #t and #f as bool type, which is same as scheme, not
common lisp

closes: #16287

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-24 09:54:27 +01:00
Yegappan Lakshmanan
084529c03d patch 9.1.0957: MS-Windows: conversion warnings
Problem:  MS-Windows: conversion warnings
Solution: add explicit type casts (Yegappan Lakshmanan)

closes: #16288

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-24 09:50:01 +01:00
glepnir
8d0bb6dc9f patch 9.1.0956: completion may crash, completion highlight wrong with preview window
Problem:  completion may crash, completion highlight wrong with preview
          window (after v9.1.0954)
Solution: correctly calculate scroll offset, check for preview window
          when adding extra highlighting
          (glepnir)

when there have a preview window prepare_tagpreview
will change curwin to preview window and this may cause
ComplMatchIns check condition not correct. check wp is curwin
and also the type of wp is not a preview or poup info

fixes: #16284
closes: #16283

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-24 09:44:35 +01:00
Yegappan Lakshmanan
f07c10d7bb patch 9.1.0955: Vim9: vim9compile.c can be further improved
Problem:  Vim9: vim9compile.c can be further improved
Solution: refactor the compile_def_function
          (Yegappan Lakshmanan)

closes: #16280

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-23 10:15:08 +01:00
h-east
08be9ddc85 runtime(doc): move help tag E1182
closes: #16279

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-23 10:11:25 +01:00
Jon Parise
4ce1cb5bf1 runtime(graphql): contribute vim-graphql to Vim core
Contribute the core of my vim-graphql project (ftplugin, indent, syntax)
to the Vim project. This replaces the basic ftplugin support that was
already in the runtime with a more complete set of filetype settings. I
can assume maintainership for all of these files.

I'll continue to maintain the higher-level embedded filetype support
separately (in vim-graphql) for now, because it's fairly complex, but we
can consider integrating that code directly into vim later.

runtime files use the MIT license.

closes: #16273

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-23 09:57:42 +01:00
glepnir
89a107efd1 patch 9.1.0954: popupmenu.c can be improved
Problem:  popupmenu.c can be improved
Solution: slightly refactor the logic
          (glepnir)

closes: #16271

Replace some if blocks and combine user attr abstract to an inline
function.

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-22 15:16:40 +01:00
Hugo Osvaldo Barrera' via vim_dev
7cb24917a1 patch 9.1.0953: filetype: APKBUILD files not correctly detected
Problem:  filetype: APKBUILD files not correctly detected
Solution: detect 'APKBUILD' files as apkbuild filetype,
          include a apkbuild syntax script (which basically
          just sources the sh.vim syntax file)
          (Hugo Osvaldo Barrera)

Vim plugins (e.g.: ALE, nvim-lspconfig, etc) rely on filetype to
determine which integrations/helpers are applicable. They expect
filetype=apkbuild for APKBUILD files.

On the other hand, plugins also enable bash-specific linters and
functionality when filetype=bash, but APKBUILD files are POSIX sh, not
bash, so these often provide bogus results.

Change the filetype for APKBUILD to a 'apkbuild', so that tools and
ftplugin can properly target these files. This filetype will use the
existing `sh` syntax rules, since these are applicable for them.

Signed-off-by: Hugo Osvaldo Barrera' via vim_dev <vim_dev@googlegroups.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-22 15:11:50 +01:00
Yegappan Lakshmanan
92195ae72f patch 9.1.0952: Vim9: missing type checking for any type assignment
Problem:  Vim9: missing type checking for any type assignment
          (Ernie Rael)
Solution: when assigning to a list item, if the type of the LHS item is
          any, then use the list item type (Yegappan Lakshmanan)

fixes: #15208
closes: #16274

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-22 14:44:35 +01:00
Konfekt
62e3014ab1 patch 9.1.0951: filetype: jshell files are not recognized
Problem:  filetype: jshell files are not recognized
Solution: detect '*.jsh' files as java filetype
          (Konfekt)

closes: #16260

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-22 10:57:33 +01:00
Christian Brabandt
70881ba195 runtime(dockerfile): do not set commentstring in syntax script
fixes: #16268

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-20 19:53:55 +01:00
Wu, Zhenyu
f173f4249f patch 9.1.0950: filetype: fennelrc files are not recognized
Problem:  filetype: fennelrc files are not recognized
Solution: detect 'fennelrc' files as fennel filetype
          (Wu Zhenyu)

References:
https://github.com/bakpakin/Fennel/issues/193

closes: #16262

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-20 19:45:06 +01:00
Konfekt
2328a39a54 runtime(netrw): do not double escape Vim special characters
This double escaping was likely introduced because it was the only way
to make :Open work with hashes/percent signs despite shellescape(..., 1)
supposedly taking care of it, but then breaks the gx mapping
on MSYS2 as reported at [0]

Since special characters in the URL following :Open can be escaped,
whereas gx simply breaks and is more common, no longer double escape

[0]: https://github.com/vim/vim/issues/16252

fixes: #16252
closes: #16265

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-20 19:41:02 +01:00
Christian Brabandt
fb27cf9cb1 git: ignore reformatting change of netrw plugin
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-20 19:37:54 +01:00
shane.xb.qian
c673b805ad runtime(netrw): more reformating #16248
closes: #16266

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-20 19:36:40 +01:00
h-east
af0fed5988 runtime(doc): Add a note about handling symbolic links in starting.txt
closes: #16257

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:51:36 +01:00
Boris Staletic
13c1153eef patch 9.1.0949: popups inconsistently shifted to the left
Problem:  popups inconsistently shifted to the left
Solution: always shift non-fixed popups to the left when the
          text would be truncated
          (no matter whether 'wrap' is set or not)
          (Boris Staletic)

fixes: #16231
closes: #16247

Signed-off-by: Boris Staletic <boris.staletic@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:22:19 +01:00
Christian Brabandt
83029a354e git: ignore reformatting change of netrw plugin
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:17:17 +01:00
Luca Saccarola
c363ca1ecd runtime(netrw): change indent size from 1 to 2
closes: #16248

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:16:18 +01:00
zeertzjq
3baf19a2b1 patch 9.1.0948: Missing cmdline completion for :pbuffer
Problem:  Missing cmdline completion for :pbuffer.
Solution: Add cmdline completion for :pbuffer like :buffer.
          (zeertzjq)

fixes: #16250
closes: #16251

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:05:28 +01:00
Ken Takata
b183f50280 runtime(tutor): Reformat tutor1
* Fix lesson number.
* Fold a long line.
* Adjust newlines.

  It seems that each lesson is written in 23 lines to fit the 80x25
  monitor.

closes: #16253

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:03:10 +01:00
Yegappan Lakshmanan
59c8880ade patch 9.1.0947: short-description
Problem:  Coverity comlains about un-initialized var
          (after v9.1.0943)
Solution: initialize variable (Yegappan Lakshmanan)

closes: #16256

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-19 20:00:31 +01:00
Brandon Maier
cbdc3c1f7a patch 9.1.0946: cross-compiling fails on osx-arm64
Problem:  cross-compiling fails on osx-arm64
Solution: use vim_cv_timer_create_with_lrt() instead of
          vim_cv_timer_create_works() (Brandon Maier)

Cross-compiling to osx-arm64 fails with the following

  In file included from json.c:17:
  In file included from ./vim.h:457:
  ./macros.h:304:24: error: expected identifier or '('
    304 |      static inline int isnan(double x)
        |                        ^
  .../MacOSX11.0.sdk/usr/include/math.h:165:7: note: expanded from macro 'isnan'
    165 |     ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))
        |       ^

This can be traced back to ./configure incorrectly detecting the
compiler support for `isnan()`, from the config.log:

  configure:14567: checking for isnan()
  configure:14588: arm64-apple-darwin20.0.0-clang <...> -L$PREFIX/lib conftest.c  -lncurses -ltinfo -lrt >&5
  ld: library not found for -lrt
  arm64-apple-darwin20.0: error: linker command failed with exit code 1 (use -v to see invocation)

The `-lrt` linking is added by ./configure script when it detects
compiler support for `timer_create()`. On the osx-arm64 platform
`timer_create()` works but does not link with `-lrt`. This results in
the following settings from config.log:

  vim_cv_timer_create=yes
  vim_cv_timer_create_with_lrt=no
  vim_cv_timer_create_works=yes

But the configure.ac incorrectly uses `timer_create_works` to add
`-lrt`, instead of using `timer_create_with_lrt`.

fixes: https://github.com/conda-forge/vim-feedstock/pull/1664
closes: #16242

Signed-off-by: Brandon Maier <brandon.maier@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 21:18:01 +01:00
zeertzjq
f25d8f9312 patch 9.1.0945: ComplMatchIns highlight doesn't end after inserted text
Problem:  ComplMatchIns highlight doesn't end after inserted text.
Solution: Handle ComplMatchIns highlight more like search highlight.
          Fix off-by-one error. Handle deleting text properly.
          (zeertzjq)

closes: #16244

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 21:12:25 +01:00
Fredrik
beccb33977 translation(sv): re-include the change from #16240
related: #16240

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 21:09:27 +01:00
Christian Brabandt
b2a8df35e8 patch 9.1.0944: tests: test_registers fails when not run under X11
Problem:  tests: test_registers fails when not run under X11
Solution: filter out warning message

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 20:40:48 +01:00
Yegappan Lakshmanan
d0186c54c2 patch 9.1.0943: Vim9: vim9compile.c can be further improved
Problem:  vim9compile.c can be further improved
Solution: Refactor the compile_lhs function
          (Yegappan Lakshmanan)

closes: #16245

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 20:16:20 +01:00
Christian Brabandt
80d72aa547 runtime(doc): Update README and mention make check to verify
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 20:13:46 +01:00
Christian Brabandt
116d2787ad translation(sv): partly revert commit 98874dca6d
This partly reverts commit 98874dca6d,
but keeps the added changes from #16240, since the re-generated sv.po
file fails the Vim check.vim script in the CI test suite.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-18 20:10:33 +01:00
Christian Brabandt
21c37d7f69 runtime(vim): update base-syntax after v9.1.0936
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 21:01:24 +01:00
zeertzjq
d32bf0a067 patch 9.1.0942: a few typos were found
Problem:  a few typos were found
Solution: fix them (zeertzjq)

closes: #16232

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:55:13 +01:00
zeertzjq
f4ccada5c3 patch 9.1.0941: ComplMatchIns doesn't work after multibyte chars
Problem:  ComplMatchIns doesn't work after multibyte chars
          (after v9.1.0936)
Solution: Use (ptr - line) instead of wlv.col (zeertzjq).

closes: #16233

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:50:19 +01:00
h-east
a977883ef3 runtime(doc): Fix style in fold.txt
closes: #16236

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:48:42 +01:00
Yee Cheng Chin
38281e1b96 ci: Update macOS from macos-14 to macos-15
Make sure to use the latest Xcode (16.2) which contains fixes in the
compiler, as GitHub Actions defaults to using 16.0 still. See #15764.

closes: #16239

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:36:10 +01:00
Fredrik
98874dca6d translation(sv): Fix typo in Swedish translation
- "kind file" not as opposed to unkind, but two separate columns

- also regenerate sv.po

fixes: #16237
closes: #16240

Signed-off-by: Fredrik <fredrik.oljemark@helsinki.fi>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:32:44 +01:00
zeertzjq
6c3027744e patch 9.1.0940: Wrong cursor shape with "gq" and 'indentexpr' executes :normal
Problem:  Wrong cursor shape with "gq" and 'indentexpr' executes :normal
Solution: Update cursor and mouse shape after restoring old_State.
          (zeertzjq)

closes: #16241

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Solution: Update cursor and mouse shape after restoring old_State.
2024-12-17 20:26:45 +01:00
Christian Brabandt
9c3330de28 runtime(doc): fix some small errors
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:24:24 +01:00
Christian Brabandt
3353833f89 patch 9.1.0939: make installtutor fails
Problem:  make installtutor fails
          (Antonio Giovanni Colombo, after v9.1.0932)
Solution: Fix Makefile rule

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-17 20:16:58 +01:00
Christian Brabandt
bb95589473 patch 9.1.0938: exclusive selection not respected when re-selecting block mode
Problem:  exclusive selection not respected when re-selecting block mode
          (Matt Ellis)
Solution: advance selection by another character when using
          selection=exclusive and visual block mode

fixes: #16202
closes: #16219

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 22:49:15 +01:00
Christian Brabandt
381ff7726e patch 9.1.0937: test_undolist() is flaky
Problem:  test_undolist() is flaky
Solution: allow to match one additional optional whitespace char

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 22:28:28 +01:00
glepnir
6a38aff218 patch 9.1.0936: cannot highlight completed text
Problem:  cannot highlight completed text
Solution: (optionally) highlight auto-completed text using the
          ComplMatchIns highlight group (glepnir)

closes: #16173

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 21:56:16 +01:00
Aliaksei Budavei
368ef5a48c patch 9.1.0935: SpotBugs compiler can be improved
Problem:  SpotBugs compiler can be improved
Solution: runtime(compiler): Improve defaults and error handling for
          SpotBugs; update test_compiler.vim (Aliaksei Budavei)

runtime(compiler): Improve defaults and error handling for SpotBugs

* Keep "spotbugs#DefaultPreCompilerTestAction()" defined but
  do not assign its Funcref to the "PreCompilerTestAction"
  key of "g:spotbugs_properties": there are no default and
  there can only be introduced arbitrary "*sourceDirPath"
  entries; therefore, this assignment is confusing at best,
  given that the function's implementation delegates to
  whatever "PreCompilerAction" is.

* Allow for the possibility of relative source pathnames
  passed as arguments to Vim for the Javac default actions,
  and the necessity to have them properly reconciled when
  the current working directory is changed.

* Do not expect users to remember or know that new source
  files ‘must be’ ":argadd"'d to be then known to the Javac
  default actions; so collect the names of Java-file buffers
  and Java-file Vim arguments; and let users providing the
  "@sources" file-lists in the "g:javac_makeprg_params"
  variable update these file-lists themselves.

* Strive to not leave behind a fire-once Syntax ":autocmd"
  for a Java buffer whenever an arbitrary pre-compile action
  errors out.

* Only attempt to run a post-compiler action in the absence
  of failures for a pre-compiler action.  Note that warnings
  and failures are treated alike (?!) by the Javac compiler,
  so when previews are tried out with "--enable-preview",
  remember about passing "-Xlint:-preview" too to also let
  SpotBugs have a go.

* Properly group conditional operators when testing for key
  entries in a user-defined variable.

* Also test whether "javaExternal" is defined when choosing
  an implementation for source-file parsing.

* Two commands are provided to toggle actions for buffer-local
  autocommands:
  - SpotBugsRemoveBufferAutocmd;
  - SpotBugsDefineBufferAutocmd.

For example, try this from "~/.vim/after/ftplugin/java.vim":
------------------------------------------------------------
if exists(':SpotBugsDefineBufferAutocmd') == 2
	SpotBugsDefineBufferAutocmd BufWritePost SigUSR1
endif
------------------------------------------------------------

And ":doautocmd java_spotbugs User" can be manually used at will.

closes: #16140

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 21:38:47 +01:00
Yinzuo Jiang
a2a2fe841e patch 9.1.0934: hard to view an existing buffer in the preview window
Problem:  hard to view an existing buffer in the preview window
Solution: add the :pbuffer command (Yinzuo Jiang)

Similar as `:pedit` and `:buffer` command. `:pbuffer` edits buffer [N]
from the buffer list in the preview window.

`:pbuffer` can also open special buffer, for example terminal buffer.

closes: #16222

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 21:22:09 +01:00
Konfekt
3920bb4356 runtime(doc): document how to minimize fold computation costs
closes: #16224

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 21:11:55 +01:00
Yegappan Lakshmanan
468db1f8af patch 9.1.0933: Vim9: vim9compile.c can be further improved
Problem:  Vim9: vim9compile.c can be further improved
Solution: further refactor the compile assignment code
          (Yegappan Lakshmanan)

closes: #16230

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 20:56:56 +01:00
Christian Brabandt
3f7d584e96 patch 9.1.0932: new Italian tutor not installed
Problem:  new Italian tutor not installed
Solution: add Makefile rule, include it into the Filelist
          ("Philip H." <47042125+pheiduck@users.noreply.github.com>),
          update the tutors help file

closes: #16215

Co-authored-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 20:38:31 +01:00
Christian Brabandt
0a4e57f44a runtime(doc): fix a few minor errors from the last doc updates
1) move the section at :h inclusive-motion-selection-exclusive a few
lines below, so that it doesn't live in between the 2 exceptions.

2) remove the tag :h :!-range. It's not accurate (because it is actually
a filter) and this command is already described at :h :range!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-16 10:20:51 +01:00
Antonio Giovanni Colombo
b100477190 translation(it): add Italian translation for the interactive tutor
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 21:36:55 +01:00
Antonio Giovanni Colombo
41d6de2974 runtime(doc): update the change.txt help file
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 21:17:49 +01:00
Shougo Matsushita
6fea0a5480 runtime(help): Add Vim lang annotation support for codeblocks
closes: #16215

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 20:52:45 +01:00
h-east
3a3a2c921c patch 9.1.0931: ml_get error in terminal buffer
Problem:  ml_get error in terminal buffer (user202729)
Solution: call update_topline() in win_enter_ext() for terminal buffers
          (h-east)

fixes: #16024
closes: #16211

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 19:36:11 +01:00
h-east
b34622579c patch 9.1.0930: tests: test_terminal2 may hang in GUI mode
Problem:  tests: test_terminal2 may hang in GUI mode
Solution: break the loop in gui_mch_update() after at most 99 iterations
          (h-east)

related: #16211

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 19:32:39 +01:00
David Thievon
5a2e0cf5f1 patch 9.1.0929: filetype: lalrpop files are not recognized
Problem:  filetype: lalrpop files are not recognized
Solution: detect '*.lalrpop' files as lalrpop filetype
          (David Thievon)

References:
https://github.com/lalrpop/lalrpop

closes: #16223

Signed-off-by: David Thievon <pdkfan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 19:22:17 +01:00
Christian Brabandt
b48108d58e patch 9.1.0928: tests: test_popupwin fails because the filter command fails
Problem:  tests: test_popupwin fails because the filter command fails
Solution: add the "e" flag to the :s command to normalize the
          screendumps Last Change header so that it doesn't fail on
          "Pattern not found"

The test might still fail, because the "Last Change" hader should always
be part of the screendump, but at least the filter command should not
cause aborting of the test script.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 10:38:57 +01:00
Yinzuo Jiang
3c5d782dbc editorconfig: set trim_trailing_whitespace = false for src/testdir/test*.vim
closes: #16220

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-15 10:31:19 +01:00
glepnir
6e19993991 patch 9.1.0927: style issues in insexpand.c
Problem:  style issues in insexpand.c
Solution: add braces, use ternary operator to improve style
          (glepnir)

closes: #16210

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-14 21:13:27 +01:00
Brandon Maier
7d1bb90dcf patch 9.1.0926: filetype: Pixi lock files are not recognized
Problem:  filetype: Pixi lock files are not recognized
Solution: detect "pixi.lock" file as yaml filetype
          (Brandon Maier)

Reference:
https://pixi.sh/latest/features/lockfile/

closes: #16212

Signed-off-by: Brandon Maier <brandon.maier@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-14 20:56:34 +01:00
Yinzuo Jiang
fbe9a6903a runtime(doc): Add a reference to |++opt| and |+cmd| at :h :pedit
closes: #16217

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-14 20:28:51 +01:00
Christian Brabandt
ed89206efe runtime(doc): add a note about inclusive motions and exclusive selection
related: #16202

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-14 20:23:39 +01:00
Yegappan Lakshmanan
e203841e0d patch 9.1.0925: Vim9: expression compiled when not necessary
Problem:  Vim9: expression compiled when not necessary
Solution: do not compile when ctx_skip is set, add a few more
          Vim9 expressions tests (Yegappan Lakshmanan)

closes: #16218

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-14 19:59:24 +01:00
Christian Brabandt
6cc3027e54 patch 9.1.0924: patch 9.1.0923 causes issues
Problem:  patch 9.1.0923 causes issues (Shane-XB-Qian)
Solution: back-out the change

This reverts commit e29c8bafa7 (v9.1.0923)

fixes: #16213
related: #16160

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-13 17:56:46 +01:00
John Marriott
e29c8bafa7 patch 9.1.0923: too many strlen() calls in filepath.c
Problem:  too many strlen() calls in filepath.c
Solution: refactor filepath.c and remove calls to STRLEN(),
          unify dos_expandpath() and unix_expandpath() into
          a single function

closes: #16160

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-13 13:58:53 +01:00
Christian Brabandt
618c4d36ca patch 9.1.0923: wrong MIN macro in popupmenu.c
Problem:  wrong MIN macro in popupmenu.c (after v9.1.0921)
          (zeertzjq)
Solution: change it to MAX()

Co-authored-by: glepnir <glephunter@gmail.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-13 12:30:20 +01:00
glepnir
c942f84aad patch 9.1.0921: popupmenu logic is a bit convoluted
Problem:  popupmenu logic is a bit convoluted
Solution: slightly refactor logic and use MIN/MAX() macros to simplify
          (glepnir)

Define the MAX/MIN macros. Since we support some older platforms, C
compilers may not be as smart. This helps reduce unnecessary if
statements and redundant ternary expressions. Pre-calculate some
expressions by defining variables. Remove unnecessary parentheses.
Adjust certain lines to avoid exceeding 80 columns.

closes: #16205

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-13 12:13:23 +01:00
Yegappan Lakshmanan
95a03fc321 patch 9.1.0920: Vim9: compile_assignment() too long
Problem:  Vim9: compile_assignment() too long
Solution: refactor compile_assignment() function and split up into
          smaller parts (Yegappan Lakshmanan)

closes: #16209

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-13 11:54:54 +01:00
Wu, Zhenyu
d66d68763d patch 9.1.0919: filetype: some assembler files are not recognized
Problem:  filetype: some assembler are files not recognized
Solution: detect '*.nasm' files as nasm filetype and '*.masm' as masm
          filetype (Wu, Zhenyu)

closes: #16194

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-12 19:39:19 +01:00
Christian Brabandt
5c42c77315 runtime(netrw): do not pollute search history with symlinks
fixes: #16206

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-12 19:13:08 +01:00
826814741_6
dff3c9c1a7 patch 9.1.0918: tiny Vim crashes with fuzzy buffer completion
Problem:  tiny Vim crashes with fuzzy buffer completion
Solution: Adjust #ifdefs in ExpandBufnames() (826814741_6)

closes: #16200

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: 826814741_6 <44406129+826814741-6@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-10 17:17:06 +01:00
Gary Johnson
eed63f96d2 patch 9.1.0917: various vartabstop and shiftround bugs when shifting lines
Problem:  various vartabstop and shiftround bugs when shifting lines
Solution: Fix the bugs, add new tests for shifting lines in various ways
          (Gary Johnson)

fixes: #14891
closes: #16193

Signed-off-by: Gary Johnson <garyjohn@spocom.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-09 21:28:08 +01:00
Luca Saccarola
b66cac1a8e runtime(typst): add definition lists to formatlistpat, update maintainer
closes: #16192

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-09 20:31:04 +01:00
Luca Saccarola
ff70518f12 add saccarosium to maintainers files
closes: #16197

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
2024-12-09 20:22:44 +01:00
h-east
36f36715e6 patch 9.1.0916: messages.c is exceeding 80 columns
Problem:  messages.c is exceeding 80 columns
Solution: slightly reformat messages.c (h-east)

closes: #16196

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-09 20:05:59 +01:00
David Pedersen
ad4764f65b runtime(proto): include filetype plugin for protobuf
closes: #16199

Signed-off-by: David Pedersen <limero@me.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-09 19:56:34 +01:00
matveyt
ad3b6a3340 patch 9.1.0915: GVim: default font size a bit too small
Problem:  GVim: default font size a bit too small
Solution: increase guifont size to 12 pt on GTK builds
          of gVim (matveyt).

fixes: #16172
closes: #16178

Signed-off-by: matveyt <matthewtarasov@yandex.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-08 10:26:51 +01:00
Yegappan Lakshmanan
85ee742f1e patch 9.1.0914: Vim9: compile_assignment() is too long
Problem:  Vim9: compile_assignment() is too long
Solution: refactor compile_assignment() into smaller functions
          (Yegappan Lakshmanan)

closes: #16186

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-08 10:15:35 +01:00
h-east
65be834c30 patch 9.1.0913: no error check for neg values for 'messagesopt'
Problem:  no error check for neg values for 'messagesopt'
          (after v9.1.0908)
Solution: add additional error checks and tests (h-east)

closes: #16187

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-08 10:08:48 +01:00
Christian Brabandt
92b36663f8 runtime(netrw): only check first arg of netrw_browsex_viewer for being executable
fixes: #16185

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-08 09:52:37 +01:00
sendittothenewts
6e6aff0f7a patch 9.1.0912: xxd: integer overflow with sparse files and -autoskip
Problem:  xxd: integer overflow with sparse files and -autoskip
Solution: reset zero_seen when at the limit, change the type to char
          (sendittothenewts)

When encountering INT_MAX lines of zeros in the input, xxd overflows an
`int` counter, resulting in undefined behaviour.  Usually, this results
in a spurious line of zeros being output every 2**32 lines, while the
"*" line is lost, as is the final line of zeros that delineate the file
size if at end of file.

Since xxd doesn't need to know exactly how many lines are being skipped
when it's > 3, the exact value of the line counter `zero_seen` doesn't
matter and it can simply be reduced in value before the overflow occurs.

Changing the type of `zero_seen` to `signed char` is not important, and
done only to make the bug triggerable with more modest file sizes, and
therefore more convenient to test the fix.

fixes: #16170
closes: #16175

Signed-off-by: sendittothenewts <ross.axe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-07 16:27:22 +01:00
zeertzjq
8cc43daee1 patch 9.1.0911: Variable name for 'messagesopt' doesn't match short name
Problem:  Variable name for 'messagesopt' doesn't match short name
          (after v9.1.0908)
Solution: Change p_meo to p_mopt.  Add more details to docs.
          (zeertzjq)

closes: #16182

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-07 16:09:08 +01:00
Shougo Matsushita
d9e9f89e0f patch 9.1.0910: 'messagesopt' does not check max wait time
Problem:  'messagesopt' does not check max wait time
          (after v9.1.0908)
Solution: Check for max wait value
          (Shougo Matsushita)

closes: #16183

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-07 16:00:25 +01:00
Christian Brabandt
72212c9bea runtime(doc): update wrong Vietnamese localization tag
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-07 15:57:34 +01:00
Yegappan Lakshmanan
481992cea9 patch 9.1.0909: Vim9: crash when calling instance method
Problem:  Vim9: crash when calling instance method
          (Igbanam Ogbuluijah)
Solution: Pass the object when calling a partial function
          (Yegappan Lakshmanan)

fixes: #16166
closes: #16180

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-06 18:35:12 +01:00
Christian Brabandt
51d4d84d6a patch 9.1.0908: not possible to configure :messages
Problem:  not possible to configure :messages
Solution: add the 'messagesopt' option (Shougo Matsushita)

closes: #16068

Co-authored-by: h_east <h.east.727@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-06 17:26:25 +01:00
Christian Brabandt
ee9bc68f03 patch 9.1.0907: printoptions:portrait does not change postscript Orientation
Problem:  printoptions:portrait does not change postscript Orientation
Solution: Set Orientation depending on portrait suboption.

fixes: #16156
closes: #16174

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-06 17:19:25 +01:00
h-east
41afa308d6 runtime(doc): Add vietnamese.txt to helps main TOC
closes: #16177

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-06 16:03:37 +01:00
Yinzuo Jiang
bdb5f85a51 patch 9.1.0906: filetype: Nvidia PTX files are not recognized
Problem:  filetype: Nvidia PTX files are not recognized
Solution: detect '*.ptx' files as ptx filetype (Yinzuo Jiang)

Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/

closes: #16171

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-05 21:31:09 +01:00
Christian Brabandt
73785accfd runtime(doc): updated version9.txt with changes from v9.1.0905
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-05 21:06:12 +01:00
glepnir
1c5a120a70 patch 9.1.0905: Missing information in CompleteDone event
Problem:  Missing information in CompleteDone event
Solution: add complete_word and complete_type to v:event dict
          (glepnir)

closes: #16153

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-04 20:31:43 +01:00
Zdenek Dohnal
215c82d061 patch 9.1.0904: Vim9: copy-paste error in class_defining_member()
Problem:  Vim9: copy-paste error in class_defining_member()
Solution: use variable type VAR_CLASS instead (Zdenek Dohnal)

Found issue by OpenScanHub:
Error: COPY_PASTE_ERROR (CWE-398):
vim91/src/vim9class.c:3308: original: "VAR_OBJECT" looks like the
original copy.
vim91/src/vim9class.c:3316: copy_paste_error: "VAR_OBJECT" looks like a
copy-paste error.
vim91/src/vim9class.c:3316: remediation: Should it say "VAR_CLASS"
instead?
3314|             {
3315|                 cl_tmp = super;
3316|->               vartype = VAR_OBJECT;
3317|             }
3318|         }

closes: #16163

Signed-off-by: Zdenek Dohnal <zdohnal@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-04 20:19:40 +01:00
Zdenek Dohnal
39a94d2048 patch 9.1.0903: potential overflow in spell_soundfold_wsal()
Problem:  potential overflow in spell_soundfold_wsal()
Solution: Protect wres from buffer overflow, by checking the
          length (Zdenek Dohnal)

Error: OVERRUN (CWE-119):
vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that
"reslen" is 254 on the false branch.
vim91/src/spell.c:3833: incr: Incrementing "reslen". The value of "reslen"
is now 255.
vim91/src/spell.c:3792: overrun-local: Overrunning array "wres" of 254
4-byte elements at element index 254 (byte offset 1019) using index
"reslen - 1" (which evaluates to 254).
 3789|   		    {
 3790|   			// rule with '<' is used
 3791|-> 			if (reslen > 0 && ws != NULL && *ws != NUL
 3792|   				&& (wres[reslen - 1] == c
 3793|   						    || wres[reslen - 1] == *ws))

Error: OVERRUN (CWE-119):
vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that
"reslen" is 254 on the false branch.
vim91/src/spell.c:3833: overrun-local: Overrunning array "wres" of 254
4-byte elements at element index 254 (byte offset 1019) using index
"reslen++" (which evaluates to 254).
 3831|                         {
 3832|                             if (c != NUL)
 3833|->                               wres[reslen++] = c;
 3834|                             mch_memmove(word, word + i + 1,
 3835|                                        sizeof(int) * (wordlen -
(i + 1) + 1));

related: #16163

Signed-off-by: Zdenek Dohnal <zdohnal@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-04 20:16:17 +01:00
Konfekt
eda923e9c9 runtime(netrw): do not detach when launching external programs in gvim
On Debian 12 when detaching the program wouldn't launch at all

closes: #16168

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-04 20:12:44 +01:00
zeertzjq
ea0e41a115 runtime(doc): make tag alignment more consistent in filetype.txt
closes: #16169

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
2024-12-04 20:08:25 +01:00
Christian Brabandt
8a52587ee0 runtime(doc): fix wrong syntax and style of vietnamese.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-04 20:06:45 +01:00
Antonio Giovanni Colombo
4854647abe translation(it): update Italian manpage for vimtutor
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-04 20:02:08 +01:00
Enno
fdfcce56a6 runtime(lua): add optional lua function folding
closes: #16151

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 22:23:48 +01:00
Christian Brabandt
c6db53ce5f Filelist: include translations for Chapter 2 tutor
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 22:16:41 +01:00
Phạm Bình An
336fb22eae translation(vi): Update Vietnamese translation
closes: #16144

Signed-off-by: Phạm Bình An <111893501+brianhuster@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 22:11:43 +01:00
Phạm Bình An
189e24bb14 runtime(doc): include vietnamese.txt
Since Vietnamese keymaps in Vim is quite differences from the
corresponding input methods, let's document the Vietnamese specifics in
vietnames.txt

related: #16144

Signed-off-by: Phạm Bình An <111893501+brianhuster@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:59:52 +01:00
Antonio Giovanni Colombo
cdbbdb9ece runtime(tutor): fix another typo in tutor2
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:27:30 +01:00
Christian Brabandt
23eea9b984 runtime(doc): fix typo in vimtutor manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:23:43 +01:00
Antonio Giovanni Colombo
1d20ad0bbd translation(it): update Italian manpage for vimtutor
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:21:09 +01:00
Antonio Giovanni Colombo
0b5926f77f translation(it): include Italian version of tutor chapter 2
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:14:45 +01:00
Christian Brabandt
5ccf7f1407 runtime(tutor): regenerated some translated tutor1 files
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:12:17 +01:00
Antonio Giovanni Colombo
2e359b98f2 runtime(tutor): fix typo in Chapter 2
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 21:10:43 +01:00
zeertzjq
876de275cb patch 9.1.0902: filetype: Conda configuration files are not recognized
Problem:  filetype: Conda configuration files are not recognized
Solution: detect '.condarc' and 'condarc' files as yaml filetype.
          (zeertzjq)

closes: #16162

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 20:45:34 +01:00
h-east
b534e80008 runtime(doc): Tweak documentation style a bit
closes: #16164

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-03 20:38:30 +01:00
RestorerZ
6fa304f27d runtime(tutor): update the tutor files and re-number the chapters
closes: #16110

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-02 20:22:52 +01:00
RestorerZ
12e1729e89 runtime(tutor): Update the makefiles for tutor1 and tutor2 files
closes: #16111

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-02 20:13:52 +01:00
RestorerZ
e7ea4ba723 patch 9.1.0901: MS-Windows: vimtutor batch script can be improved
Problem:  MS-Windows: vimtutor batch script can be improved
Solution: Update vimtutor.bat, validate languages using Powershell
          cultureinfo (RestorerZ)

closes: #16112

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-02 20:07:58 +01:00
glepnir
fd6693ca5c runtime(doc): remove buffer-local completeopt todo item
has already implemented by @zeertzjq  on https://github.com/vim/vim/pull/14922

closes: #16152

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-02 20:04:14 +01:00
Yegappan Lakshmanan
198ada3d9f patch 9.1.0900: Vim9: digraph_getlist() does not accept bool arg
Problem:  Vim9: digraph_getlist() does not accept bool argument
          (Maxim Kim)
Solution: accept boolean as first argument (Yegappan Lakshmanan)

fixes: #16154
closes: #16159

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-02 19:58:51 +01:00
Luca Saccarola
9a39483adb runtime(typst): provide a formatlistpat in ftplugin
closes: #16134

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-01 20:12:26 +01:00
dundargoc
768728b487 runtime(doc): Update documentation for "noselect" in 'completeopt'
In particular, make the distinction and interaction between "noinsert"
and "noselect" clearer as it was very confusing before.

closes: #16148

Signed-off-by: dundargoc <gocdundar@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-01 20:06:42 +01:00
Luca Saccarola
959ef61430 patch 9.1.0899: default for 'backspace' can be set in C code
Problem:  default for 'backspace' can be set in C code
Solution: promote the default for 'backspace' from defaults.vim to the C
          code (Luca Saccarola)

closes: #16143

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-01 16:25:53 +01:00
D. Ben Knoble
c74a87eea2 runtime(helptoc): reload cached g:helptoc.shell_prompt when starting toc
Follow up on PR 10446 [1] so that changes at run-time (or after loading
a vimrc) are reflected at next use. Instead of "uncaching" the variable
by computing SHELL_PROMPT on each use, which could negatively impact
performance, reload any user settings before creating the TOC.

Also make sure, changes to the shell prompt variable do correctly
invalidate b:toc, so that the table of content is correctly re-created
after user makes any changes.

[1]: https://github.com/vim/vim/pull/10446#issuecomment-2485169333

closes: #16097

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-01 16:06:18 +01:00
RestorerZ
c7a96d6d1a translation(ru): Updated messages translation
closes: #16145

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-01 15:56:33 +01:00
Konfekt
3c2596a9e9 patch 9.1.0898: runtime(compiler): pytest compiler not included
Problem:  runtime(compiler): pytest compiler not included
Solution: include pytest compiler, update the compiler completion test
          (Konfekt)

closes: #16130

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-30 11:32:49 +01:00
user202729
aa16b30552 patch 9.1.0897: filetype: pyrex files are not detected
Problem:  filetype: pyrex files are not detected
Solution: detect '*.pxi' and '*.pyx+' as pyrex filetype
          (user202729)

References:
https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html#cython-file-types
https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/version/Doc/Manual/using_with_c++.html

closes: #16136

Signed-off-by: user202729 <25191436+user202729@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-30 11:09:49 +01:00
Romain Lafourcade
dd21c89626 runtime(compiler): update eslint compiler
compact formatter is no longer distributed with eslint, so:

- switch to '--format stylish' in makeprg
- update 'errorformat' for the 'stylish' format output

fixes: #16126
closes: #16137

Signed-off-by: Romain Lafourcade <romainlafourcade@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-30 11:05:18 +01:00
glepnir
a49c077a88 patch 9.1.0896: completion list wrong after v9.1.0891
Problem:  completion list wrong after v9.1.0891
Solution: update compl_mach_array after leader change
          (glepnir)

compl_shown_match update not correct after refactoring in v9.1.0891
Unfortunately, this regressed what item is selected after leader change.

So generate compl_match_array before updating compl_shown_match range,
and split generate compl_match_array into range match_head

fixes: #16128
closes: #16129

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-30 10:56:30 +01:00
Christian Brabandt
075aeea404 runtime(doc): document changed default value for 'history'
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 23:13:10 +01:00
Luca Saccarola
c0d30eff6d patch 9.1.0895: default history value is too small
Problem:  default history value is too small
Solution: promote the change from defaults.vim back to
          the C core, so increase the default 'history' option value
          from 50 to 200 (Lucca Saccarola)

closes: #16129

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 22:27:28 +01:00
Aliaksei Budavei
60ddb1a140 patch 9.1.0894: No test for what the spotbug compiler parses
Problem:  No test for what the spotbug compiler parses
          (after commit: 65311c6f47)
Solution: Test &makeprg for the SpotBugs compiler plugin
          (Aliaksei Budavei)

closes: #16096

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 22:05:37 +01:00
Christian Brabandt
14382c8bc9 patch 9.1.0893: No test that undofile format does not regress
Problem:  No test that undofile format does not regress
Solution: include a sample undofile to make sure we are always able to
          read it

This is so, that we don't unintentionally change the undofile format and
make sure we can load an undo file that has been created by an older
Vim.

closes: #16127

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 21:59:33 +01:00
Christian Brabandt
3d670bb191 translation(de): update German manpages
fixes: #16086

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 21:45:39 +01:00
Konfekt
65311c6f47 runtime(compiler): include spotbugs Java linter
closes: #16001

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 21:06:09 +01:00
Milly
2cddf0e85a patch 9.1.0892: the max value of 'tabheight' is limited by other tabpages
Problem:  the max value of 'tabheight' is limited by other tabpages
Solution: Limit the maximum value of 'cmdheight' to the current tabpage only.
          (Milly)

The Help says that cmdheight is local to the tab page, but says nothing
about the maximum value depending on the state of all tab pages. Users
may wonder why they can't increase cmdheight when there are still rows
available on the current tab page. This PR changes the behavior of
cmdheight so that its maximum value depends only on the state of the
current tab page.

Also, since magic numbers were embedded in various places with the
minimum value of cmdheight being 1, we defined a constant to make it
easier to understand.

closes: #16131

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 18:16:55 +01:00
Eisuke Kawashima
511eb84c08 runtime(po): remove poDiffOld/New, add po-format flags to syntax file
fixes: #16120
closes: #16132

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-28 18:00:09 +01:00
glepnir
80b662009c patch 9.1.0891: building the completion list array is inefficient
Problem:  building the completion list array is inefficient
Solution: refactor and improve ins_compl_build_pum() func
          (glepnir)

current time complexity is O(n^2). I guess garray is not used here to save memory and avoid efficiency
is caused by heap memory allocation. A simple way is to add an extra pointer as a single linked list
to store the matching compl_T, and traverse this single linked list to generate compl_match_array.
The time complexity is O(n x m). The worst case is m=n, but we can still get a little improvement.
Because the if condition does not need to be run at one time. This should be a good solution for now.
Later we may be able to complete it in O(lgn) time. But this requires more reconstruction. So this is
the first step.

closes: #16125

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-27 21:53:53 +01:00
Yegappan Lakshmanan
ac023e8baa patch 9.1.0890: %! item not allowed for 'rulerformat'
Problem:  %! item not allowed for 'rulerformat'
          (yatinlala)
Solution: also allow to use %! for rulerformat option
          (Yegappan Lakshmanan)

fixes: #16091
closes: #16118

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-27 20:55:45 +01:00
Christian Brabandt
7e501f4d99 runtime(gzip): load undofile if there exists one
fixes: #16102
closes: #16122

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-26 15:10:33 +01:00
zeertzjq
9f25a3a237 patch 9.1.0889: Possible unnecessary redraw after adding/deleting lines
Problem:  Possible unnecessary redraw after adding/deleting lines.
Solution: Check b_mod_set before using b_mod_xlines to avoid using stale
          b_mod_xlines value (zeertzjq).

closes: #16124

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-26 15:08:02 +01:00
glepnir
0a850673e3 patch 9.1.0888: leftcol property not available in getwininfo()
Problem:  leftcol property not available in getwininfo()
Solution: add leftcol property property (glepnir)

closes: #16119

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-25 19:39:04 +01:00
Philip H.
ea49002aca CI: update FreeBSD runner to 14.2
closes: #16115

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-25 10:03:34 +01:00
Christian Brabandt
5757a20547 patch 9.1.0887: Wrong expression in sign.c
Problem:  Wrong expression in sign.c
          (after v9.1.0885)
Solution: remove the duplicate expression

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-25 09:59:20 +01:00
Wu, Zhenyu
57b947e3c3 patch 9.1.0886: filetype: debian control file not detected
Problem:  filetype: debian control file not detected
Solution: detect 'debian/control' files as debcontrol filetype
          (author)

closes: #16067

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 14:34:01 +01:00
Turiiya
c1e6621a59 runtime(c3): include c3 filetype plugin
closes: #16090

Signed-off-by: Turiiya <34311583+ttytm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 14:30:43 +01:00
Luca Saccarola
78ca80f856 patch 9.1.0885: style of sign.c can be improved
Problem:  style of sign.c can be improved
Solution: Refactor code (Luca Saccarola)

Purpose of this commit is:
- separate clearly sections of code
- declare variables at the lowest scope possible
- initialize all variables

closes: #16092

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 14:25:06 +01:00
John Marriott
c847c12cdd patch 9.1.0884: gcc warns about uninitialized variable
Problem:  gcc warns about uninitialized variable in vim_strnicmp_asc()
Solution: initialize variable to 1
          (John Marriott)

closes: #16108

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 14:09:40 +01:00
nisbet-hubbard
ccc024f3a7 runtime(apache): Update syntax directives for apache server 2.4.62
closes: #16109

Signed-off-by: nisbet-hubbard <87453615+nisbet-hubbard@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 14:08:02 +01:00
RestorerZ
f63449a5d1 translation(ru): updated vimtutor translation, update MAINTAINERS file
the translated man page is synchronized with the original English

closes: #16113

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 13:50:28 +01:00
Shougo Matsushita
9f860a14c3 patch 9.1.0883: message history cleanup is missing some tests
Problem:  message history cleanup is missing some tests
Solution: Add tests, refactor common code into did_set_msghistory()
          (Shougo Matsushita)

closes: #16078

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Milly <milly.ca@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-24 13:48:05 +01:00
matveyt
a01148d2cb runtime(doc): Expand docs on :! vs. :term
fixes: #16071
closes: #16089

Signed-off-by: matveyt <matthewtarasov@yandex.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-23 14:19:58 +01:00
GuyBrush
d7745acbd8 runtime(netrw): Fixing powershell execution issues on Windows
closes: #16094

Signed-off-by: GuyBrush <miguel.barro@live.com>
2024-11-23 14:13:10 +01:00
John Marriott
5e6ea92b2c patch 9.1.0882: too many strlen() calls in insexpand.c
Problem:  too many strlen() calls in insexpand.c
Solution: Refactor insexpand.c and reduce number of calls to STRLEN(),
          fix a warning get_next_filename_completion(), add new function
          ins_compl_leader_len() (John Marriott)

closes: #16095

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-23 14:01:57 +01:00
Chris White
991603cc04 patch 9.1.0881: GUI: message dialog may not get focus
Problem:  GUI: message dialog may not get focus
Solution: add window manager hint to give focus to the dialog
          (Chris White)

Tell the window manager that message dialogs should be given focus when
the user switches from another application back to Vim.  This can
happen, e.g., when the user has a file open in Vim and then edits it
in another program.

fixes: #172
closes: #16100

Signed-off-by: Chris White <christopher.white@crowdstrike.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-23 13:35:43 +01:00
Christian Brabandt
cacfccf803 runtime(netrw): update netrw's decompress logic
Detect a few more default archive types, correctly handle file
extensions with digits in it.

fixes: #16099
closes: #16104

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-23 13:28:01 +01:00
nisbet-hubbard
4dd6c22ebe runtime(apache): Update syntax keyword definition
closes: #16105

Signed-off-by: nisbet-hubbard <87453615+nisbet-hubbard@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-23 13:14:47 +01:00
Antonio Giovanni Colombo
9c69453f0e runtime(misc): add Italian LICENSE and (top-level) README file
related: #16061

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 23:13:46 +01:00
Turiiya
c8dfcfc53b patch 9.1.0880: filetype: C3 files are not recognized
Problem:  filetype: C3 files are not recognized
Solution: detect '*.c3*' files as c3 filetype (Turiiya)

closes: #16087

Signed-off-by: Turiiya <34311583+ttytm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 23:05:21 +01:00
Christian Brabandt
cb34507b5f runtime(doc): add helptag for :HelpToc command
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 23:02:57 +01:00
Christian Brabandt
fa41a3ed1e git: ignore re-formatting commit v9.1.0879 for blame
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 22:58:40 +01:00
Luca Saccarola
3cf094edaf patch 9.1.0879: source is not consistently formatted
Problem:  source is not consistently formatted
Solution: reformat sign.c and sound.c
          (Luca Saccarola)

closes: #16019

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 22:55:13 +01:00
Luca Saccarola
8bc4d25abe Add clang-format config file
This is used in preparation to enable automatic code-formatting in the
following commits.  For now let's just add a clang-format config file,
formatting of source files will follow.

related: #16019

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 22:54:34 +01:00
Konfekt
4927daef60 runtime(compiler): fix escaping of arguments passed to :CompilerSet
See newly added help entry referring to option-backslash

closes: #16084

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 22:41:14 +01:00
Ubaldo Tiberi
ae1c8b790b patch 9.1.0878: termdebug: cannot enable DEBUG mode
Problem:  termdebug: cannot enable DEBUG mode
Solution: Allow to specify DEBUG mode (Ubaldo Tiberi)

closes: #16080

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 22:32:30 +01:00
Ubaldo Tiberi
b5c1557323 patch 9.1.0877: tests: missing test for termdebug + decimal signs
Problem:  tests: missing test for termdebug + decimal signs
Solution: Add a termdebug test (Ubaldo Tiberi)

closes: #16081

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 21:10:24 +01:00
Wu, Zhenyu
e2c27ca8ef patch 9.1.0876: filetype: openCL files are not recognized
Problem:  filetype: openCL files are not recognized
Solution: detect '*.cl' files as opencl or lisp filetype,
          include a opencl syntax and filetype plugin (Wu, Zhenyu)

closes: #15825

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 21:03:09 +01:00
Luca Saccarola
a13bd294ab patch 9.1.0875: filetype: hyprlang detection can be improved
Problem:  filetype: hyprlang detection can be improved
Solution: detect '/hypr/*.conf' files as hyprlang filetype,
          include basic syntax highlighting (Luca Saccarola)

fixes: #15875
closes: #16064

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 20:43:52 +01:00
Kirill Morozov
fdac54d7bb patch 9.1.0874: filetype: karel files are not detected
Problem:  filetype: karel files are not detected
Solution: detect '*.kl' files as karel filetype,
          include syntax and filetype plugin
          (Kirill Morozov)

closes: #16075

Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
Signed-off-by: Kirill Morozov <kirill@robotix.pro>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 20:36:22 +01:00
rhysd
9a65a8c270 CI: join codecov array flags, instead of accessing it directly
closes: #16082

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-19 13:46:17 +01:00
Wu, Zhenyu
a87462a498 patch 9.1.0873: filetype: Vivado files are not recognized
Problem:  filetype: Vivado files are not recognized
Solution: detect '*.mss' files as 'mss' filetype
          (Wu, Zhenyu)

references:
https://docs.amd.com/r/2020.2-English/ug1400-vitis-embedded/Microprocessor-Software-Specification-MSS

closes: #15907

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-18 21:36:31 +01:00
Christian Brabandt
a15dfc2d41 patch 9.1.0872: No test for W23 message
Problem:  No test for W23 message
Solution: Check for W23 message when accessing the clipboard fails
          (after v9.1.0868)

closes: #16076

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-18 21:20:54 +01:00
mikoto2000
a73dfc2f55 patch 9.1.0871: getcellpixels() can be further improved
Problem:  getcellpixels() can be further improved
Solution: Fix floating point exception, implement getcellpixels() in the
          UI (mikoto2000)

closes: #16059

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-18 21:12:21 +01:00
John Marriott
bd4614f43d patch 9.1.0870: too many strlen() calls in eval.c
Problem:  too many strlen() calls in eval.c
Solution: Refactor eval.c to remove calls to STRLEN()
          (John Marriott)

closes: #16066

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-18 20:26:13 +01:00
dependabot[bot]
ba9e1570d2 CI: Bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

closes: #16079

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-18 19:05:53 +01:00
Christian Brabandt
9848face74 patch 9.1.0869: Problem: curswant not set on gm in folded line
Problem:  curswant not set on gm in folded line
          (citizenmatt)
Solution: in a folded line, call update_curswant_force()

fixes: #11596
closes: #11994
closes: #15398

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-17 16:18:00 +01:00
Christian Brabandt
8b94afc207 patch 9.1.0868: the warning about missing clipboard can be improved
Problem:  the warning about missing clipboard can be improved
          (after v9.1.0852)
Solution: use different warnings depending on whether or not clipboard
          support is included in Vim, update related documentation

Improve the Warnings about missing clipboard registers

- Make it translatable
- Use a different warning, when clipboard support was not compiled in
- add a reference to :h W24
- explain in more detail the error message

closes: #16069

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-17 16:07:50 +01:00
Christian Brabandt
deda23f850 runtime(doc): Makefile does not clean up all temporary files
Also remove (automatically generated) tags-* (made by make vimtags) and
vim-stylesheet.css (which is produced by vim2html.pl).

related: #16061

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-16 12:47:06 +01:00
glepnir
5c66e23c62 patch 9.1.0867: ins_compl_add() has too many args
Problem:  ins_compl_add() has too many args
Solution: refactor it and use an int array instead of 2 separate int
          args (glepnir)

closes: #16062

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-15 19:58:27 +01:00
Luca Saccarola
54996ecda0 editorconfig: don't trim trailing whitespaces in runtime/doc
closes: #16058

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-15 19:54:45 +01:00
Christian Brabandt
ba0b458570 translation(am): Remove duplicate keys in desktop files
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-15 15:59:52 +01:00
Christian Brabandt
232a77e80a runtime(doc): update helptags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-15 15:47:33 +01:00
Christian Brabandt
7e4b861da9 runtime(filetype): remove duplicated *.org file pattern
related: #16054

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-15 15:46:27 +01:00
Christian Brabandt
7c3b65eb3e runtime(cfg): only consider leading // as starting a comment
fixes: #16051

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 23:22:31 +01:00
Wu, Zhenyu
bc32bbddcf patch 9.1.0866: filetype: LLVM IR files are not recognized
Problem:  filetype: LLVM IR files are not recognized
Solution: detect '*.ll' files either as lifelines or llvm filetype
          (Wu, Zhenyu)

closes: #15824

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 22:55:36 +01:00
Luca Saccarola
0684800c85 patch 9.1.0865: filetype: org files are not recognized
Problem:  filetype: org files are not recognized
Solution: detect '*.org' files as 'org' filetype,
          include filetype and syntax plugin
          (Luca Saccarola)

closes: #16054

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 22:44:14 +01:00
Shougo Matsushita
4bd9b2b246 patch 9.1.0864: message history is fixed to 200
Problem:  message history is fixed to 200
Solution: Add the 'msghistory' option, increase the default
          value to 500 (Shougo Matsushita)

closes: #16048

Co-authored-by: Milly <milly.ca@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 22:34:24 +01:00
mikoto2000
de094dcd6f patch 9.1.0863: getcellpixels() can be further improved
Problem:  getcellpixels() can be further improved
Solution: improve it further, add more tests
          (mikoto2000)

closes: #16047

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 22:13:48 +01:00
Lukas Zapletal
0acd3abfad runtime(sh): better function support for bash/zsh in indent script
closes: #16052

Signed-off-by: Lukas Zapletal <lzap+git@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 21:52:44 +01:00
Konfekt
460799d885 runtime(netrw): small fixes to netrw#BrowseX
- do not enter dir in Netrw on opening
- double quotes after start cause error on Windows

See @chrisbra 's comments at
[0]

[0]: ff82e7a9db (diff-39baf27d8f62071617bbef12f874cce31c0ebd02ec99e7b119474ca870c636a3R5279)

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 21:42:27 +01:00
Luca Saccarola
437bc13ea1 patch 9.1.0862: 'wildmenu' not enabled by default in nocp mode
Problem:  'wildmenu' not enabled by default in nocp mode
Solution: promote the default Vim value to true, it has been enabled
          in defaults.vim anyhow, so remove it there (Luca Saccarola)

closes: #16055

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 21:21:17 +01:00
Christian Brabandt
8b97ca66cf runtime(doc): update how to report issues for mac Vim
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 21:13:34 +01:00
Christian Brabandt
dbf231a4b7 runtime(doc): mention option-backslash at :h CompilerSet
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-13 20:28:43 +01:00
D. Ben Knoble
c4208da0f4 runtime(compiler): include a Java Maven compiler plugin
@Konfekt suggested adding this [1]; I confirmed that both source
repositories have permissive licenses [2], [3] that permit copying the
code (at least where the compiler scripts are concerned).

[1]: 570b1006fd
[2]: https://github.com/JalaiAmitahl/maven-compiler.vim
[3]: https://github.com/mikelue/vim-maven-plugin/issues/13

closes: #16041

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-13 19:51:29 +01:00
D. Ben Knoble
8e013b1421 runtime(racket): update Racket runtime files
This brings the included Racket runtime files to commit c41bc5a (indent
for[*]/lists with accumulator clause correctly, 2024-11-12) of
https://github.com/benknoble/vim-racket.

Note that not all files from that repository are included.

closes: #16046

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-13 19:45:38 +01:00
Christian Brabandt
9b05326afd runtime(doc): improve indentation in examples for netrw-handler
related: #16043

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-13 17:14:39 +01:00
Christian Brabandt
8b96858996 runtime(doc): improve examples for netrw-handler functions
fixes: #16043

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-13 15:38:33 +01:00
Serhii Khoma
5ca8f223f0 runtime(idris2): include filetype,indent+syntax plugins for (L)Idris2 + ipkg
closes: #15993

Co-authored-by: Christian Clason <ch.clason+github@icloud.com>
Signed-off-by: Serhii Khoma <srghma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 21:52:20 +01:00
Christian Brabandt
f18987caa5 runtime(doc): clarify the use of filters and external commands
related: #16044

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 21:38:22 +01:00
Yegappan Lakshmanan
e798446362 patch 9.1.0861: Vim9: no runtime check for object member access of any var
Problem:  Vim9: no runtime check for object member access of any var
          (after: 9.1.0850)
Solution: Add runtime type compatibility check for object member
          accessed using a any variable (Yegappan Lakshmanan).

closes: #16037

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 21:03:00 +01:00
Konfekt
210c49bbe8 runtime(compiler): update pylint linter
closes: #16039

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 20:48:31 +01:00
Yee Cheng Chin
24078e39cd patch 9.1.0860: tests: mouse_shape tests use hard code sleep value
Problem:  tests: mouse_shape tests use hard code sleep value
          (Bram Moolenaar)
Solution: Use WaitForAssert() instead (Yee Cheng Chin)

related: #12157
closes: #16042

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 20:26:48 +01:00
GuyBrush
13a6605ddf patch 9.1.0859: several problems with the GLVS plugin
Problem:  several problems with the GLVS plugin
Solution: fix issues, add regression tests, require at least Vim 9.1
          (GuyBrush)

closes: #16036

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 20:23:41 +01:00
Christian Brabandt
002ccbfac4 patch 9.1.0858: Coverity complains about dead code
Problem:  Coverity complains about dead code
          (after v9.1.0852)
Solution: adjust #ifdef FEAT_CLIPBOARD

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 20:10:58 +01:00
Lennart00
129a8446d2 runtime(tar): Update tar.vim to support permissions
These changes enable tar.vim to keep permissions of files that were
edited intact instead of replacing them with the default permissions.

The major change for this is switching from "tar -OPxf", which reads out
the contents of the selected file from an tar archive to stdout to
"tar -pPxf" which extracts the selected file to the current directory
with permissions intact

This requirs the temporary directory to be created earlier.

closes: #7379

Signed-off-by: Lennart00 <73488709+Lennart00@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 22:39:30 +01:00
DungSaga
4b9fa95712 patch 9.1.0857: xxd: --- is incorrectly recognized as end-of-options
Problem:  xxd: --- is incorrectly recognized as end-of-options
Solution: improve xxds end-of-option parser (DungSaga)

closes: #9285

Signed-off-by: DungSaga <dungsaga@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 22:19:50 +01:00
Yee Cheng Chin
a1b654ff36 patch 9.1.0856: mouseshape might be wrong on r and gr
Problem:  mouseshape might be wrong on r and gr
Solution: call update_mousesape(-1) immediately
          (Yee Cheng Chin)

Currently, when entering the "pretend" or single character replace modes
using `r` or `gr`, the mouse cursor doesn't immediately update until you
have re-focused the window or moved the mouse. This is because it's not
calling `update_mouseshape(-1)` immediately, so the cursor will only be
updated when it's called by other functions like `gui_mouse_focus`.

To fix this, just make sure we call this `update_mouseshape(-1)`. It's
what we do when entering Insert or Replace modes for example.

I noticed this when trying to figure out why MacVim CI is failing in
`Test_mouse_shape_after_cancelling_gr` (introduced in #12110), but I
think that test is only passing in Vim GTK CI by accident, since this
issue happens there too. I think the window captured focus after the
mouse `gr` call which triggers a mouse shape change but it probably
would have failed under other circumstances.

fixes: #14660
closes: #12157

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 21:57:27 +01:00
nwounkn
2e48567007 patch 9.1.0855: setting 'cmdheight' may cause hit-enter-prompt
Problem:  setting 'cmdheight' may cause hit-enter-prompt and echo output
          to be missing
Solution: Before cleaning the cmdline, check the need_wait_return flag
          (nwounkn)

closes: #13432

Signed-off-by: nwounkn <nwounkn@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 21:48:30 +01:00
Luca Saccarola
feea1b444e Add an .editorconfig file to repository
This commit tries to use an editorconfig file to ensure the same
settings across editors while contributing to the vim repository.

The rules are based of the guidelines defined in
`runtime/doc/develop.txt`.

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 21:37:40 +01:00
mikoto2000
1083cae709 patch 9.1.0854: cannot get terminal cell size
Problem:  cannot get terminal cell size
Solution: add getcellpixels() function to return xpixel * ypixel
          cell size on terminal Unix (mikoto2000)

closes: #16004

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 21:24:14 +01:00
Jonathan Lopez
6fbf63de86 patch 9.1.0853: filetype: kubernetes config file not recognized
Problem:  filetype: kubernetes config file not recognized
Solution: detect '/.kube/config' file as yaml filetype
          (Jonathan Lopez)

closes: #11076

Signed-off-by: Jonathan Lopez <jonathanglopez@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 21:03:31 +01:00
Christian Brabandt
45e0704d96 patch 9.1.0852: No warning when X11 registers are not available
Problem:  No warning when X11 registers are not available
          (delvh)
Solution: Output W23 once when connection to X11 clipboard/selection
          is not possible, mention in the documentation, that register 0
          will be used instead

Vim silently uses the 0 register, when clipboard or selection register * or +
are not available. This might be a bit unexpected for the user.

So let's just warn once when this happens.

fixes: #14768
closes: #16013

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 20:52:55 +01:00
John Marriott
e7a1bbf210 patch 9.1.0851: too many strlen() calls in getchar.c
Problem:  too many strlen() calls in getchar.c
Solution: refactor code and reduce strlen() calls
          (John Marriott)

closes: #16017

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 20:40:33 +01:00
Yegappan Lakshmanan
56d45f1b66 patch 9.1.0850: Vim9: cannot access nested object inside objects
Problem:  Vim9: cannot access nested object inside objects
          (lifepillar, 91khr, mawkish)
Solution: Add support for accessing an object member using a "any"
          variable type (Yegappan Lakshmanan)

fixes: #11822
fixes: #12024
fixes: #12196
fixes: #12198
closes: #16029

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 20:01:06 +01:00
Christian Brabandt
622f6f5b9a runtime(tex): extra Number highlighting causes issues
So let's revert "runtime(tex): add Number highlighting to syntax file"

This (partly) reverts commits 8e6b5034f3 and 6065755a39

fixes: #16030

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-11 08:50:24 +01:00
Doug Kearns
7724d621f2 runtime(vim): Fix indent after :silent! function
See 35699f1749 (commitcomment-148816912)

closes: #16009

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 20:36:28 +01:00
zeertzjq
7c5152826f patch 9.1.0849: there are a few typos in the source
Problem:  there are a few typos in the source.
Solution: Correct typos (zeertzjq).

closes: #16026

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 20:26:12 +01:00
Christian Brabandt
5b63b236a0 runtime(netrw): directory symlink not resolved in tree view
closes: #16020

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 20:22:34 +01:00
Christian Brabandt
18defabaeb runtime(doc): add a table of supported Operating Systems
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 20:10:42 +01:00
Christian Brabandt
6065755a39 runtime(tex): update Last Change header in syntax script
related: #11271

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 14:10:52 +01:00
zeertzjq
060107cbc4 runtime(doc): fix typo in g:termdebug_config
closes: #16023

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 14:10:00 +01:00
Doug Kearns
bbe5252c2c runtime(vim): Update base-syntax, improve :normal highlighting
Fix command name termination, match bang, and allow a line-continued
argument.

closes: #15358

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-09 19:11:25 +01:00
amarakon
8e6b5034f3 runtime(tex): add Number highlighting to syntax file
closes: #11271

Signed-off-by: amarakon <amar.al-zubaidi45@tutanota.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-09 18:59:31 +01:00
h-east
624bb83619 runtime(doc): Tweak documentation style a bit
closes: #11419

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-09 18:37:32 +01:00
zeertzjq
50732c7ba6 patch 9.1.0848: if_lua: v:false/v:true are not evaluated to boolean
Problem:  if_lua: v:false/v:true are not evaluated to boolean
Solution: Use lua_pushboolean() instead of lua_pushinteger().
          (zeertzjq)

fixes: #15994
closes: #11419

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-09 18:31:08 +01:00
Dani Dickstein
a14c457cad runtime(dune): use :setl instead of :set in ftplugin
closes: #11419

Signed-off-by: Dani Dickstein <daniel.dickstein@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-09 11:53:54 +01:00
Ella Moss
5e7f43b6ac runtime(termdebug): allow to use decimal signs
closes: #16011

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ella Moss <ella.moss@utah.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-09 11:32:15 +01:00
Antonio Giovanni Colombo
815c822aaf translation(it): Updated Italian vimtutor
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-08 18:53:56 +01:00
Konfekt
0f60fbf679 runtime(compiler): improve cppcheck
Properly escape the values for makeprg according to the :set rules

closes: #16014

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-08 18:51:52 +01:00
Christian Brabandt
07c9ab8c05 git: git-blame-ignore-revs shown as an error on Github
So let's move the comment above the actual revision.

related:
8854244587 (commitcomment-148723832)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-08 12:45:58 +01:00
Christian Brabandt
28d3941ede patch 9.1.0847: tests: test_popupwin fails because of updated help file
Problem:  tests: test_popupwin fails because of updated main help file
Solution: normalize Last Change header in test_popup_setbuf screendumps

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 23:05:57 +01:00
Yee Cheng Chin
d91124f926 patch 9.1.0846: debug symbols for xxd are not cleaned in Makefile
Problem:  debug symbols for xxd are not cleaned in Makefile
Solution: remove  xxd.dSYM in xxds Makefile, call xxd clean target from
          main Makefile (Yee Cheng Chin)

Remove xxd.dSYM folder when calling `make clean`. On macOS, when
compiling with debug info, clang will generate a "dSYM" folder that
contains debug symbols for the executable because unlike Linux, the
DWARF data is not embedded in the executable itself.

closes: #16010

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 22:11:06 +01:00
Duke
39f52a6249 runtime(structurizr): Update structurizr syntax
closes: #16003

Signed-off-by: Duke <emersonalmeidax@gmail.com>
Signed-off-by: Bastian Venthur <venthur@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 22:05:32 +01:00
Ron Aaron
6e410c9112 runtime(8th): updated 8th syntax
closes: #16005

Signed-off-by: Ron Aaron <ron@aaron-tech.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 21:59:44 +01:00
h-east
c9e8640476 runtime(doc): Add pi_tutor.txt to help TOC
closes: #16006

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 21:53:45 +01:00
Konfekt
6d9a145d71 runtime(compiler): add mypy and ruff compiler; update pylint linter
mypy and ruff come from
https://github.com/Konfekt/vim-compilers/tree/master/compiler and the
former was added by @pbnj-dragon

closes: #16007

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 21:40:22 +01:00
Tom Benham
64a536d4fa runtime(netrw): fix several bugs in netrw tree listing
fixes: #5630
fixes: #9807
fixes: #14623
closes: #15996

Signed-off-by: Tom Benham <tom.benham13@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 21:31:49 +01:00
Christian Brabandt
a063b22b3b runtime(netrw): prevent polluting the search history
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-07 14:31:09 +01:00
Aliaksei Budavei
715a58fda6 patch 9.1.0845: vimtutor shell script can be improved
Problem:  vimtutor shell script can be improved
Solution: further improve the vimtutor shell script
          (Aliaksei Budavei)

- Rewrite the script usage note.
- Reconcile the usage help output with the manual page entry
  that describes the implementation in that:
  * a language code argument can be used alone or with its
    option key, e.g. "vimtutor -l nl" or "vimtutor nl";
  * a chapter number argument cannot be used without its
    option key, e.g. "vimtutor -c 2".
- Accept only chapters 1 or 2 as valid chapter arguments.
- Double-quote instances of shell parameter expansion where
  neither pathname expansion nor field splitting is desired.
- Prefer "$(foo)" to "`foo`" for command substitution.
- Follow a single indentation style (see the modeline).

closes: #15992

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-06 21:58:53 +01:00
Ben Jackson
ea19e7856b patch 9.1.0844: if_python: no way to pass local vars to python
Problem:  if_python: no way to pass local vars to python
Solution: Add locals argument to py3eval(), pyeval() and pyxeval()
          (Ben Jackson)

fixes: #8573
closes: #10594

Signed-off-by: Ben Jackson <puremourning@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-06 21:53:07 +01:00
John Marriott
fd1a838d36 patch 9.1.0843: too many strlen() calls in undo.c
Problem:  too many strlen() calls in undo.c
Solution: refactor code and remove strlen() calls, update test_undo.vim
          and close remaining open swap files (John Marriott)

closes: #15995

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-06 21:39:15 +01:00
Yee Cheng Chin
39cd9061b1 runtime(doc): update default value for fillchars option
closes: #15998

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-06 20:20:57 +01:00
Enno
3780c11267 runtime(compiler): fix typo in cppcheck compiler plugin
closes: #16002

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-06 20:14:49 +01:00
Christian Brabandt
5ccac75d96 runtime(doc): simplify vimtutor manpage a bit more
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 21:03:17 +01:00
Matteo Landi
59834ba6df runtime(matchparen): Add matchparen_disable_cursor_hl config option
Set the "matchparen_disable_cursor_hl" config variable to disable
highlighting the cursor with the MatchParen highlighting group.

closes: #15984

Signed-off-by: Matteo Landi <matteo@matteolandi.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 20:46:54 +01:00
Jonas Sortie Termansen
8bb5eaf019 patch 9.1.0842: not checking for the sync() systemcall
Problem:  not checking for the sync() systemcall
Solution: check for sync in configure script, fix related #ifdefs
          (Jonas Termansen)

It's better to check for features directly rather than maintaining a
denylist of operating systems without them.

closes: #15985

Signed-off-by: Jonas 'Sortie' Termansen <sortie@maxsi.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 20:36:41 +01:00
Yee Cheng Chin
cef8ab2c75 patch 9.1.0841: tests: still preferring python2 over python3
Problem:  tests: still preferring python2 over python3
Solution: prefer Python 3 when picking a Python program in Vim tests,
          by checking for the more specific python version first and
          only when python3 not found, check for the python binary
          (Yee Cheng Chin)

Most OSes have Python 3 mapped to `python3` instead of `python`. Vim
tests should prioritize using that instead of Python 2 in case that is
still installed on the host system.

closes: #15986

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 20:26:47 +01:00
Serhii Khoma
c04bc64ba6 patch 9.1.0840: filetype: idris2 files are not recognized
Problem:  filetype: idris2 files are not recognized
Solution: detect '*.idr' files as idris2, '*.lidr' files as lidris2
          and '*.ipkg' files as ipkg filetype (Serhii Khoma)

closes: #15987

Signed-off-by: Serhii Khoma <srghma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 20:14:43 +01:00
Riley Bruins
93f65a4ab8 patch 9.1.0839: filetype: leo files are not recognized
Problem:  filetype: leo files are not recognized
Solution: detect '*.leo' files as leo filetype, include
          a filetype plugin (Riley Bruins)

References:
https://github.com/ProvableHQ/leo

closes: #15988

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 19:58:45 +01:00
Riley Bruins
19bc76c929 runtime(cook): include cook filetype plugin
References:
https://github.com/cooklang/spec?tab=readme-ov-file#comments

closes: #15989

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 19:50:47 +01:00
James McCoy
9dadfe7a52 runtime(debversions): Update Debian versions
- Move mantic to unsupported
- Reorder names to maintain alphabetic order
- Bump date to submit upstream

closes: #15991

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 19:48:37 +01:00
Aliaksei Budavei
09cc8c92d1 patch 9.1.0838: vimtutor is bash-specific
Problem:  vimtutor is bash-specific (after 17c71daf83)
Solution: port back to POSIX sh (Aliaksei Budavei).

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 19:43:22 +01:00
Christian Brabandt
ac2bb9dfea runtime(doc): add help specific modeline to pi_tutor.txt
related: #6414

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-04 19:37:24 +01:00
Christian Brabandt
c39c0230c4 Filelist: vimtutor chapter 2 is missing in Filelist
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 21:22:08 +01:00
Jonas Sortie Termansen
2cf145b78b patch 9.1.0837: cross-compiling has some issues
Problem:  Cross-compiling to good modern operating systems is difficult as
          configure assumes obscure bugs are present by default. However,
          most core autoconf-based packages today assume features work
          when in doubt, making cross-compilation easier.
Solution: Assume features work by default and continue to issue a warning
          with the appropriate cache variable. This solution shifts the
          burden onto the users of rare buggy operating systems and
          makes cross-compilation work out of the box for everyone else.

The vim_cv_terminfo test was accidentally negated, where the yes case
was in the error handler, leading to false positives if the test program
failed to compile.

Split the timer_create detection into two phases: First locating the
the library containing timer_create, and then another check to check
if timer_create works to properly support cross-compilation.

Signed-off-by: Jonas 'Sortie' Termansen <sortie@maxsi.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 20:58:21 +01:00
Paul Desmond Parker
17c71daf83 runtime(vimtutor): Add a second chapter
fixes: #5719
closes: #5729

Signed-off-by: Paul Desmond Parker <pauldesmondparker@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 20:54:32 +01:00
Yegappan Lakshmanan
a54816b884 patch 9.1.0836: The vimtutor can be improved
Problem:  the vimtutor can be improved
Solution: port and include the interactive vimtutor plugin from Neovim
          (by Felipe Morales) (Yegappan Lakshmanan)

closes: #6414

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2024-11-03 11:01:10 +01:00
zeertzjq
6eda269600 patch 9.1.0835: :setglobal doesn't work properly for 'ffu' and 'tsrfu'
Problem:  :setglobal doesn't work properly for 'ffu' and 'tsrfu' when
          the local value is set (after v9.1.0831)
Solution: Check os_flags instead of buffer option variable (zeertzjq).

closes: #15980

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 09:23:33 +01:00
Aliaksei Budavei
ca6231b8a6 patch 9.1.0834: tests: 2html test fails
Problem:  tests: 2html test fails (after b256221e83)
Solution: Adjust testdir/samples/Test_tohtml_basic.c.html
          (Aliaksei Budavei)

closes: #15981

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 09:19:14 +01:00
Aliaksei Budavei
9fd5d9674f patch 9.1.0833: CI: recent ASAN changes do not work for indent tests
Problem:  CI: recent ASAN changes do not work for indent tests
Solution: Move code to runtime/indent/testdir/runtest.vim
          (Aliaksei Budavei)

closes: #15981

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 09:15:35 +01:00
zeertzjq
46dcd84d24 patch 9.1.0832: :set doesn't work for 'cot' and 'bkc' after :setlocal
Problem:  :set doesn't work for 'cot' and 'bkc' after :setlocal.
Solution: clear the local flags when using :set (zeertzjq).

closes: #15981

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 09:10:50 +01:00
Christian Brabandt
6081c17890 runtime(doc): update help-toc description
related: #10446

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 09:06:10 +01:00
Max Bernstein
b256221e83 runtime(2html): Make links use color scheme colors in TOhtml
The browser-default dark blue/purple colors don't fit in with most color
schemes and also are unreadable if the color scheme has a dark
background.

closes: #10191

Signed-off-by: Max Bernstein <tekknolagi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 18:48:53 +01:00
Yegappan Lakshmanan
a13f3a4f5d patch 9.1.0831: 'findexpr' can't be used as lambad or Funcref
Problem:  'findexpr' can't be used for lambads
          (Justin Keyes)
Solution: Replace the findexpr option with the findfunc option
          (Yegappan Lakshmanan)

related: #15905
closes: #15976

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 18:43:42 +01:00
Christian Brabandt
0b8176dff2 Filelist: include helptoc package
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 18:20:30 +01:00
lagygoill
b3ec5643cd runtime(doc): include a TOC Vim9 plugin
closes: #10446

See :h help-TOC

Signed-off-by: lagygoill <lacygoill@lacygoill.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 17:58:33 +01:00
Christian Brabandt
29ce419076 Filelist: ignore .git-blame-ignore-revs
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 16:49:57 +01:00
glepnir
bc10be7a40 patch 9.1.0830: using wrong highlight group for spaces for popupmenu
Problem:  using wrong highlight group for spaces for popupmenu
Solution: use original attribute instead of combined attributed
          (glepnir)

closes: #15978

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 16:45:01 +01:00
Yinzuo Jiang
d181bafd0b runtime(typst): synchronize updates from the upstream typst.vim
2 commits included from the upstream:

- 2a4a0e0662
- 50e89f4811

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 16:35:46 +01:00
Christian Brabandt
8854244587 git: ignore reformatting commit for git-blame (after v9.1.0829)
See:
https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile

Enable this using the following command in your copy:
git config blame.ignoreRevsFile .git-blame-ignore-revs

Github should pick it up automatically

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 16:29:55 +01:00
Luca Saccarola
8ce738de3f patch 9.1.0829: Vim source code uses a mix of tabs and spaces
Problem:  Vim source code uses a mix of tabs and spaces
Solution: Expand tabs in sound.c, this is an experiment
          (Luca Saccarola)

closes: #15969

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 16:22:45 +01:00
John Marriott
8d4477ef22 patch 9.1.0828: string_T struct could be used more often
Problem:  string_T struct could be used more often
Solution: Refactor code and make use of string_T struct
          for key-value pairs, reformat overlong lines
          (John Marriott)

closes: #15975

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 16:11:58 +01:00
Aliaksei Budavei
f1d83c4c71 patch 9.1.0827: CI: tests can be improved
Problem:  CI: tests can be improved
Solution: collect failed indent tests, raise timeout for search()
          functions when using ASAN/Valgrind (Aliaksei Budavei)

ASan-instrumented Vim builds tend to run slower (x2) than
non-instrumented Vim builds and occasionally make indent
tests fail when "search*()" functions time out and give up
further execution.

Reference:
https://github.com/google/sanitizers/wiki/AddressSanitizer

closes: #15974

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 15:51:14 +01:00
S. B. Tam
a95d6a3d64 runtime(doc): remove stray sentence in pi_netrw.txt
closes: #15971

Signed-off-by: S. B. Tam <cpplearner@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 15:48:54 +01:00
Riley Bruins
84b5b1c660 patch 9.1.0826: filetype: sway files are not recognized
Problem:  filetype: sway files are not recognized
Solution: detect '*.sw' files as sway filetype, include
          a filetype plugin (Riley Bruins)

References:
 https://github.com/FuelLabs/sway.

Comments taken from their syntax documentation. File extension taken
from the same documentation/GitHub's own recognition of these file types

closes: #15973

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-02 15:44:43 +01:00
Ernesto Elsäßer
26113e5ae3 runtime(doc): Include netrw-gp in TOC
closes: #7627

Signed-off-by: Ernesto Elsäßer <ernesto.elsaesser@me.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-01 23:17:03 +01:00
Christian Brabandt
b5e7da1f27 runtime(doc): mention 'iskeyword' at :h charclass()
fixes: #15965

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-01 09:33:00 +01:00
Christian Brabandt
15f69de263 runtime(doc): update help tags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 11:08:40 +01:00
John Marriott
69f85c6506 patch 9.1.0825: compile error for non-diff builds
Problem:  compile error for non-diff builds
          (after v9.1.0822)
Solution: Add #ifdef FEAT_DIFF (John Marriott)

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 10:54:10 +01:00
Tom Benham
4d618006ec runtime(netrw): fix E874 when browsing remote directory which contains ~ character
closes: #15964

Signed-off-by: Tom Benham <tom.benham13@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 10:47:23 +01:00
Luca Saccarola
55adc5b46a runtime(doc): update coding style documentation
closes: #15939

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
2024-10-31 10:28:40 +01:00
Simon Quigley
6be21b937d runtime(debversions): Add plucky (25.04) as Ubuntu release name
closes: #15882

Signed-off-by: Simon Quigley <tsimonq2@ubuntu.com>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 10:18:05 +01:00
John Marriott
79f6ffd388 patch 9.1.0824: too many strlen() calls in register.c
Problem:  too many strlen() calls in register.c
Solution: refactor code, add string_T struct to keep track
          of string lengths (John Marriott)

closes: #15952

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 10:09:04 +01:00
Xudong Zheng
a68bd6f089 patch 9.1.0823: filetype: Zephyr overlay files not recognized
Problem:  filetype: Zephyr overlay files not recognized
Solution: detect '*.overlay' files as dts filetype,
          include syntax tests for DTS files
          (Xudong Zheng)

Reference:
https://docs.zephyrproject.org/latest/build/dts/howtos.html

closes: #15963

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 09:32:25 +01:00
Yee Cheng Chin
d52fb2fabd runtime(doc): Clean up minor formatting issues for builtin functions
closes: #15966

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 09:25:09 +01:00
Christian Brabandt
8b0fa7a565 runtime(netrw): make :Launch/Open autoloadable
fixes: #15959
closes: #15962

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-31 09:21:23 +01:00
Christian Brabandt
9f32069b8c runtime(netrw): fix regression with x mapping on Cygwin
related: #13687

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-30 18:37:06 +01:00
Christian Brabandt
aa2ce6f580 runtime(netrw): fix filetype detection for remote files
fixes: #15961

while at it, remove the Decho comments in the s:NetrwOptionsRestore()
function

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-30 18:27:03 +01:00
Christian Brabandt
05a40e07c2 patch 9.1.0822: topline might be changed in diff mode unexpectedly
Problem:  topline might be changed in diff mode unexpectedly
          (Jaehwang Jung)
Solution: do not re-calculate topline, when using line() func
          in diff mode.

fixes: #15812
closes: #15950

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-29 20:29:04 +01:00
Christian Brabandt
203c7225f5 CI: huge linux builds should also run syntax & indent tests
closes: #15960

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-29 20:27:34 +01:00
zeertzjq
20e045f781 patch 9.1.0821: 'findexpr' completion doesn't set v:fname to cmdline argument
Problem:  'findexpr' completion doesn't set v:fname to cmdline argument.
Solution: Set v:fname to the cmdline argument as-is (zeertzjq).

closes: #15934

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 22:05:26 +01:00
Milly
baab7c0865 patch 9.1.0820: tests: Mac OS tests are too flaky
Problem:  tests: Mac OS tests are too flaky
Solution: Increase max test timeout to 25 minutes,
          allow up to 10 retries on Mac OS runners,
          refactor runtest.vim (Milly).

closes: #15940

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 21:56:50 +01:00
John M Devin
1e2007e643 runtime(awk): Highlight more awk comments in syntax script
closes: #15944

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 21:46:09 +01:00
Christian Brabandt
d69ffbe4bc runtime(netrw): add missing change for s:redir()
Somehow, that change got lost in commit 70197885

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 21:24:47 +01:00
Yegappan Lakshmanan
bdac2ef6fe patch 9.1.0819: tests: using findexpr and imported func not tested
Problem:  tests: need a test for findexpr and vim9 imported func
Solution: Add a test for 'findexpr' and Vim9 imported script
          (Yegappan Lakshmanan)

closes: #15954

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 21:01:28 +01:00
Enno
70197885a8 runtime(netrw): improve netrw's open-handling further
closes: #15956

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 20:47:25 +01:00
Christian Brabandt
7c96776729 runtime(netrw): fix syntax error in netrwPlugin.vim
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-28 07:03:24 +01:00
Konfekt
3d7e567ea7 runtime(netrw): simplify gx file handling
It did not work very well, at least on Debian 12, and I am not sure Git
Bash and WSL, for example, were taken care of as maintenance stalled.

The whole logic was somewhat convoluted with some parts repeatedly invoking
failed commands.

The file handling was outdated, for example, nowadays Netscape is rarely
used, and also opinionated, for example mainly Microsoft Paint and Gimp for
Image files.

Instead, let's use (xdg-)open and similar commands on other systems
which respects the user's preferences.

closes: #15721

Co-authored-by: Luca Saccarola <96259932+saccarosium@users.noreply.github.com>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 22:16:49 +01:00
Yegappan Lakshmanan
a04003a929 patch 9.1.0818: some global functions are only used in single files
Problem:  some global functions are only used in single files
Solution: refactor code slightly and make some more functions static
          (Yegappan Lakshmanan)

closes: #15951

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 21:54:11 +01:00
Peter Wolf
8f1d09828a patch 9.1.0817: termdebug: cannot evaluate expr in a popup
Problem:  termdebug: cannot evaluate expr in a popup
Solution: enhance termdebug plugin and allow to evaluate expressions in
          a popup window, add a unit test (Peter Wolf).

fixes: #15877
closes: #15933

Signed-off-by: Peter Wolf <pwolf2310@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 21:51:14 +01:00
Christian Brabandt
2abec431e1 runtime(defaults): Detect putty terminal and switch to dark background
Vim tries to determine the default background and checks for $TERM
and even checks for the "putty" value. But unfortunately, putty by
default uses "xterm" as $TERM value and as such Vim uses a "light"
background.

So use a TermResponse autocommand to set the background for putty back
to dark.

Note: this only works on non-tiny builds and when defaults.vim is in
use.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 21:36:09 +01:00
Christian Brabandt
ce35ee8986 patch 9.1.0816: tests: not clear what tests cause asan failures
Problem:  tests: not clear what tests cause asan failures
Solution: append testname to $ASAN_OPTIONS

Mention what test causes ASAN failures by appending the testname
to log_path in $ASAN_OPTIONS/$UBSAN_OPTIONS. This assumes 'log_path' is
always the last sub-option in $ASAN_OPTIONS.

While at it, also make the CI run with `-O0` instead of `-O1` when ASAN
is enable since this causes line numbers to disappear.

closes: #15927

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 21:15:50 +01:00
Yegappan Lakshmanan
912fbaf6e8 runtime(doc): Remove some completed items from todo.txt
closes: #15949

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 20:46:42 +01:00
zeertzjq
91d26aa338 patch 9.1.0815: "above" virtual text causes wrong 'colorcolumn' position
Problem:  "above" virtual text causes wrong 'colorcolumn' position.
          (@matrdr)
Solution: Use the number of cells instead of bytes for vcol_off_tp.
          (zeertzjq)

fixes: #15946
closes: #15948

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-27 19:24:53 +01:00
Christian Brabandt
de79f9129a runtime(syntax-tests): tiny vim fails because of line-continuation
Problem:  tiny vim fails because of line-continuation, although
          the test script should be skipped for non-eval builds of Vim.
Solution: :set cpo&vim

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-24 23:03:10 +02:00
zeertzjq
fdf135a052 patch 9.1.0814: mapset() may remove unrelated mapping
Problem:  mapset() may remove unrelated mapping whose {rhs} matches the
          restored mapping's {lhs}.
Solution: only match by {lhs} when unmapping for mapset() (zeertzjq).

closes: #15935

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-24 21:43:43 +02:00
Milly
118072862b patch 9.1.0813: no error handling with setglobal and number types
Problem:  no error handling with setglobal and number types
Solution: validate values when using :setglobal with number option types
          (Milly)

closes: #15928

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-23 21:42:41 +02:00
Christian Brabandt
d0809869d6 patch 9.1.0812: Coverity warns about dereferencing NULL ptr
Problem:  Coverity warns about dereferencing NULL ptr
          in check_colorcolumn()
Solution: verify that wp is not null before accessing it

related: #15914

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-23 21:32:31 +02:00
Yegappan Lakshmanan
2f6efaccfd patch 9.1.0811: :find expansion does not consider 'findexpr'
Problem:  :find expansion does not consider 'findexpr'
Solution: Support expanding :find command argument using 'findexpr'
          (Yegappan Lakshmanan)

closes: #15929

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-23 21:06:10 +02:00
Yegappan Lakshmanan
aeb1c97db5 patch 9.1.0810: cannot easily adjust the |:find| command
Problem:  cannot easily adjust the |:find| command
Solution: Add support for the 'findexpr' option (Yegappan Lakshmanan)

closes: #15901
closes: #15905

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 23:42:20 +02:00
Wu, Zhenyu
626b6ab486 patch 9.1.0809: filetype: petalinux config files not recognized
Problem:  filetype: petalinux config files not recognized
Solution: detect 'project-spec/*.conf' files as bitbake filetype
          (Wu, Zhenyu)

References:
https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/embedded-software/petalinux-sdk.html

closes: #15926

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 23:23:56 +02:00
Milly
6d5f4a0bed patch 9.1.0808: Terminal scrollback doesn't shrink when decreasing 'termwinscroll'
Problem:  Terminal scrollback doesn't shrink when reducing
          'termwinscroll'
Solution: Check if option value was decreased (Milly).

closes: #15904

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 23:17:45 +02:00
zeertzjq
3e5bbb8e11 patch 9.1.0807: tests: having 'nolist' in modelines isn't always desired
Problem:  tests: having 'nolist' in modelines isn't always desired
Solution: remove 'nolist' from modeline (zeertzjq)

closes: #15910

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 23:11:27 +02:00
Milly
b38700ac81 patch 9.1.0806: tests: no error check when setting global 'briopt'
Problem:  tests: no error check when setting global 'briopt'
Solution: also parse and check global 'briopt' value (Milly)

closes: #15911

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:59:39 +02:00
Milly
231480f975 patch 9.1.0805: tests: minor issues in gen_opt_test.vim
Problem:  tests: minor issues in gen_opt_test.vim
Solution: fix restore value for 'undolevels', fix comment, fix
          wrong cpo value, add equality test for global-local options on
          switchback (Milly).

closes: #15913

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:53:01 +02:00
Milly
a441a3eaab patch 9.1.0804: tests: no error check when setting global 'cc'
Problem:  tests: no error check when setting global 'cc'
Solution: also parse and check global 'cc' value (Milly)

closes: #15914

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:43:01 +02:00
Milly
5e7a6a4a10 patch 9.1.0803: tests: no error check when setting global 'isk'
Problem:  tests: no error check when setting global 'isk'
Solution: also parse and check global 'isk' value (Milly)

closes: #15915

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:27:19 +02:00
Milly
142cad1f88 patch 9.1.0802: tests: no error check when setting global 'fdm' to empty value
Problem:  tests: no error check when setting global 'fdm' to empty value
Solution: Also check global 'fdm' value for being empty (Milly).

closes: #15916

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:11:51 +02:00
Milly
94606f70e2 patch 9.1.0801: tests: no error check when setting global 'termwinkey'
Problem:  tests: no error check when setting global 'termwinkey'
Solution: Also validate when using setglobal (Milly).

closes: #15917

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:07:52 +02:00
Milly
8be10aa9e4 patch 9.1.0800: tests: no error check when setting global 'termwinsize'
Problem:  tests: no error check when setting global 'termwinsize'
Solution: Also validate when using setglobal (Milly).

closes: #15918

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 22:01:46 +02:00
zeertzjq
19be0eb7f0 runtime(doc): :ownsyntax also resets 'spelloptions'
closes: #15919

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 21:36:45 +02:00
Milly
ceec8640df patch 9.1.0799: tests: gettwinvar()/gettabwinvar() tests are not comprehensive
Problem:  tests: gettwinvar()/gettabwinvar() tests are not comprehensive
Solution: Add more tests (Milly)

closes: #15920

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 21:23:31 +02:00
Yee Cheng Chin
92b59c628a runtime(doc): Fix wrong Mac default options
Clean up docs for macOS defaults. Simply use "Unix" across the board
instead of being inconsistent and occasionally using "Unix, macOS". Also
remove stale defaults that were erroneously renamed to "macOS" from
"Macintosh" when they were actually referring to Mac OS 9 which is no
longer supported.

closes: #15924

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-22 21:16:43 +02:00
John Marriott
8df07d0ca3 patch 9.1.0798: too many strlen() calls in cmdhist.c
Problem:  too many strlen() calls in cmdhist.c
Solution: refactor code and remove strlen() calls
          (John Marriott)

closes: #15888

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-21 22:37:07 +02:00
Milly
6eca04e9f1 patch 9.1.0797: testing of options can be further improved
Problem:  testing of options can be further improved
Solution: split the generated option test into test_options_all.vim,
          add more test cases, save and restore values, fix use-after-free

closes: #15894

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-21 22:20:51 +02:00
Wu, Zhenyu
bfe568d8c4 patch 9.1.0796: filetype: libtool files are not recognized
Problem:  filetype: libtool files are not recognized
Solution: detect '*.{lo,la,lai}' as sh filetype
          (Wu, Zhenyu)

closes: #15751

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-21 22:09:32 +02:00
Luca Saccarola
421ed14b8a runtime(typst): add folding to typst ftplugin
closes: #15897

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-21 22:01:10 +02:00
Luca Saccarola
a7d456191d runtime(netrw): deprecate and remove netrwFileHandlers#Invoke()
closes: #15895

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-21 21:31:29 +02:00
Wu, Zhenyu
0887e62bce patch 9.1.0795: filetype: Vivado memory info file are not recognized
Problem:  filetype: Vivado memory info file are not recognized
Solution: detect '*.mmi' memory info file as xml filetype
          (Wu, Zhenyu)

References: https://docs.amd.com/r/en-US/ug1580-updatemem/MMI-File-Syntax

closes: #15906

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-21 20:54:13 +02:00
Milly
4f5681dbdf patch 9.1.0794: tests: tests may fail on Windows environment
Problem:  tests: tests may fail on Windows environment
Solution: use shellcmdflag=/D to skip executing autorun from
          the registry (Milly)

closes: #15900

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-20 11:06:00 +02:00
nisbet-hubbard
539349cb32 runtime(doc): improve the :colorscheme documentation
closes: #15871

Signed-off-by: nisbet-hubbard <87453615+nisbet-hubbard@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-20 10:52:50 +02:00
Aapo Rantalainen
c73fc86bf8 patch 9.1.0793: xxd: -e does add one extra space
Problem:  xxd: -e does add one extra space
Solution: fix it, refactor and merge some code
          (Aapo Rantalainen)

fixes: #15898
closes: #15899

Signed-off-by: Aapo Rantalainen <aapo.rantalainen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-19 15:54:57 +02:00
Milly
cc15bbcbc4 patch 9.1.0792: tests: Test_set_values() is not comprehensive enough
Problem:  tests: Test_set_values() is not comprehensive enough
Solution: Add a lot more test cases (Milly)

closes: #15892

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-18 19:58:04 +02:00
CismonX
f10db25367 runtime(swayconfig): add flag for bindsym/bindcode to syntax script
Add the `--inhibited` flag for the bindsym/bindcode commands.

closes: #15891

Signed-off-by: CismonX <admin@cismon.net>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-17 21:44:35 +02:00
Milly
b498c44444 patch 9.1.0791: tests: errors in gen_opt_test.vim are not shown
Problem:  tests: errors in gen_opt_test.vim are not shown
Solution: update gen_opt_test.vim and write test.log,
          let the makefile output test.log (Milly)

closes: #15887

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-17 21:05:31 +02:00
Konfekt
5e48e97e42 runtime(compiler): check for compile_commands in build dirs for cppcheck
closes: #15889

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-17 20:54:00 +02:00
Ola Söder
8fc2a097e2 patch 9.1.0790: Amiga: AmigaOS4 build should use default runtime (newlib)
Problem:  Amiga: AmigaOS4 build should use default runtime (newlib)
Solution: Remove clib2 from compiler / linker flags (Ola Söder)

closes: #15890

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-17 20:49:36 +02:00
Milly
6c2fc377bf runtime(help): Update help syntax
This commit makaes the following changes to the vim help syntax:

- fix excessive URL detection in help, because `file:{filename}` in
  doc/options.txt is determined to be a URL.
- update highlighting N for :resize in help
- split Italian-specific syntax into separate help script
- highlight `Note` in parentheses in help
- update 'titlestring' behaviour in documentation for invalid '%' format

closes: #15883

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-16 22:11:17 +02:00
Christian Brabandt
4bfb89996f runtime(help): fix end of sentence highlight in code examples
closes: #15745

Co-authored-by: Danilo Rezende <returndanilo@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-16 21:59:50 +02:00
Gregory Anders
5e53fca76f runtime(jinja): Support jinja syntax as secondary filetype
fixes: ##15880
closes: #15885

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-16 21:31:19 +02:00
Milly
c0cba184f5 patch 9.1.0789: tests: ':resize + 5' has invalid space after '+'
Problem:  tests: ':resize + 5' has invalid space after '+'
Solution: Correct the test (Milly)

closes: #15884

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-16 20:03:44 +02:00
Christian Fillion
a2834e17d1 patch 9.1.0788: <CSI>27;<mod>u is not decoded to literal Escape in kitty/foot
Problem:  <CSI>27;<mod>u is not decoded to literal Escape in kitty/foot
Solution: disable XTerm modifyOtherKeys form 1 when the kitty protocol is enabled
          (Christian Fillion)

References:
- https://invisible-island.net/xterm/modified-keys.html
- https://sw.kovidgoyal.net/kitty/keyboard-protocol/
- e891abdd6a/kitty-keymap.h
- d31459b092/kitty/key_encoding.c (L193)

fixes: #15868
closes: #15881

Signed-off-by: Christian Fillion <contact@cfillion.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-16 17:28:38 +02:00
Christian Brabandt
991657e87d patch 9.1.0787: cursor position changed when using hidden terminal
Problem:  cursor position changed when using hidden terminal
          and BufFilePost autocommand (Mizuno Jan Yuta)
Solution: Save and restore cursor position

fixes: #15854
closes: #15876

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-15 20:38:57 +02:00
Yegappan Lakshmanan
6a1deaf5ad patch 9.1.0786: tests: quickfix update test does not test location list
Problem:  tests: quickfix update test does not test location list
          (after: v9.1.0.785)
Solution: update Test_quickfix_buffer_contents to test with location
          lists (Yegappan Lakshmanan)

closes: #15879

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-15 20:26:45 +02:00
Christian Brabandt
5bcfb5a30c runtime(doc): add some docs for file-watcher programs
fixes: #15733

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 22:08:22 +02:00
Aliaksei Budavei
793c315115 CI: uploading failed screendumps still fails on Cirrus CI
Let's see if removing the double quotes makes a difference.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 21:24:03 +02:00
Jeremy Fleischman
27fbf6e5e8 patch 9.1.0785: cannot preserve error position when setting quickfix list
Problem:  cannot preserve error position when setting quickfix lists
Solution: Add the 'u' action for setqflist()/setloclist() and try
          to keep the closes target position (Jeremy Fleischman)

fixes: #15839
closes: #15841

Signed-off-by: Jeremy Fleischman <jeremyfleischman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 20:53:07 +02:00
Boris Staletic
83a06705dc patch 9.1.0784: there are several problems with python 3.13
Problem:  there are several problems with python 3.13
Solution: fix the problems in the python3 interface (Boris Staletic)

This commit does the following things:
1) Since python 3.13.0b1, all statically defined objects are "immortal".
   Besides never getting garbage collected, this also affects reference
   counting:

   - Immportal objects have a reference count of 2^32-1.
   - Reference counting is a no-op.

   All this is considered implementation details by cpython, so
   documentation is next to non-existent.

   Relevant CPython source code:
   https://github.com/python/cpython/blob/v3.13.0/Include/object.h#L62-L107
   https://github.com/python/cpython/blob/v3.13.0/Include/object.h#L389-L391

2) Opt-out of ANSI-painted python stack traces

3) Make python error message severity more consistent

fixes: #15838
closes: #15842

Signed-off-by: Boris Staletic <boris.staletic@protonmail.com>
Signed-off-by: puremourning <puremourning@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 20:28:39 +02:00
Milly
322ad0c953 patch 9.1.0783: 'spell' option setting has problems
Problem:  'spell' option setting has problems
Solution: correctly check for comma for 'spellfile' option,
          remove unnecessary checks, refactor slightly (Milly)

closes: #15873

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 20:21:48 +02:00
Christian Brabandt
0c59c30271 patch 9.1.0782: tests: using wrong neomuttlog file name
Problem:  tests: using wrong neomuttlog file name
Solution: use correct file name

related: #15858

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 19:56:38 +02:00
saher
7b5e52d16f runtime(doc): add preview flag to statusline example
Problem:  The standard statusline example is missing the preview flag
          "%w"
Solution: Add the preview flag "%w"

closes: #15874

Signed-off-by: saher <msaher.shair@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-14 19:52:50 +02:00
Christian Brabandt
7d755d8ef3 patch 9.1.0781: tests: test_filetype fails
Problem:  tests: test_filetype fails (clason)
          (after v9.1.0779)
Solution: Use correct filename for neomuttlog filetype

related: #15845

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 20:28:21 +02:00
Nir Lichtman
b516598092 patch 9.1.0780: MS-Windows: incorrect Win32 error checking
Problem:  MS-Windows: incorrect Win32 error checking
Solution: fix wrong order of error handling and perform
          some minor refactoring (Nir Lichtman)

In the function that adjusts the process privileges there is a mistake
in which GetLastError is called after CloseHandle, though clearly the
last error check is meant for the privileges related call before hand
and the current state appears like a mistake.

So fix this problem, and also perform the following:

- Remove the static variable done since the PlatformId is only called
  during initialization
- Fix incorrect parameter passed to the Win32 API privileges function

closes: #15845

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 19:44:07 +02:00
Richard Russon
a2aa921f76 patch 9.1.0779: filetype: neomuttlog files are not recognized
Problem:  filetype: neomuttlog files are not recognized
Solution: detect '*.neomuttdebug' file as neomuttlog filetype,
          include neomuttlog syntax script (Richard Russon)

closes: #15858

Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Richard Russon <rich@flatcap.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 19:42:14 +02:00
Andis Spriņķis
0f146b7925 patch 9.1.0778: filetype: lf config files are not recognized
Problem:  filetype: lf config files are not recognized
Solution: detect lfrc files as lf filetype, include a syntax
          script for lf files (Andis Spriņķis).

References:
- https://github.com/gokcehan/lf

closes: #15859

Signed-off-by: Andis Spriņķis <spr.andis@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 19:29:56 +02:00
Maxim Kim
f64bafd98a runtime(comment): fix commment toggle with mixed tabs & spaces
- fix regression where toggling doesn't properly remove comment chars in
  files with tabs indents only.
- refactor toggling comments for mixed tabs & spaces sources

closes: #15861

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 19:20:53 +02:00
h-east
a4205471ad runtime(misc): Use consistent "Vim script" spelling
References: https://groups.google.com/g/vim_dev/c/3Z5yM8KER2w/m/wAqws0QSEAAJ

closes: #15863

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 19:16:42 +02:00
Trilowy
6e918538b1 runtime(gleam): add ftplugin for gleam files
fixes: #15864
closes: #15866

Signed-off-by: Trilowy <49493635+trilowy@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 19:08:30 +02:00
Christian Brabandt
5dcee3c723 runtime(doc): link help-writing from write-local-help
fixes: #15862

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-13 10:26:37 +02:00
nisbet-hubbard
367499c5c3 patch 9.1.0777: filetype: Some upstream php files are not recognized
Problem:  filetype: Some upstream php files are not recognized
Solution: Detect more config files from the PHP source
          distribution as filetype ini (nisbet-hubbard).

closes: #15840

Signed-off-by: nisbet-hubbard <87453615+nisbet-hubbard@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 17:19:58 +02:00
Aliaksei Budavei
05d0893ed8 runtime(java): Define javaBlockStart and javaBlockOtherStart hl groups
And do not link either to any group.

Resolves zzzyxwvut/java-vim#2.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 17:12:51 +02:00
Christian Brabandt
1961cafc99 runtime(doc): mention conversion rules for remote_expr()
fixes: #15844

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 11:57:12 +02:00
Andrés
eac806bf0b runtime(tutor): Fix missing :s command in spanish translation section 4.4
closes: #15850

Signed-off-by: Andrés <abenitof@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 11:47:18 +02:00
James McCoy
ea997edc7a patch 9.1.0776: test_strftime may fail because of missing TZ data
Problem:  test_strftime may fail because of missing TZ data
Solution: Use GMT offsets to validate timezone differences (James McCoy)

Some systems only provide timezones that follow the geographical region
naming (e.g. America/New_York) by default and require an additional
install for other names (like EST).

The GMT+<offset> format must always be honored, so use that to generate
distinct data for the test.

closes: #15848

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 11:36:58 +02:00
Gagik Hakobyan
59086a25c4 translation(am): Add Armenian language translation
closes: #15853

Signed-off-by: Gagik Hakobyan <hakgagik@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 11:32:46 +02:00
Milly
484facebe4 patch 9.1.0775: tests: not enough tests for setting options
Problem:  tests: not enough tests for setting options
Solution: Add more comprehensive tests to test_options (Milly).

closes: #15856

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-12 11:26:06 +02:00
zeertzjq
85f36d61e0 patch 9.1.0774: "shellcmdline" doesn't work with getcompletion()
Problem:  "shellcmdline" doesn't work with getcompletion().
Solution: Use set_context_for_wildcard_arg() (zeertzjq).

closes: #15834

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-10 19:14:13 +02:00
nisbet-hubbard
e58e9015cc patch 9.1.0773: filetype: some Apache files are not recognized
Problem:  filetype: some Apache files are not recognized
Solution: Detect more config files from the Apache source
          distribution as filetype apache (nisbet-hubbard)

closes: #15810

Signed-off-by: nisbet-hubbard <87453615+nisbet-hubbard@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-10 19:09:28 +02:00
glepnir
7baa014d0f patch 9.1.0772: some missing changes from v9.1.0771
Problem:  some missing changes from v9.1.0771
Solution: use correct highlighting attribute and adjust comments
          (glepnir)

closes: #15836

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-09 20:19:25 +02:00
glepnir
0fe17f8ffb patch 9.1.0771: completion attribute hl_group is confusing
Problem:  Currently completion attribute hl_group is combined with
          all items, which is redundant and confusing with kind_hlgroup
Solution: Renamed to abbr_hlgroup and combine it only with the abbr item
          (glepnir).

closes: #15818

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 22:26:44 +02:00
Ruslan Russkikh
0407d621bb patch 9.1.0770: current command line completion is a bit limited
Problem:  current command completion is a bit limited
Solution: Add the shellcmdline completion type and getmdcomplpat()
          function (Ruslan Russkikh).

closes: #15823

Signed-off-by: Ruslan Russkikh <dvrussk@yandex.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 22:24:04 +02:00
Wu, Zhenyu
347d43bd33 patch 9.1.0769: filetype: MLIR files are not recognized
Problem:  filetype: MLIR files are not recognized
Solution: Detect '*.mlir' files as mlir filetype,
          include a mlir filetype plugin
          (Wu, Zhenyu)

closes: #15826

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 21:58:35 +02:00
William Bresler
ded59139fd patch 9.1.0768: MS-Windows: incorrect cursor position when restoring screen
Problem:  MS-Windows: incorrect cursor position when restoring screen
          (after v9.1.0664)
Solution: Restore the VTP command for switching screens back to
          termcap_mode_end() (William Bresler)

Patch 9.1.0664 moved the VTP command for switching back to the main
screen buffer from termcap_mode_end() to mch_exit_c().  However, the
saved cursor position from the main screen continued to be restored
in termcap_mode_end().  This failed if the cursor position was beyond
the console window height, since the alternate screen buffer is always
the same size as the console window.

This patch restores the VTP command for switching back to the main
screen buffer to termcap_mode_end().  In order to preserve the effect
of patch 9.1.0664, the VTP command for switching back to the main
screen buffer in mch_exit_c() is issued only if termcap mode was not
active while exiting Vim.

See issue 15775 for a fuller description, with screen shots of the
problem.

fixes: #15775
closes: #15829

Signed-off-by: William Bresler <wbresler@gmail.com>
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 21:42:46 +02:00
Andrii Sokolov
830a802f91 runtime(nasm): Update nasm syntax script
Co-authored-by: sarvel <sarvel@protonmail.com>
Signed-off-by: Andrii Sokolov <andriy145@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 21:10:09 +02:00
zeertzjq
c9aa6e4f2a patch 9.1.0767: A condition is always true in ex_getln.c
Problem:  A cmdlen == 0 condition is always true as ccline.cmdlen == 0
          was already checked above (after v9.1.0766).
Solution: Remove the condition and the variable.
          (zeertzjq)

closes: #15830

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 21:04:19 +02:00
Simão Afonso @ Powertools Tech
cb1d1dcc87 runtime(skill): Update syntax file to fix string escapes
The syntax script allowed for single backslash escapes like this
"string\""
But did not accommodate for the uncommon case:
"<key>\\"
Let's fix this by also skipping over double backslashes in the
skillString region.

closes: #15832

Signed-off-by: Simão Afonso @ Powertools Tech <simao.afonso@powertools-tech.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 20:58:41 +02:00
Christian Brabandt
d3b55d7f76 runtime(help): highlight CTRL-<Key> correctly
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-08 20:20:23 +02:00
Christian Brabandt
015c84ce54 runtime(doc): add missing usr_52 entry to toc
fixes: #15821

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-07 21:48:32 +02:00
John Marriott
ccf8907570 patch 9.1.0766: too many strlen() calls in ex_getln.c
Problem:  too many strlen() calls in ex_getln.c
Solution: refactor the code to reduce the number of strlen() calls
          (John Marriott)

closes: #15809

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-07 21:40:39 +02:00
Frederick Key Abell III
6e56484f05 runtime(doc): correct vi registers 1-9 documentation error
When using heirloom `vi` originally written by Bill Joy (`:version`
gives me "Version 4.0 (gritter) 12/25/06"), its possible to store text into
registers 1-9 and subsequently use the `:edit` or `:next` command to
change files and paste the contents of those numbered registers,
contrary to what Vim documentation states.

POSIX description also does not mention such a restriction:
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/ex.html#tag_20_40_13_10

closes: #15814

Signed-off-by: Frederick Key Abell III <fkabell@localhost.localdomain>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-07 21:07:12 +02:00
zeertzjq
5df3cb2898 patch 9.1.0765: No test for patches 6.2.418 and 7.3.489
Problem:  No test for patches 6.2.418 and 7.3.489
Solution: Add a test.  Fix some whitespace problems in test_mapping.vim.
          Document the behavior (zeertzjq).

closes: #15815

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-07 21:05:06 +02:00
Andreas Schneider
4f51f3a573 runtime(spec): set comments and commentstring options
closes: #15817

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-07 21:02:10 +02:00
K.Takata
48f3833ff0 NSIS: Include libgcc_s_sjlj-1.dll again
gettext-iconv-windows v0.22.5a-v1.17 requires libgcc_s_sjlj-1.dll again.
Add a new option ${INCLUDE_LIBGCC} to control whether it should be
included in the package.

This partly reverts 49f1e1979f.

Related: https://github.com/vim/vim-win32-installer/pull/355

closes: #15819

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-07 20:37:00 +02:00
Christian Brabandt
fd4e47e06b runtime(doc): clarify the effect of 'startofline' option
fixes: #15794

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 18:02:45 +02:00
Christian Brabandt
51b62387be patch 9.1.0764: [security]: use-after-free when closing a buffer
Problem:  [security]: use-after-free when closing a buffer
Solution: When splitting the window and editing a new buffer,
          check whether the newly to be edited buffer has been marked
          for deletion and abort in this case

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-rj48-v4mq-j4vg

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 17:36:31 +02:00
Doug Kearns
818c641b6f runtime(vim): Update base-syntax file, improve class, enum and interface highlighting
- Enable folding of class, enum and interface declarations.
- Highlight constructor names with the Function highlight group, like
  other special methods.
- Mark function definitions using special method names as errors.
- Highlight :type arguments.

fixes: #14393#issuecomment-2042796198.
closes: #13810

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 17:00:48 +02:00
Aliaksei Budavei
ec0229414b patch 9.1.0763: tests: cannot run single syntax tests
Problem:  tests: cannot run single syntax tests
Solution: Support running a subset of syntax tests
          (Aliaksei Budavei)

Two methods of assembling a subset of test filenames for
selection are provided:

* Filename and filetype Make targets will be generated, and
  multiple such targets can be passed before the mandated
  trailing "test" target, e.g. "make html markdown test".

* Filenames and their parts can be specified as a regular
  expression that is assigned to a "VIM_SYNTAX_TEST_FILTER"
  environment variable, and used with the test Make target,
  e.g. "VIM_SYNTAX_TEST_FILTER=html\\\|markdown make test".
  (This variable will be ignored and the whole suite will be
  run when Make is GNU Make and a parent Makefile is used.)

Methods can be used alone or together, with the Make targets
having the higher precedence. Neither method will influence
the order of test execution.

closes: #15670

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 16:57:33 +02:00
Milly
a9c6f90918 patch 9.1.0762: 'cedit', 'termwinkey' and 'wildchar' may not be parsed correctly
Problem:  'cedit', 'termwinkey' and 'wildchar' may not be parsed
          correctly
Solution: improve string_to_key() function in option.c
          (Milly)

- Problem: `^@` raises an error.
  Solution: Store as `<Nul>`.
- Problem: `<t_xx` does not raise an error.
  Solution: Raise an error if closing `>` is missing.
- Problem: Single `<` or `^` raises an error. It is inconvenient for users.
  Solution: They are stored as a single character.

closes: #15811

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 16:47:02 +02:00
Christian Brabandt
1a31c430bb patch 9.1.0761: :cd completion fails on Windows with backslash in path
Problem:  :cd completion fails on Windows with backslash in path
Solution: switch no_bslash argument to FALSE in file_pat_to_reg_pat()

Note: only fixes the problem on Windows. For Unix, we still need to
escape backslashes since those are taken as regex atoms (and could be
invalid regex atoms).

fixes: #15643
closes: #15808

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 16:34:20 +02:00
Milly
d4ad4c9b3e patch 9.1.0760: tests: no error reported, if gen_opt_test.vim fails
Problem:  tests: no error reported, if gen_opt_test.vim fails
Solution: Make Vim exit with return code 1 in case of any error
          (Milly)

closes: #15795

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 16:27:28 +02:00
Christian Brabandt
b065a10e24 patch 9.1.0759: screenpos() may return invalid position
Problem:  screenpos() may return invalid position
          after switching buffers (Greg Hurrell)
Solution: reset w_leftcol if wrapping has been set
          after copying wrap option

fixes: #15792
closes: #15803

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 17:30:22 +02:00
Konfekt
7c3f9af0ed runtime(misc): unset compiler in various ftplugins
just to foster best practices

closes: #15798

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 17:26:46 +02:00
Milly
89872f58a9 runtime(doc): update formatting and syntax
closes: #15800

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 17:16:18 +02:00
Konfekt
af449f69c7 runtime(compiler): add cppcheck linter compiler plugin
closes: #15804

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 17:09:21 +02:00
h-east
738ebfea41 runtime(doc): Fix style in documents
closes: #15801

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 16:56:47 +02:00
h-east
8ee0e0b8e3 runtime(doc): Fix to two-space convention in user manual
closes: #15802

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 16:44:27 +02:00
Konfekt
7b27fc49a8 runtime(comment): consider &tabstop in lines after whitespace indent
The count `strlen()` in

```vim
line = printf(indent_start .. substitute(cms, '%s\@!', '%%', 'g'),
                       strpart(getline(lnum), strlen(indent_start)))
```

is too large if the block of lines to be operated on contains different
whitespace indenting (tab vs. spaces).

Considering using `2gcc` on the first line with 4 spaces as indenting
and on the next line using a single tab character (with &tabstop value
of 8):

Using `strlen(indent_start) = 4` for an initial indent of 4 spaces is
correct for the first line, but wrong for the next line and will
therefore wrongly comment out the tab-indented line (and possibly
deleting some content).

The new check is still too simple because it assumes that as soon as
there's a tab the whole indent is made of tabs; it's a start of entering
the mixed tab and whitespace indent rabbit hole.

fixes: #15797
closes: #15805

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-05 16:19:40 +02:00
Milly
40c6babc17 patch 9.1.0758: it's possible to set an invalid key to 'wildcharm'
Problem:  it's possible to set an invalid key to 'wildcharm'
Solution: error out, if the 'wildcharm' value is an invalid key
          (Milly)

closes: #15787

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-04 20:41:14 +02:00
Aliaksei Budavei
60310a4b26 runtime(java): Manage circularity for every :syn-included syntax file
With "g:markdown_fenced_languages" defined and "java" added
to its list, a circular dependency between the Markdown and
Java syntax files will be made.  To break it, no Markdown
documentation comments will be recognised in fenced blocks
in Markdown files; in order to view Java source files,
"java" must be removed from "g:markdown_fenced_languages",
and this task can be automated as follows.

1) Add to "~/.after/ftplugin/java.vim":
------------------------------------------------------------
if exists("g:markdown_fenced_languages") &&
	\ !(exists("g:java_ignore_javadoc") ||
	\ exists("g:java_ignore_markdown"))
    let s:idx = index(g:markdown_fenced_languages, 'java')
    if s:idx > -1
	call remove(g:markdown_fenced_languages, s:idx)
    endif
    unlet s:idx
endif
------------------------------------------------------------

2) Optionally add to "~/.after/ftplugin/markdown.vim":
------------------------------------------------------------
if exists("g:markdown_fenced_languages") &&
	\ index(g:markdown_fenced_languages, 'java') < 0
    call add(g:markdown_fenced_languages, 'java')
endif
------------------------------------------------------------

(Make sure that the above snippets appear in the files under
the "ftplugin" NOT "syntax" directory.)

Finally, unless the new version of the syntax file is made
available from "$VIMRUNTIME" (and from "~/.vim/syntax" if
necessary), OTHER discoverable file versions will be used
whose behaviour may interfere with this fix.

related: #15740
closes: #15796

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-04 20:25:05 +02:00
Christian Brabandt
075ab5ab3b patch 9.1.0757: tests: messages files contains ANSI escape sequences
Problem:  tests: messages files contains ANSI escape sequences
Solution: filter those out in runtests.vim

Also, since we are setting $LC_ALL, we don't need to set $LANG and
$LANGUAGE since those are overridden by $LC_ALL anyhow.

closes: #15788

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-03 16:38:52 +02:00
glepnir
a6d9e3c4e0 patch 9.1.0756: missing change from patch v9.1.0754
Problem:  missing change from patch v9.1.0754
Solution: use correct width for the actual item
          in pum_redraw() (glepnir)

closes: #15786

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-03 11:01:19 +02:00
Austin Chang
2982299699 patch 9.1.0755: quickfix list does not handle hardlinks well
Problem:  quickfix list does not handle hardlinks well
Solution: store original file name with quickfix entry
          (Austin Chang)

Quickfix list shows entries with duplicate name if the file is opened
with the path of hard links.

The major cause is that qflist assumed that the filename passed into
`qf_add_entry` matches the filename opened with the buffer.

This patch handles this case by introduce a `qf_fname` into `qfline_S`
structure. It stores the filename from `qf_add_entry` for each quickfix
line.

closes: #15687

Signed-off-by: Austin Chang <austin880625@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-03 10:56:31 +02:00
Milly
ae62fe5c28 runtime(doc): 'filetype', 'syntax' and 'keymap' only allow alphanumeric + some characters
closes: #15783

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-02 19:36:03 +02:00
Konfekt
f416a2220f runtime(systemd): small fixes to &keywordprg in ftplugin
closes: #15784

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-02 19:28:44 +02:00
Philip H.
5d64e28011 CI: macos-12 runner is being sunset, switch to 13
See: https://github.com/actions/runner-images/issues/10721

closes: #15780

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-02 19:21:52 +02:00
glepnir
6a89c94a9e patch 9.1.0754: fixed order of items in insert-mode completion menu
Problem:  fixed order of items in insert-mode completion menu
Solution: Introduce the 'completeitemalign' option with default
          value "abbr,kind,menu" (glepnir).

Adding an new option `completeitemalign` abbr is `cia` to custom
the complete-item order in popupmenu.

closes: #14006
closes: #15760

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-01 20:32:12 +02:00
Konfekt
e021f39b79 runtime(comment): commenting might be off by one column
getpos columns start at 1 and not 0 as do arrays

closes: #15774

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-01 20:02:15 +02:00
zeertzjq
47f8584a80 patch 9.1.0753: Wrong display when typing in diff mode with 'smoothscroll'
Problem:  Wrong display when typing in diff mode with 'smoothscroll'.
Solution: Use adjust_plines_for_skipcol() (zeertzjq).

closes: #15776

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-01 19:35:47 +02:00
Milly
25732435c5 patch 9.1.0752: can set 'cedit' to an invalid value
Problem:  can set cedit to an invalid value
Solution: Check that the value is a valid key name
          (Milly)

closes: #15778

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-01 19:33:39 +02:00
dundargoc
baee8448d1 runtime(doc): add usr tag to usr_toc.txt
When typing `:h usr` it redirects to usr_01.txt, but I'd argue
usr_toc.txt is more useful as you can see an overview of all manuals.
When I usr `:h usr` I personally always intend to go to `usr_toc`.

closes: #15779

Signed-off-by: dundargoc <gocdundar@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-01 19:24:02 +02:00
Christian Brabandt
b50bc9ad55 patch 9.1.0751: Error callback for term_start() not used
Problem:  Error callback for term_start() not used
          (darkseid-is)
Solution: attach pipe to stderr if an error callback exists

fixes: #15665
closes: #15729

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-30 21:29:43 +02:00
Nir Lichtman
563e8ec8c7 patch 9.1.0750: there are some Win9x legacy references
Problem:  there are some Win9x legacy references
Solution: Remove those mentions (Nir Lichtman)

closes: #15730

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-30 19:42:28 +02:00
Aliaksei Budavei
85f054aa3f runtime(java): Recognise the CommonMark form (///) of Javadoc comments
Complement "g:java_ignore_javadoc" with "g:java_ignore_html"
and "g:java_ignore_markdown" to allow selectively disabling
the recognition of HTML and CommonMark respectively.

(Note that this is not a preview feature.)

======================== LIMITATION ========================

According to the syntactical details of JEP 467:

> Any leading whitespace and the three initial / characters
> are removed from each line.
>
> The lines are shifted left, by removing leading whitespace
> characters, until the non-blank line with the least
> leading whitespace has no remaining leading whitespace.
>
> Additional leading whitespace and any trailing whitespace
> in each line is preserved, because it may be significant.

the following example:
------------------------------------------------------------
///    A summary sentence.
///     A list:
///      - Item A.
///     - Item B.
///
///     Some code span, starting here `
///      1 + 2 ` and ending at the previous \`.
------------------------------------------------------------

should be interpreted as if it were written thus:
------------------------------------------------------------
///A summary sentence.
/// A list:
///  - Item A.
/// - Item B.
///
/// Some code span, starting here `
///  1 + 2 ` and ending at the previous \`.
------------------------------------------------------------

Since automatic line rewriting will not be pursued, parts of
such comments having significant whitespace may be ‘wrongly’
highlighted.  For convenience, a &fex function is defined to
‘correct’ it: g:javaformat#RemoveCommonMarkdownWhitespace()
(:help ft-java-plugin).

References:
https://openjdk.org/jeps/467
https://spec.commonmark.org/0.31.2

closes: #15740

Co-authored-by: Tim Pope <code@tpope.net>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-30 19:40:04 +02:00
Riley Bruins
de6c1d1182 patch 9.1.0749: filetype: http files not recognized
Problem:  filetype: http files not recognized
Solution: detect '*.http' as http filetype, include
          http filetype plugin (Riley Bruins)

Based on the specification found
[here](https://github.com/JetBrains/http-request-in-editor-spec/blob/master/spec.md)

closes: #15762

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-30 19:34:04 +02:00
Konfekt
0fb25515cc runtime(comment): fix syntax error
fixes: #15767
closes: #15770

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-30 19:30:34 +02:00
Aliaksei Budavei
5dd4ec0089 CI: uploading failed screendump tests does not work Cirrus
Problem:  CI: uploading failed screendump tests does not work Cirrus
          (after: e019f3626d)
Solution: Do not use the $CIRRUS_WORKING_DIR env variable

related: #15695

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 17:29:39 +02:00
Doug Kearns
ea84202372 patch 9.1.0748: :keep* commmands are sometimes misidentified as :k
Problem:  The :keep{alt,jumps,marks,patterns} commmands are sometimes
          misidentified as :k.
Solution: Make sure one_letter_cmd() only returns true for :k and not
          other :keep* commands (Doug Kearns).

This currently manifests as missing completion for :keep* commands and
incorrect results from fullcommand().

E.g., fullcommand("keepmarks") returns "k" rather than "keepmarks".

The correct command, however, is executed as command modifiers are
handled specially in do_one_cmd() rather than using find_ex_command().

Fix exists(':k') so that it returns 2 for a full match.

closes: #15742

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 17:17:41 +02:00
John M Devin
ee20fc8062 runtime(indent): allow matching negative numbers for gnu indent config file
Some gnu indent options take negative numbers (e.g. --indent-label).
Add matching for an optional single '-' before the number.

closes: #15754

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 11:18:42 +02:00
Konfekt
9142136161 runtime(comment): add gC mapping to (un)comment rest of line
fixes: #15727
closes: #15737

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 10:48:40 +02:00
zeertzjq
8feed3a525 patch 9.1.0747: various typos in repo found
Problem:  various typos in repo found
Solution: Fix typos (zeertzjq)

closes: #15749

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 10:37:47 +02:00
zeertzjq
fa117387ee patch 9.1.0746: tests: Test_halfpage_longline() fails on large terminals
Problem:  Test_halfpage_longline() fails on large terminals
          (lazypingu)
Solution: Use a window with known width (zeertzjq).

fixes: #15755
closes: #15756

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 10:16:18 +02:00
hokorobi
6db3fc5632 runtime(doc): reformat gnat example
closes: #15758

Signed-off-by: hokorobi <hokorobi.hokorobi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 10:10:51 +02:00
hokorobi
c3989f184d runtime(doc): reformat ada_standard_types section
closes: #15759

Signed-off-by: hokorobi <hokorobi.hokorobi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 10:08:40 +02:00
Wu, Zhenyu
8a2aea8a62 patch 9.1.0745: filetype: bun and deno history files not recognized
Problem:  filetype: bun and deno history files not recognized
Solution: detect '.bun_repl_history' and 'deno_history.txt' as
          javascript filetype (Wu, Zhenyu)

closes: #15761

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 10:03:19 +02:00
Aliaksei Budavei
7cd6edf2b7 runtime(glvs): Correct the tag name of glvs-autoinstal
closes: #15748

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 09:50:52 +02:00
Christian Brabandt
998f018df3 runtime(doc): include short form for :earlier/:later
fixes: #15757

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 09:48:19 +02:00
Ben Scuron
1678ca36c8 runtime(doc): remove completed TODO
Completed in commit: c81dfaa69c
(Patch 9.0.1621)

closes: #15763

Signed-off-by: Ben Scuron <bscuron19@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-29 09:42:42 +02:00
Julio B
1a2870b57a patch 9.1.0744: filetype: notmuch configs are not recognised
Problem:  filetype: notmuch configs are not recognised
Solution: Detect more notmuch profile configuration files
          as dosini filetype (Julio B)

Reference:
https://notmuchmail.org/doc/latest/man1/notmuch-config.html#configuration

closes: #15744

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 16:22:34 +02:00
Yukihiro Nakadaira
06fe70c183 patch 9.1.0743: diff mode does not handle overlapping diffs correctly
Problem:  diff mode does not handle overlapping diffs correctly
Solution: correct the logic to handle overlapping blocks
          (Yukihiro Nakadaira)

Vim merges overlapped diff blocks and it doesn't work expectedly
in some situation.

closes: #15735

Signed-off-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 16:19:42 +02:00
GuyBrush
c854efc6fe runtime(glvs): fix a few issues
Fix errors on #15640 that:
* led to use the wrong vim runtime directory name if using powershell or
  bash on windows.
* use a wrong pattern to detect the users runtime dir
* allow to use global variables to specify un-archive commands

closes: #15722

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 16:14:08 +02:00
Doug Kearns
2c41dad387 runtime(doc): Fix typo in :help :command-modifiers
closes: #15734

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 16:05:02 +02:00
h-east
25876a6cdd patch 9.1.0742: getcmdprompt() implementation can be improved
Problem:  getcmdprompt() implementation can be improved
Solution: Improve and simplify it (h-east)

closes: #15743

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 16:01:57 +02:00
Milly
d9af78b945 runtime(docs): update :set? command behavior table
closes: #15746

Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 15:54:43 +02:00
mikoto2000
166f89e049 runtime(doc): update vim90 to vim91 in docs
closes: #15747

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 15:52:22 +02:00
Christian Brabandt
ac8a10ab76 runtime(doc): fix typo in :h dos-colors
related: #15723
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-24 16:36:37 +02:00
Shougo Matsushita
6908428560 patch 9.1.0741: No way to get prompt for input()/confirm()
Problem:  No way to get prompt for input()/confirm()
Solution: add getcmdprompt() function (Shougo Matsushita)
          (Shougo Matsushita)

closes: #15667

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-23 20:34:47 +02:00
hseg
770b38df40 runtime(doc): fix typo in version9.txt nrformat -> nrformats
This blocks K from finding the keyword

closes: #15726

Signed-off-by: hseg <gesh@gesh.uni.cx>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-23 20:14:54 +02:00
John M Devin
a7229c8a99 runtime(rmd,rrst): 'fex' option not properly restored
Add 'fex' to b:undo_ftplugin variable

closes: #15728

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-23 20:12:48 +02:00
Peter Aronoff
be551dacb8 runtime(netrw): remove extraneous closing bracket
fixes: #15717
closes: #15718

Signed-off-by: Peter Aronoff <peter@aronoff.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-22 11:29:40 +02:00
Yukihiro Nakadaira
f1694b439b patch 9.1.0740: incorrect internal diff with empty file
Problem:  incorrect internal diff with an empty file
Solution: Set pointer to NULL, instead of using an empty line file
          (Yukihiro Nakadaira)

When using internal diff, empty file is read as one empty line file.
So result differs from external diff.

closes: #15719

Signed-off-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-22 11:26:13 +02:00
John Marriott
a6de28755e patch 9.1.0739: [security]: use-after-free in ex_getln.c
Problem:  [security]: use-after-free in ex_getln.c
Solution: free pointer p a bit later (John Marriott)

closes: #15712

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-21 11:39:02 +02:00
Christian Brabandt
a0c14ef310 runtime(filetype): tests: Test_filetype_detection() fails
Problem:  tests: Test_filetype_detection() fails (after 9.1.0738)
Solution: Add missing filetype detect patterns for *.SYSx and *.MODx

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-21 11:23:07 +02:00
Christian Brabandt
e6b01cfe01 runtime(dist): do not output a message if executable is not found
closes: #15705

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-20 22:26:56 +02:00
KnoP-01
fdcb08264d patch 9.1.0738: filetype: rapid files are not recognized
Problem:  filetype: rapid files are not recognized
Solution: detect '*.sysx' and '*.modx' as rapid filetype
          (KnoP-01)

closes: #15669

Signed-off-by: KnoP-01 <knosowski@graeffrobotics.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-20 22:19:45 +02:00
zeertzjq
87b65652e8 runtime(modconf): remove erroneous :endif in ftplugin
regression introduced in f86568f918

closes: #15704

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-20 21:47:19 +02:00
ObserverOfTime
597aadcf21 runtime(lyrics): support multiple timestamps in syntax script
Problem:  Multiple timestamps in the same line were not highlighted
Solution: Adapt the syntax to support multiple timestamps

fixes: #15703
closes: #15707

Signed-off-by: ObserverOfTime <chronobserver@disroot.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-20 21:41:17 +02:00
Aliaksei Budavei
50423ab808 runtime(java): Optionally recognise _module_ import declarations
Define "g:java_syntax_previews" and include number 476 in
its list to enable this recognition:
------------------------------------------------------------
        let g:java_syntax_previews = [476]
------------------------------------------------------------

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

closes: #15709

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-20 21:38:21 +02:00
Doug Kearns
35699f1749 runtime(vim): Update base-syntax, improve folding function matches
- Allow function command modifiers.
- Match function bodies starting with empty lines.

Command modifiers reported by @Konfekt.

fixes #15671
closes: #15674

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 19:51:59 +02:00
Aliaksei Budavei
e019f3626d CI: upload failed screendump tests also for Cirrus
related: #15695

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 19:48:02 +02:00
Aliaksei Budavei
9dfe1110fd patch 9.1.0737: tests: screendump tests may require a bit more time
Problem:  Asynchronous terminal jobs occassionally require more time
          to complete and redraw the window
Solution: increase the sleep value from 10 to 50 milliseconds
          (Aliaksei Budavei)

closes: #15695

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 19:44:17 +02:00
Konfekt
f86568f918 runtime(misc): simplify keywordprg in various ftplugins
closes: #15696

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 19:37:38 +02:00
Aliaksei Budavei
23079450a8 runtime(java): Optionally recognise all primitive constants in _switch-case_ labels
Define "g:java_syntax_previews" and include number 455 in
its list to enable this recognition:
------------------------------------------------------------
	let g:java_syntax_previews = [455]
------------------------------------------------------------

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

closes: #15698

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 18:22:58 +02:00
Konfekt
41c7bbaf8f runtime(zsh,sh): set and unset compiler in ftplugin
closes: #15699

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 18:19:43 +02:00
yasuda
c18a9d5835 runtime(netrw): using inefficient highlight pattern for 'mf'
Fixes E872 too many '(' in highlight pattern for `mf` selection

fixup for #15551
closes: #15700

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-19 18:09:51 +02:00
Christian Brabandt
4298c5f472 patch 9.1.0736: Unicode tables are outdated
Problem:  Unicode tables are outdated
Solution: Update Unicode tables to v16

closes: #15693

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-17 20:24:56 +02:00
Gregory Anders
89b9bb4ac8 patch 9.1.0735: filetype: salt files are not recognized
Problem:  filetype: salt files are not recognized
Solution: Detect '*.sls' files as filetype salt,
          include a syntax script (Gregory Anders)

closes: #15689

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-17 20:16:37 +02:00
Gregory Anders
202c467bb3 patch 9.1.0734: filetype: jinja files are not recognized
Problem:  filetype: jinja files are not recognized
Solution: detect '*.jinja' files a jinja filetype,
          include jinja syntax script (Gregory Anders)

related: #15689

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-17 20:12:47 +02:00
Wu, Zhenyu
f21d28a5c7 runtime(zathurarc): add double-click-follow to syntax script
closes: #15688

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
2024-09-17 19:50:52 +02:00
RestorerZ
a81813d007 translation(ru): Updated messages translation
closes: #15690
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-17 19:41:05 +02:00
Antonio Giovanni Colombo
3f6981d8c8 translation(it): updated xxd man page
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
2024-09-17 19:12:03 +02:00
RestorerZ
5ca3efa5d9 translation(ru): updated xxd man page
closes: #15692

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-17 19:03:16 +02:00
glepnir
7cfe693f9b patch 9.1.0733: keyword completion does not work with fuzzy
Problem:  keyword completion does not work with fuzzy
          (egesip)
Solution: handle ctrl_x_mode_normal() specifically
          (glepnir)

fixes: #15412
closes: #15424

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 20:09:42 +02:00
Andre Chang
150227258d patch 9.1.0732: xxd: cannot use -b and -i together
Problem:  xxd: cannot use -b and -i together
          (Irgendwer)
Solution: implement the missing changes
          (Andre Chang)

fixes: #15362
closes: #15661

Signed-off-by: Andre Chang <andre@augmentcode.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 20:03:05 +02:00
Aliaksei Budavei
5e95c8f637 runtime(java): Highlight javaConceptKind modifiers with StorageClass
Stop assigning by default the NonText highlighting group for
javaConceptKind modifiers since its colour is hardly
distinguishable from a background colour for a range of
colour schemes.

fixes #15237
related #15238
closes: #15664

Co-authored-by: Dexter Gaon-Shatford <dexter@gaonshatford.ca>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 19:53:50 +02:00
Max Coplan
fdd1819b5f runtime(doc): reword and reformat how to use defaults.vim
closes: #15663
closes: #15668

Signed-off-by: Max Coplan <mchcopl@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 19:43:06 +02:00
Evgeni Chasnovski
59b089c9df patch 9.1.0731: inconsistent case sensitive extension matching
Problem:  inconsistent case sensitive extension matching
Solution: unify case sensitive extension matching (Evgeni Chasnovski).

There are different approaches of how extensions are matched with
respect to case sensitivity. In particular, '\c' flag is used in pattern
whereas in most places case sensitive matching is guarded behind
`has("fname_case")` condition.

Replace all instances of '\c' with an explicit case sensitive pattern
variants guarded by `has("fname_case")`. Strictly speaking, this is a
breaking change because only two (most common and prevailingly tested)
variants are now matched: upper first letter and upper all letters.

closes: #15672

Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 19:23:25 +02:00
Doug Kearns
4d427d4cab runtime(vim): Update base-syntax, match Vim9 bool/null literal args to :if/:while/:return
Match Vim9 boolean and null literals in expression arguments of :if,
:elseif, :while and :return.

closes: #15684

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 19:21:18 +02:00
Christian Brabandt
0f5effbd1f runtime(netrw): delete confirmation not strict enough
fixes: #15680

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-15 19:17:23 +02:00
zeertzjq
59149f0269 patch 9.1.0730: Crash with cursor-screenline and narrow window
Problem:  Crash with cursor-screenline and narrow window
          (elig0n)
Solution: Don't set right_col when width2 is 0 (zeertzjq).

fixes: #15677
closes: #15678

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-14 10:40:29 +02:00
zeertzjq
86dc4f8b43 patch 9.1.0729: Wrong cursor-screenline when resizing window
Problem:  Wrong cursor-screenline when resizing window
Solution: Invalidate saved left_col and right_col when width1 or width2
          change.

closes: #15679

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-14 10:37:17 +02:00
zeertzjq
be4bd189d2 patch 9.1.0728: [security]: heap-use-after-free in garbage collection with location list user data
Problem:  heap-use-after-free in garbage collection with location list
          user data.
Solution: Mark user data as in use when no other window is referencing
          the location list (zeertzjq)

fixes: neovim/neovim#30371
closes: #15683

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-14 10:34:53 +02:00
Christian Brabandt
d657d3d8fd runtime(doc): clarify the effect of the timeout for search()-functions
related: #15657
related: #15404

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:57:06 +02:00
Joe Sapp
fc72a2fa48 runtime(idlang): update syntax script
closes: #15419

Signed-off-by: Joe Sapp <992873+sappjw@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:46:54 +02:00
fundawang
e40157641c runtime(spec): Recognize epoch when making spec changelog in ftplugin
closes: #15537

Signed-off-by: fundawang <fundawang@yeah.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:43:05 +02:00
fundawang
2241f0845f runtime(spec): add file triggers to syntax script
closes: #15569

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:34:37 +02:00
John Marriott
95dacbb5fd patch 9.1.0727: too many strlen() calls in option.c
Problem:  too many strlen() calls in option.c
Solution: refactor the code to reduce the number of strlen() calls
          (John Marriott)

closes: #15604

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:25:14 +02:00
Konfekt
077d1d2cff runtime(make): add compiler/make.vim to reset compiler plugin settings
closes: #15645

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:11:28 +02:00
Aliaksei Budavei
a9ae38dc3f runtime(java): Recognise all available standard doclet tags
* Complement the tag set with @spec, {@systemProperty},
  {@summary}, @provides, @uses, @hidden, and {@index}.
* Do not hoard all tags under a single highlighting group.
* Skip over nested balanced braces in inline tags.
* Observe that tag names are case sensitive: both {@docRoot}
  and {@inheritDoc} are valid, whereas {@inheritdoc} and
  {@docroot} are not.
* In the @see tag arguments, allow for:
  - module name prefixes (e.g. java.base/java.lang.String);
  - references to arbitrary URI fragments (e.g. ##foo);
  - matching any tag variation arguments on the next line.
* Test directives and tags for Java module declarations.
* Enforce the word end for "module-info" candidates.

References:
https://bugs.openjdk.org/browse/JDK-8226279 (@spec)
https://bugs.openjdk.org/browse/JDK-8214559 ({@systemProperty})
https://bugs.openjdk.org/browse/JDK-8173425 ({@summary})
https://bugs.openjdk.org/browse/JDK-8160196 (@provides & @uses)
https://bugs.openjdk.org/browse/JDK-8073100 (@hidden)
https://bugs.openjdk.org/browse/JDK-8044243 ({@index})
https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html
https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java

closes: #15652

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 21:00:33 +02:00
Yee Cheng Chin
508403687d patch 9.1.0726: not using correct python3 API with dynamic linking
Problem:  not using correct python3 API with dynamic linking
Solution: Use stable IncRef / DecRef in Python 3 dynamic bindings
          (Yee Cheng Chin)

Previously, we were using the Py_DECREF macros even when using dynamic
linking of Python 3. This caused issues because Python's headers contain
references to internal APIs like `_Py_Dealloc` and in v8.1.2201 and
v8.2.1225 we simply hacked around the issue by manually copying the
Python header implementation to Vim and linking in the private APIs.
This is fragile and prone to break. In fact, the Py_DECREF
implementation is different in newer versions of Python meaning that
this could potentially cause memory issues.

Instead, simply use the API versions (`Py_DECREF` and `Py_INCREF`) which
are functions exposed by the Python library. They could be slightly
slower since they require a function call instead of a macro, but are
much more reliable and we should only be calling these when the Python
Vim plugins are crossing the language boundary anyway which are always
going to be slow.

Note that this only affects dynamically linked Python builds that are
not using stable ABI.

Also see #15648

closes: #15653

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 20:56:13 +02:00
John Tobin
c0982f9f79 runtime(dosini): Update syntax script, spellcheck comments only
By default spell checking is enabled for all text, but adding
`contains=@Spell` to syntax rules restricts spell checking to those
syntax rules.  See `:help spell-syntax` for full details.

Variable names and headers are far more likely than comments to contain
spelling errors, so only enable spell checking in comments.

Introduced in https://github.com/xuhdev/syntax-dosini.vim/pull/8

cc @tobinjt

closes: #15655

Signed-off-by: John Tobin <johntobin@johntobin.ie>
Signed-off-by: Hong Xu <hong@topbug.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 20:52:15 +02:00
Yee Cheng Chin
26e4b00002 runtime(doc): Revert outdated comment in completeopt's fuzzy documentation
Originally, `:set completeopt+=fuzzy` did not affect how the candidate
list is collected in default keyword completion. A comment was added to
documentation as part of #14912 to clarify it. #15193 later changed the
fuzzy behavior to now change the candidate collection behavior as well
so the clarification in docs is now wrong. Remove them here.

closes: #15656

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 20:50:08 +02:00
LosFarmosCTL
03cac4b70d patch 9.1.0725: filetype: swiftinterface files are not recognized
Problem:  filetype: swiftinterface files are not recognized
Solution: Detect '*.swiftinterface' files as swift filetype
          (LosFarmosCTL)

closes: #15658

Signed-off-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-10 20:44:59 +02:00
Christian Brabandt
d30ffdca49 runtime(pandoc): Update compiler plugin to use actual 'spelllang'
Previously these would be cached in buffer-local variables and
would not change on :compiler pandoc

closes: #15642

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-09 20:27:15 +02:00
Konfekt
7cc0e9145d runtime(groff): Add compiler plugin for groff
Groff MOM (Macros for Manuscripts) is a macro package for the GNU
troff (groff) typesetting system, a light-weight alternative
to LaTeX for professional-quality documents.

closes: #15646

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-09 20:10:02 +02:00
Yee Cheng Chin
c2285a8cf3 patch 9.1.0724: if_python: link error with python 3.13 and stable ABI
Problem:  if_python: link error with python 3.13 and stable ABI
          (zdohnal)
Solution: Use the correct stable APIs Py_IncRef and Py_DecRef instead
          (Yee Cheng Chin)

This fixes #15460 properly. There was an attempt to fix it in v9.1.0668,
but it did it by manually copy and pasting definitions from Python 3.13
headers, which is problematic as it makes Vim dependent on low-level
implementation details which are subject to change. That change also
pulls in dependencies to private APIs (`_Py_IncRef`) which is a very bad
idea as the next version of Python could very well remove that.

The core issue was simply that `Py_INCREF` and similar functions are not
part of the stable API. We are supposed to be using `Py_IncRef` instead
which performs null-check (similar to `Py_XINCREF`) and is available as
a linkable function. We simply need to call it instead of the macro.
We simply remap `Py_INCREF` (and friends) to the function version in
stable API similar to how we mapped other functions.

related #15460
closes: #15648

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-09 19:55:24 +02:00
Yee Cheng Chin
97a5be4687 patch 9.1.0723: if_python: dynamic linking fails with python3 >= 3.13
Problem:  if_python: dynamic linking fails with python3 >= 3.13
          when using non-stable ABI (zdohnal)
Solution: do not try to import the privat python symbol
          _PyObject_NextNotImplemented
          (Yee Cheng Chin)

Vim is importing a private Python symbol `_PyObject_NextNotImplemented`
because it used to be required as part of the `PyIter_Check()` macro in
an abstraction breaking way. Python eventually fixed the issue and in
3.13 it removed the private symbol export, which broke Vim. Simply
remove importing this private symbol in newer Python versions as it's no
longer needed for PyIter_Check to work.

fixes: #15457
closes: #15649

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-09 19:46:17 +02:00
Christian Brabandt
701c863e68 patch 9.1.0722: crash with large id in text_prop interface
Problem:  crash with large id in text_prop interface
          prop_add()/prop_add_list() (cposture)
Solution: Error out if the id is > INT_MAX or <= INT_MIN

fixes: #15637
closes: #15638

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-08 20:05:23 +02:00
John M Devin
5b9237c2e7 patch 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME
Problem:  tests: test_mksession does not consider XDG_CONFIG_HOME
Solution: allow to match $HOME/.vim/ and $HOME/.config/vim for &viewdir
          (John M Devin)

closes: #15639

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-08 20:00:38 +02:00
GuyBrush
609599cc45 runtime(glvs): update GetLatestVimScripts plugin
GetLatestVimScripts builtin plugin required several fixes:
* Support for the new vimbal `.vmb` extension introduced in
  [patch 9.0.1797](f97f6bbf56):
  Vimball/Visual Basic filetype detection conflict
* Update the urls from the old `sourceforge.net` to `vim.org`.
  The download url was hardcoded and a new variable is introduced.
* Fix `curl` command line option to set a filename (`-O` uses the remote
  filename and `-o` specifies a filename).
* Replace windows' command to move files. `REN` can only rename files and
  the script actually moves them. My educated guess was that originally
  only renaming was necessary. When the script was modified to move
  files no change was required on linux because `mv` does both.
* Fix Autoinstall support to check `ftplugins` and `pack-plugins` too
  (`pack-plugins` did not exist when the plugin was created).

closes: #15640

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-08 19:54:43 +02:00
Doug Kearns
0b2285c96b runtime(doc): Fix typo in :help :hide text
closes: #15644

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-08 19:39:20 +02:00
Christian Brabandt
b584117b05 runtime(doc): buffers can be re-used
while at it, also move the note about :wincmd
directly to :h :wincmd, it doesn't seem to belong to the buffer section.

closes: #15636

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-07 17:37:52 +02:00
zeertzjq
61a6ac4d00 patch 9.1.0720: Wrong breakindentopt=list:-1 with multibyte or TABs
Problem:  Wrong breakindentopt=list:-1 with multibyte chars or TABs in
          text matched by 'formatlistpat' (John M Devin)
Solution: Use the width of the match text (zeertzjq)

fixes: #15634
closes: #15635

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-07 11:23:54 +02:00
zeertzjq
66f65a46c5 patch 9.1.0719: Resetting cell widths can make 'listchars' or 'fillchars' invalid
Problem:  Resetting cell widths can make 'listchars' or 'fillchars'
          invalid.
Solution: Check for conflicts when resetting cell widths (zeertzjq).

closes: #15629

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-06 16:24:41 +02:00
Christian Brabandt
82f6134b1b runtime(doc): Update version9.txt and mention $MYVIMDIR
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-05 18:21:56 +02:00
Christian Brabandt
4e7249a916 patch 9.1.0718: hard to know the users personal Vim Runtime Directory
Problem:  hard to guess the Vim Runtime Directory
Solution: Set the $MYVIMDIR environment variable to the users
          personal runtime directory (e.g. ~/.vim on Linux)

closes: #15576

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-05 17:46:19 +02:00
zeertzjq
f7b8609446 patch 9.1.0717: Unnecessary nextcmd NULL checks in parse_command_modifiers()
Problem:  Unnecessary nextcmd NULL checks in parse_command_modifiers().
Solution: Remove them (zeertzjq)

Every place parse_command_modifiers() is called, nextcmd is NULL, and
after it's set to non-NULL the function returns very soon.
Even if one day nextcmd may be non-NULL, the NULL checks may still be
wrong as the correct behavior may be overriding nextcmd.

closes: #15620

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-05 17:26:30 +02:00
Gregory Anders
233252fdf2 Maintainers: fix typo in author name
closes: #15626

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-05 17:23:17 +02:00
Ken Takata
539e9b571a patch 9.1.0716: resetting setcellwidth() doesn't update the screen
Problem:  resetting setcellwidth() doesn't update the screen
Solution: Redraw after clearing the cellwidth table (Ken Takata)

closes: #15628

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-05 17:19:34 +02:00
Gregory Anders
150b5078ac runtime(hcl,terraform): Add runtime files for HCL and Terraform
closes: #15618

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-04 22:19:45 +02:00
Eric Pruitt
315b6f7b73 runtime(tmux): Update syntax script
closes: ericpruitt/tmux.vim#25
closes: #15622

Signed-off-by: Eric Pruitt <eric.pruitt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-04 22:15:40 +02:00
Christian Brabandt
fa16e4351a patch 9.1.0715: Not correctly parsing color names (after v9.1.0709)
Problem:  Not correctly parsing color names (chdiza, after v9.1.0709)
Solution: Revert part of the patch that compares the color names and
          fall-back to the macro STRICMP

fixes: #15617
closes: #15619

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-04 22:10:34 +02:00
Ken Takata
eccc92792a patch 9.1.0714: tests: GuiEnter_Turkish test may fail
Problem:  tests: GuiEnter_Turkish test may fail
Solution: the message will be translated if the Turkish message file is
          installed. Use gettext() to get the expected message
          (Ken Takata)

closes: #15615

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-03 23:01:55 +02:00
zeertzjq
2432b4a753 patch 9.1.0713: Newline causes E749 in Ex mode
Problem:  Newline causes E749 in Ex mode (after 9.1.0573).
Solution: Don't execute empty command followed by a newline.

closes: #15614

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-03 22:58:30 +02:00
James McCoy
3db32d2e7f patch 9.1.0712: tests: missing dependency of Test_gettext_makefile
Problem:  tests: missing dependency of Test_gettext_makefile
Solution: Check that xgettext binary is available, else skip the test
          (James McCoy)

closes: #15612

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-03 22:50:38 +02:00
James McCoy
06ed634db1 patch 9.1.0711: tests: test_xxd may file when using different xxd
Problem:  tests: test_xxd may file when using different xxd
Solution: Make Test_xxd_color_0 agnostic to xxd's path, similar to
          Test_xxd_color_1 by filtering out shell command prompt in
          screen dump file (James McCoy)

If an alternative xxd path is provided, e.g., the system installed xxd,
then the screen dump fails due to the difference in path.

From test_xxd.vim:
Found errors in Test_xxd_color2():
Run 1, 15:17:03 - 15:17:04:
command line..script /tmp/autopkgtest-lxc.1auv5tlk/downtmp/autopkgtest_tmp/vim/src/testdir/runtest.vim[607]..function RunTheTest[57]..Test_xxd_color2[36]..VerifyScreenDump line 67: See dump file difference: call term_dumpdiff("testdir/failed/Test_xxd_color_0.dump", "testdir/dumps/Test_xxd_color_0.dump"); difference in line 1: "|$+0&#ffffff0| |/|u|s|r|/|b|i|n|/|x@1|d| |-|R| |n|e|v|e|r| @1|<| |X@1|D|f|i|l|e|_|c|o|l|o|r|s| @33"

related: #15612

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-03 22:46:31 +02:00
Christian Brabandt
f00f4d9cce patch 9.1.0710: popup window may hide part of Command line
Problem:  when a popup window covers the command line,
          the command line is not completely cleared on popup_hide()
          (yu3s)
Solution: Check if the popup window covers the command line and if it
          does, set the clear_cmdline flag.

fixes: #15608
closes: #15610

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-03 18:20:13 +02:00
Doug Kearns
3c07eb0c67 runtime(vim): Update syntax, improve user-command matching
- Match -addr and -keepscript attributes and generate -addr values.
- Match attribute errors where = is specified.
- Highlight attributes with Special like other Ex command options.
- Don't highlight user-specified completion function args.
- Match :delcommand -buffer attribute.

closes: #15586

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-02 10:03:37 +02:00
Christian Brabandt
84e3175c4e patch 9.1.0709: GUIEnter event not found in Turkish locale
Problem:   GUIEnter not found in Turkish locale
           (James McCoy, after v9.1.0256, the issue was there before,
            but v9.1.0256 made it more apparent)
Solution:  explicitly compare autocommand events by ASCII value and
           ignoring locale, because according to the documentation,
           events are case insensitive (:h autocommand-events)

fixes: #15574
closes: #15603

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-02 09:59:18 +02:00
Christian Brabandt
bd69b39514 runtime(sudoers): improve recognized Runas_Spec and Tag_Spec items
Recognize colon-delimited second part of Runas_Spec that specifies
permitted groups, e.g.:

    alan ALL = (root, bin : operator, system) ALL

This implementation is sloppy because it accepts any amount of colons
delimiting further Runas_Lists, but for now that's better than bailing
out completely as soon as a colon is encountered (esp. given that the
default sudoers uses these colons, breaking highlighting OOTB).

Also, while at it, make Vim recognize all Tag_Spec items, not just
{,NO}PASSWD

closes: #15607

Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-02 09:55:00 +02:00
Luuk van Baal
3d5065fc75 patch 9.1.0708: Recursive window update does not account for reset skipcol
Problem:  Window is updated with potentially invalid skipcol in recursive
          window update path. I.e. cursor outside of visible range in
          large line that does not fit.
Solution: Make sure it is valid (Luuk van Baal).

closes: #15605

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-01 10:33:56 +02:00
Marc Jakobi
9abd02d16a runtime(nu): include filetype plugin
This is used to set the commentstring option.

closes: #15601

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Marc Jakobi <marc.jakobi@tiko.energy>
2024-09-01 09:21:16 +02:00
Christian Brabandt
396fd1ec29 patch 9.1.0707: [security]: invalid cursor position may cause a crash
Problem:  [security]: invalid cursor position may cause a crash
          (after v9.1.0038)
Solution: Set cursor to the last character in a line, if it would
          otherwise point to beyond the line; no tests added, as it
          is unclear how to reproduce this.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 17:58:16 +02:00
James McCoy
75ba87ba62 patch 9.1.0706: tests: test_gettext fails when using shadow dir
Problem:  tests: test_gettext fails when using shadow dir
Solution: Link the ru_RU directory into the shadow testdir
          (James McCoy)

Link the ru_RU directory into shadow testdir

When the ru_RU locale is present, but the build is using a shadowdir,
then test_gettext_cp1251.vim and test_gettext_utf8.vim fail:

    From test_gettext_cp1251.vim:
    Executed Test_gettext()                            in   0.000848 seconds
    Executed 1 test                          in   0.007010 seconds
    1 FAILED:
    Found errors in Test_gettext():
    command line..script /home/runner/work/vim/vim/src/shadow/testdir/runtest.vim[607]..function RunTheTest[57]..Test_gettext line 9: Expected '������: ' but got 'ERROR: '

    From test_gettext_utf8.vim:
    Executed Test_gettext()                            in   0.000908 seconds
    Executed 1 test                          in   0.007339 seconds
    1 FAILED:
    Found errors in Test_gettext():
    command line..script /home/runner/work/vim/vim/src/shadow/testdir/runtest.vim[607]..function RunTheTest[57]..Test_gettext line 9: Expected '������: ' but got 'ERROR: '

This is because it's unable to load the translations from the ru_RU test
directory, since it wasn't symlinked into the shadow directory.

closes: #15591

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 17:15:08 +02:00
James McCoy
4e527a2d55 CI: Install locales-all package
The test_gettext* files need specific locales available to exercise
their tests.

related: #15591

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 17:15:03 +02:00
zeertzjq
58d705238c patch 9.1.0705: Sorting of fuzzy filename completion is not stable
Problem:  Sorting of fuzzy filename completion is not stable
Solution: Compare indexes when scores are equal.  Fix some typos.
          (zeertzjq)

closes: #15593

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 17:05:39 +02:00
JNylson
41ba26566f translation(pt): update Portuguese/Brazilian menu translation
closes: #15592

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 17:04:01 +02:00
Doug Kearns
d817609b87 runtime(vim): Update base-syntax, match bracket mark ranges
Match '(,'),'[,'],'{, and '} marks in Ex command ranges.

Thanks to Maxim Kim.

Fixes #15332.
Closes #15337.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 16:57:32 +02:00
Doug Kearns
e2c4e07795 runtime(doc): Update :help :command-complete list
closes: #15602

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-08-31 16:44:14 +02:00
Ken Takata
09b80d23cf patch 9.1.0704: inserting with a count is inefficient
Problem:  inserting with a count is inefficient
Solution: Disable calculation of the cursor position and topline, if a
          count has been used (Ken Takata)

Optimize insertion when using :normal 10000ix.

This patch optimizes the insertion with a large count (e.g. `:normal
10000ix`).

It seems that calculation of the cursor position for a long line is slow
and it takes O(n^2). Disable the calculation if not needed.

Before:
```
$ time ./vim --clean -c 'normal 10000ix' -cq!
real    0m1.879s
user    0m1.328s
sys     0m0.139s

$ time ./vim --clean -c 'normal 20000ix' -cq!
real    0m5.574s
user    0m5.421s
sys     0m0.093s

$ time ./vim --clean -c 'normal 40000ix' -cq!
real    0m23.588s
user    0m23.187s
sys     0m0.140s
```

After:
```
$ time ./vim --clean -c 'normal 10000ix' -cq!
real    0m0.187s
user    0m0.046s
sys     0m0.093s

$ time ./vim --clean -c 'normal 20000ix' -cq!
real    0m0.217s
user    0m0.046s
sys     0m0.108s

$ time ./vim --clean -c 'normal 40000ix' -cq!
real    0m0.278s
user    0m0.093s
sys     0m0.140s

$ time ./vim --clean -c 'normal 80000ix' -cq!
real    0m0.494s
user    0m0.311s
sys     0m0.140s

$ time ./vim --clean -c 'normal 160000ix' -cq!
real    0m1.302s
user    0m1.140s
sys     0m0.094s
```

closes: #15588

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-31 16:35:06 +02:00
Ughur Alakbarov
7c8bbc6d28 runtime(doc): use mkdir -p to save a command
closes: #15599

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ughur Alakbarov <58857108+ugur-a@users.noreply.github.com>
2024-08-31 16:12:39 +02:00
Christian Brabandt
c9bfed2fda patch 9.1.0703: crash with 2byte encoding and glob2regpat()
Problem:  possible crash with 2-byte encoding and glob2regpat()
          (after v9.1.0700, v9.1.0702)
Solution: include both bytes for a multi-byte character for an
          escaped character

closes: #15590

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-29 22:15:03 +02:00
Tom Crecelius
87c01d9561 runtime(hollywood): update syn highlight for If-Then statements and For-In-Loops
Improving syntax highlighting by allowing numbers, - and a $ as suffix
in user constants and by allowing hwConstants in If-Then statements

closes: #15059

Signed-off-by: Tom Crecelius <holly@net-eclipse.net>
Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-29 22:09:49 +02:00
Christian Brabandt
f459d68ecf patch 9.1.0702: Patch 9.1.0700 broke CI
Problem:  Patch 9.1.0700 broke CI
Solution: Revert for now

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-28 23:46:53 +02:00
Christian Brabandt
c3a02d78bd patch 9.1.0701: crash with NFA regex engine when searching for composing chars
Problem:  crash with NFA regex engine when searching for composing chars
          (SuyueGuo)
Solution: When there is no composing character, break out of the loop
          and check that out1 state is not null

fixes: #15583

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-28 23:17:52 +02:00
Christian Brabandt
1c815b54bb patch 9.1.0700: crash with 2byte encoding and glob2regpat()
Problem:  possible crash with 2byte encoding and glob2regpat()
Solution: Skip over character, if it is multi-byte character

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-28 22:08:35 +02:00
Christian Brabandt
f8702aeb8f patch 9.1.0699: "dvgo" is not always an inclusive motion
Problem:  "dvgo" is not always an inclusive motion
          (Iain King-Speir)
Solution: initialize the inclusive flag to false

fixes: #15580
closes: #15582

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-28 20:39:24 +02:00
Aliaksei Budavei
8556e23ee9 runtime(java): Provide support for syntax preview features
Introduce a new API variable "g:java_syntax_previews" whose
value must be a list of syntax preview feature numbers.

Enumerate the currently supported numbers in a table at the
end of the documentation entry for "ft-java-syntax".

Also, disable the recognition of String Templates.  Despite
the withdrawal of this preview feature in its proposed form
from the upcoming JDK 23 release and the fact that the JDK
22 release is coming to EOL this September, an earlier
iteration of this preview feature was included in JDK 21
(LTS) whose EOL is projected to fall due in late 2028 and,
therefore, retain the current implementation.

Define "g:java_syntax_previews" and include number 430 in
its list to enable the recognition of String Templates:
------------------------------------------------------------
	let g:java_syntax_previews = [430]
------------------------------------------------------------

References:
https://openjdk.org/jeps/430 (Preview)
https://openjdk.org/jeps/459 (Second Preview)
https://openjdk.org/jeps/465 (Third Preview)
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html

closes: #15579

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-27 22:32:13 +02:00
zeertzjq
d56c451e1c patch 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone
Problem:  tests: "Untitled" file not removed when running Test_crash1_3 alone
          with TEST_FILTER (after v9.1.0695)
Solution: Use a TearDown function instead of another test.
          (zeertzjq)

closes: #15578
closes: #15577

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-26 18:45:37 +02:00
Christian Brabandt
322ba91086 patch 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf
Problem:  heap-buffer-overflow in ins_typebuf
          (SuyueGuo)
Solution: When flushing the typeahead buffer, validate that there
          is enough space left

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-25 21:33:03 +02:00
James McCoy
663950d700 patch 9.1.0696: installing runtime files fails when using SHADOWDIR
Problem:  installing runtime files fails when using SHADOWDIR
Solution: revert part of v9.1.0609, since runtime/doc/Makefile's default
          value for VIMPROG does not work if vim was built in a SHADOWDIR.
          (James McCoy)

closes: #15575

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-25 20:22:11 +02:00
glepnir
88a6dd036a runtime(doc): fix typo
closes: #15572

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-25 15:49:54 +02:00
Christian Brabandt
cd83173def patch 9.1.0695: tests: test_crash leaves Untitled file around
Problem:  tests: test_crash leaves Untitled file around
Solution: cleanup at the end of the test_crash.vim test file

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-24 17:34:19 +02:00
JNylson
a68e34c993 translation(br): Update Brazilian translation
The previous patch 18de7adaf4 somehow wasn't correctly applied and
broke the check script

related: #15558

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
2024-08-24 16:54:03 +02:00
JNylson
377ad8c71f translation(pt): Update menu_pt_br
closes: #15566

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-24 16:35:33 +02:00
zeertzjq
81e7513c86 patch 9.1.0694: matchparen is slow on a long line
Problem:  The matchparen plugin is slow on a long line.
Solution: Don't use a regexp to get char at and before cursor.
          (zeertzjq)

Example:

```vim
  call setline(1, repeat(' foobar', 100000))
  runtime plugin/matchparen.vim
  normal! $hhhhhhhh
```

closes: #15568

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-24 16:32:24 +02:00
Ken Takata
dc2c75c6b5 patch 9.1.0693: Configure doesn't show result when not using python3 stable abi
Problem:  Configure doesn't show result when not using python3 stable
          abi (after v9.1.0691)
Solution: Add back AC_MSG_RESULT() (Ken Takata)

related: #15555

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-24 16:27:50 +02:00
zeertzjq
d1c8d2de4b patch 9.1.0692: Wrong patlen value in ex_substitute()
Problem:  Wrong patlen value in ex_substitute() (after 9.1.0426).
Solution: Compute patlen after finding end separator.
          (zeertzjq)

Add a more explicit test.  The test already passes as the only case
where a overlarge patlen value matters was fixed by patch 9.1.0689.

closes: #15565

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-24 11:33:39 +02:00
Christian Brabandt
3f7024cf86 patch 9.1.0691: python3: stable-abi may cause segfault on Python 3.11
Problem:  python3: stable-abi may cause segfault on Python 3.11
          (Audrius Kažukauskas, after v9.1.0668)
Solution: do not enable the stable Python ABI by default, only when used
          with --with-python3-stable-abi argument is given

related: #15543

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:39:08 +02:00
Doug Kearns
7866d54ecc runtime(vim): Update base-syntax, match :loadkeymap after colon and bar
Match :loadkeymap after Ex colons and bars.

Don't generate :loadkeymap as it is matched with a custom syntax group.

closes: #15554

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:37:55 +02:00
John M Devin
5d1c551057 runtime(mane): Improve <Plug>ManBS mapping
related: #15547 and #15538
closes: #15556

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:36:08 +02:00
glepnir
38f99a1f0d patch 9.1.0690: cannot set special highlight kind in popupmenu
Problem:  cannot set special highlight kind in popupmenu
Solution: add kind_hlgroup item to complete function
          (glepnir)

closes: #15561

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:31:06 +02:00
Yee Cheng Chin
56186e41db translation(pt): Revert and fix wrong Portuguese menu translation files
In #14674, the Brazilian and Portuguese localization files were
erroneously combined, even though those are separate locales. This
reverts that change, but maintains some of the original typo fixes in
it.

closes: #15557
related: #14674

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:12:05 +02:00
Yee Cheng Chin
79b5fc5697 translation(pt): revert Portuguese menu translation
This reverts commit d88a39e0d6.

related: #14674
related: #15557

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
2024-08-23 18:09:47 +02:00
JNylson
18de7adaf4 translation(br): Update Brazilian translations
closes: #15558

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:06:34 +02:00
Doug Kearns
7884cc7418 runtime(vim): Update base-syntax, improve :let-heredoc highlighting
The end marker is not required to match the indent of :let when "trim"
is specified, it may also appear without leading whitespace as normal.

closes: #15564

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-23 18:01:35 +02:00
Christian Brabandt
cacb6693c1 patch 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft'
Problem:  buffer-overflow in do_search() with 'rightleft'
          (SuyueGuo)
Solution: after reversing the text (which allocates a new buffer),
          re-calculate the text length

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-v2x2-cjcg-f9jm

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:40:14 +02:00
Ken Takata
95e90781a4 runtime(vim): Improve heredoc handling for all embedded scripts
* Improve heredoc handling
  - Support "trim" for all the embedded scripts.
  - Check the indent of "trim" for "let" and all the embedded scripts.
* Update missing part of vim.vim.base in the commit
  d164f2a521.
* Update gen_syntax_vim.vim to catch up with 9.1.0685's source code.

closes: #15542

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:29:39 +02:00
Christian Brabandt
25618fc9ea patch 9.1.0688: Vim9: dereferences NULL pointer in check_type_is_value()
Problem:  Vim9: dereferences NULL pointer in check_type_is_value()
          (Suyue Guo)
Solution: Verify that the pointer is not Null

fixes: #15540
closes: #15545

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:25:18 +02:00
Christian Brabandt
dabf07e458 patch 9.1.0687: Makefile may not install desktop files
Problem:  Makefile may not install desktop files
Solution: Check for "$(DESTDIR)$(DATADIR)" instead of just "$DESTDIR",
          which is usually not defined, add uninstall rules for the
          icons and the desktop files

closes: #15528
fixes: #15546

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:20:15 +02:00
Luca Saccarola
1c4f40213b runtime(man): Fix <Plug>ManBS
This change does 2 things:
- make sure the mapping <Plug>ManBS sets the buffer to modified
  to avoid a potential error message
- remove commented q mapping

fixes #15538
closes: #15547

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:17:19 +02:00
Aliaksei Budavei
2750b83fa1 runtime(java): Make the bundled &foldtext function optional
- Obtain and pass through translated messages with this
  function.
- If "g:java_foldtext_show_first_or_second_line" is defined,
  assign this function to &foldtext.

closes: #15549

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:09:32 +02:00
yasuda
c75dad0177 runtime(netrw): Change line on mx if command output exists
closes: #15550

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 21:06:32 +02:00
yasuda
38cfa2b662 runtime(netrw): Fix mf-selected entry highlighting
closes: #15551

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 20:54:47 +02:00
Dennis van den Berg
0e9fd7755d runtime(htmlangular): add html syntax highlighting
fixes: #15459
closes: #15552

Signed-off-by: Dennis van den Berg <dennis.vandenberg@nedap.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-22 20:50:11 +02:00
Ken Takata
4a0dc29e5f translation(it): Fix filemode of Italian manpages
closes: #15544

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-21 19:57:21 +02:00
John M Devin
fd01eb21e5 runtime(doc): Update outdated man.vim plugin information
closes: #15536

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-21 13:26:37 +02:00
Christian Brabandt
bc29ea6286 runtime(zip): simplify condition to detect MS-Windows
related: #15519

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-21 08:20:13 +02:00
Christian Brabandt
7790ea0c68 patch 9.1.0686: zip-plugin has problems with special characters
Problem:  zip-plugin has problems with special characters
          (user202729)
Solution: escape '*?[\' on Unix and handle those chars
          a bit differently on MS-Windows, add a test, check
          before overwriting files

runtime(zip): small fixes for zip plugin

This does the following:
- verify the unzip plugin is executable when loading the autoload plugin
- handle extracting file names with '[*?\' in its name correctly by
  escaping those characters for the unzip command (and handle those
  characters a bit differently on MS-Windows, since the quoting is different)
- verify, that the extract plugin is not overwriting a file (could cause
  a hang, because unzip asking for confirmation)
- add a test zip file which contains those special file names

fixes: #15505
closes: #15519

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 22:41:52 +02:00
Konfekt
5f5f2832f5 runtime(pandoc): escape quotes in &errorformat for pandoc
closes: #15535

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 21:57:54 +02:00
Antonio Giovanni Colombo
9beccaf779 translation(it): updated Italian manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 21:12:37 +02:00
John Marriott
9e795852f3 patch 9.1.0685: too many strlen() calls in usercmd.c
Problem:  too many strlen() calls in usercmd.c
Solution: refactor code to reduce the number or strlen() calls
          (John Marriott)

closes: #15516

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 20:57:23 +02:00
zeertzjq
e44e64492c runtime(doc): fix grammar in :h :keeppatterns
- It's clear that :s and :& are Ex commands, so remove "command" along
  with the duplicate "the".
- Use "or" instead of "and" following "without".

closes: #15527

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
2024-08-20 20:20:43 +02:00
Konfekt
d55e698fa0 runtime(pandoc): refine pandoc compiler settings
closes: #15529

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
2024-08-20 20:18:28 +02:00
glepnir
753794bae8 patch 9.1.0684: completion is inserted on Enter with "noselect"
Problem:  completion is inserted on Enter with "noselect"
          (Carman Fu)
Solution: check noselect before update compl_shown_match
          (glepnir)

fixes: #15526
closes: #15530

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 19:58:44 +02:00
RestorerZ
12333bae01 translation(ru): update man pages
closes: #15532

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 19:57:00 +02:00
kuuote
0fd1cb1b1f patch 9.1.0683: mode() returns wrong value with <Cmd> mapping
Problem:  mode() returns wrong value with <Cmd> mapping
Solution: Change decision priority of VIsual_active and move
          visual mode a bit further down (kuuote)

closes: #15533

Signed-off-by: kuuote <znmxodq1@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-20 19:53:17 +02:00
Christian Brabandt
3840d2feaf runtime(doc): remove trailing whitespace in cmdline.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-19 21:49:41 +02:00
Ernie Rael
cb90ea9cba patch 9.1.0682: Vim9: Segfault with uninitialized funcref
Problem:  Vim9: Segfault with uninitialized funcref
          (Daniel Viberg)
Solution: Check the Funcref for being Null before trying to access it
          (Ernie Rael)

fixes: #15523

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-19 21:47:35 +02:00
Aliaksei Budavei
6bff6a2fa4 patch 9.1.0681: tests: Analyzing failed screendumps is hard
Problem:  tests: Analyzing failed screendumps is hard
Solution: Facilitate the viewing of rendered screendumps under src/
          add some documentation on how to use the viewdumps.vim
          script (Aliaksei Budavei)

With the submitted "viewdumps.vim" script, a few manual
steps in typical workflows (see below) can be automated.
The updated "README.txt" contains additional information.

============================================================

Reviewing LOCAL failed screendump tests can be arranged as
follows:

1) Run tests and generate screendumps:
------------------------------------------------------------
cd /path/to/fork/src/testdir
make
------------------------------------------------------------

2) Examine the screendumps from the "failed" directory:
------------------------------------------------------------
../vim -u NONE -S viewdumps.vim
------------------------------------------------------------

============================================================

Reviewing UPLOADED failed screendump tests can be arranged
as follows (it can be further locally scripted):

1) Fetch an artifact with failed screendumps from
"github.com/vim/vim/actions/runs/A_ID/artifacts/B_ID".

2) Extract the archived files:
------------------------------------------------------------
unzip /tmp/failed-tests.zip -d /tmp
------------------------------------------------------------

3) Set up the "dumps" directory.  Create a symlink to
"/path/to/fork/dirs/dumps" in the extracted directories so
that term_dumpdiff() can be used.  (The lookup algorithm
resolves "dumps" for every loaded filename.  So, with
"/tmp/src/testdir/failed/*.dump" files passed as script
arguments, the algorithm will make the files in
"/tmp/src/testdir/dumps" queried.)
------------------------------------------------------------
cd /path/to/fork
ln -s $(pwd)/src/testdir/dumps /tmp/src/testdir/dumps
------------------------------------------------------------

4) Examine the extracted screendumps:
------------------------------------------------------------
./src/vim -u NONE -S src/testdir/viewdumps.vim \
  /tmp/src/testdir/failed/*.dump
------------------------------------------------------------

5) Clean up:
------------------------------------------------------------
unlink /tmp/src/testdir/dumps
rm -rf /tmp/src
------------------------------------------------------------

============================================================

Reviewing SUBMITTED FOR PULL REQUEST screendump tests can be
arranged as follows (it can be further locally scripted):

1) List the fetched changeset and write the changed "dumps"
filenames to "/tmp/filelist":
------------------------------------------------------------
cd /path/to/fork
git switch prs/1234
git diff-index --relative=src/testdir/dumps/ \
  --name-only prs/1234~1 > /tmp/filelist
------------------------------------------------------------

2) Reconcile relative filepaths, and copy next-to-be-updated
"dumps" files in the "failed" directory (note the missing
new screendumps, if any):
------------------------------------------------------------
git switch master
cd src/testdir/dumps
test -d ../failed || mkdir ../failed
cp -t ../failed $(cat /tmp/filelist)
------------------------------------------------------------

3) Remember about the introduced INVERTED relation between
"dumps" and "failed", i.e. the files to be committed are in
"dumps" already and their previous versions are in "failed";
therefore, copy the missing new screendumps from "dumps" to
"failed" (otherwise these won't be shown):
------------------------------------------------------------
git switch prs/1234
cp -t ../failed foo_10.dump foo_11.dump foo_12.dump
------------------------------------------------------------

4) Examine the screendumps from the "failed" directory (new
screendumps will be shown with no difference between their
versions):
------------------------------------------------------------
cd ..
../vim -u NONE -S viewdumps.vim
------------------------------------------------------------

closes: #15515

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-19 21:33:26 +02:00
Christian Brabandt
175a87c7f1 runtime(doc): more clarification for the :keeppatterns needed
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-19 21:23:38 +02:00
Zoltan Arpadffy
10231ac638 patch 9.1.0680: VMS does not have defined uintptr_t
Problem:  VMS does not have defined uintptr_t
Solution: Add type definitions (Zoltan Arpadffy)

closes: #15520

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-18 16:59:20 +02:00
Shougo Matsushita
890f97ce57 runtime(doc): improve typedchar documentation for KeyInputPre autocmd
closes: #15521

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
2024-08-18 16:57:04 +02:00
Christian Brabandt
8e25d91cb7 runtime(dist): verify that executable is in $PATH
Otherwise, if the executable to be verified does not exist,
this would cause a false-positive in the 'IsSafeExecutable()' check,
because 'exepath(executable)' returns an empty string and
'fnamemodify('', ':p:h')' returns the current directory and as a result
the 'IsSafeExecutable()' returns false (for the wrong reason).

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-17 21:00:55 +02:00
Antonio Giovanni Colombo
a4aa97590b translation(it): update Italian manpages
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-17 15:14:43 +02:00
zeertzjq
cba93cab53 runtime(doc): clarify the effect of :keeppatterns after v9.1.0677
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:37:08 +02:00
RestorerZ
9b7d55ee26 runtime(doc): update Makefile and make it portable between GNU and BSD
by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15493

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:13:50 +02:00
zeertzjq
bc11f6d9d4 patch 9.1.0679: Rename from w_closing to w_locked is incomplete
Problem:  Rename from w_closing to w_locked is incomplete
          (after 9.1.0678).
Solution: Rename remaining occurrences of w_closing to w_locked and
          update comments (zeertzjq).

closes: #15504

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:11:31 +02:00
Maxim Kim
6908db4756 runtime(colors): update colorschemes
- all: PMenuMatch and PMenuMatchSel for 8c/16c
- habamax:
    - revert VertSplit to solid background color
    - remove gitCommitSummary link to Title
    - make TabLineFill same as StatuslineNC

closes: #15506

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:09:50 +02:00
Doug Kearns
d164f2a521 runtime(vim): Update base-syntax, improve :let-heredoc highlighting
The end marker must appear on line of its own without any trailing
whitespace.

Whitespace is incorrectly allowed before all end markers.  Limiting this
only to heredocs where "trim" was specified, and with the correct
indent, is currently an intractable problem given that contained syntax
groups (in this case :let) cannot be limited to start patterns.

Highlight interpolated expressions when "eval" is specified.

cloess: #15511

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:07:15 +02:00
RestorerZ
8f3f78546f runtime(doc): Updating the examples in the xxd manpage
closes: #15508

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-16 21:03:58 +02:00
RestorerZ
85c724ea0e translation(ru): Updated uganda.rux
closes: #15510

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: RestorerZ <restorer@mail2k.ru>
2024-08-16 21:02:21 +02:00
Christian Brabandt
c6ed816761 runtime(yaml): do not re-indent when commenting out lines
It's a personal annoyance for me. I have to edit yaml files on a lot of
customer environments and whenever you type '#' at the start of the
line, the commented line will be indented by whatever indent the
previous line had.

I hate this seriously, because it makes un-commenting painful. So let's
fix this. But instead of messing with the indent function, let's just
remove the '0#' from cinkeys, so that Vim won't perform re-indenting
when commenting out such a yaml file.

closes: #15494

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:29:47 +02:00
Christian Brabandt
0a6e57b09b patch 9.1.0678: [security]: use-after-free in alist_add()
Problem:  [security]: use-after-free in alist_add()
          (SuyueGuo)
Solution: Lock the current window, so that the reference to
          the argument list remains valid.

This fixes CVE-2024-43374

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:15:28 +02:00
Gregory Anders
3b59be4ed8 patch 9.1.0677: :keepp does not retain the substitute pattern
Problem:  :keeppatterns does not retain the substitute pattern
          for a :s command
Solution: preserve the last substitute pattern when used with the
          :keeppatterns command modifier (Gregory Anders)

closes: #15497

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:09:28 +02:00
Ken Takata
12cb1d1326 translation(ja): Update Japanese translations to latest release
https://github.com/vim-jp/lang-ja/releases/tag/20240815

closes: #15498

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:02:45 +02:00
Damien
1fbccc1e96 runtime(netrw): Drop committed trace lines
closes: #15501

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:01:24 +02:00
Damien
b4d1164425 runtime(netrw): Error popup not always used
Problem:  g:netrw_use_errorwindow=2 does not work
          without +balloon_eval.
Solution: Check for popup_atcursor().

related: #15501

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:00:45 +02:00
Damien
7c754110ff runtime(netrw): ErrorMsg() may throw E121
Move variables declaration

related: #15501

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:00:10 +02:00
RestorerZ
1869fe0ce6 runtime(tutor): update Makefile and make it portable between GNU and BSD
by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15502
related: #15493

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 21:51:32 +02:00
RestorerZ
cca3df9275 translation: improve the po/cleanup.vim script
explicitly delete into the black-hole register

closes: #15499

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 21:47:09 +02:00
RestorerZ
5f995c92e7 runtime(lang): update Makefile and make it portable between GNU and BSD
by removing the non-portable GNU variable and using $? instead
Note: this only works for rules with single dependencies.

closes: #15503

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 21:43:56 +02:00
RestorerZ
81b62dd654 patch 9.1.0676: style issues with man pages
Problem:  style issues with man pages
Solution: update man pages and test_xxd.vim, since it uses
          the xxd man page (RestorerZ)

closes: #15489

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 21:39:33 +02:00
Christian Brabandt
ded1677dd2 patch 9.1.0675: Patch v9.1.0674 causes problems
Problem:  Patch v9.1.0674 causes problems
Solution: Revert it for now

Revert "patch 9.1.0674: Vim9: compiling abstract method fails because of missing return"

This reverts commit 7477861e0d.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 23:05:41 +02:00
Ken Takata
a1dc64956f runtime(dosbatch): Show %%i as an argument in syntax file
Inside batch files, for-variables must be written as %%i, not %i.

closes: #15453

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 21:59:42 +02:00
Ken Takata
11c92be897 runtime(dosbatch): Add syn-sync to syntax file
Closing parentheses were often highlighted as errors.
Add a syntax sync command to reduce the error.

Also fix that `defined` was not highlighted as an operator inside
parentheses.  E.g.:
```
if defined foo (
    if defined bar (
        ...
    )
)
```
The first `defined` was highlighted but the second one was not.

related: #15453

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 21:59:41 +02:00
Yinzuo Jiang
fc762dfc9f runtime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql"
Problem: When setting "let g:sql_type_default = "mysql", editing .sql
file reports "E169: Command too recursive" error

Solution:

- Add 'let b:did_ftplugin = 1' at the top of ftplugin/sql.vim
- Add 'if exists("b:did_ftplugin") | finish | endif' in ftplugin/mysql.vim
- Add missing header information in ftplugin/mysql.vim
- Remove redundant code in ftplugin/sql.vim

fixes: #15474
closes: #15475

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 21:49:00 +02:00
Ernie Rael
7477861e0d patch 9.1.0674: Vim9: compiling abstract method fails because of missing return
Problem:  Vim9: compiling abstract method fails because of missing
          return (Aliaksei Budavei)
Solution: don't require a return statement for an abstract method when
          compiling (Ernie Rael)

fixes: #15432
closes: #15441

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 14:53:55 +02:00
Tobiasz Laskowski
ea76096fa9 runtime(javascript): fix a few issues with syntax higlighting
It addresses the following issues:

- Fix highlight of let and var javascript keywords

  According to runtime/doc/syntax.txt, Identifier is for variable names.
  let/var are not variable names, they are keywords

- Add highlighting for "from" keyword in javascript

- Fix highlight of function keyword in javascript

  According to docs, Function is for function names, so the function
  keyword should just be Keyword.

- Fix highlight of static keyword in javascript

  According to vim docs: StorageClass static, register, volatile, etc.

closes: #15480

Signed-off-by: Tobiasz Laskowski <tobil4sk@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 14:50:56 +02:00
Stanislav Asunkin
dd36d6cc7c runtime(mediawiki): fix typo in doc, test for b:did_ftplugin var
closes: #15479

Signed-off-by: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com>
Signed-off-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 14:43:30 +02:00
Ubaldo Tiberi
bbeb38db4e runtime(termdebug): Fix wrong test for balloon feature
fixes: #15359
closes: #15487

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 14:41:02 +02:00
RestorerZ
ff1680722d runtime(doc): Remove mentioning of the voting feature
closes: #15491

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-14 14:39:32 +02:00
JJCUBER
dc831db6ea runtime(doc): add help tags for json + markdown global variables
I added help tags for them in the syntax.txt file since this is the only
place they are mentioned.

closes: #15486

Signed-off-by: JJCUBER <34446698+JJCUBER@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-13 23:42:36 +02:00
Ernie Rael
58c9579430 patch 9.1.0673: Vim9: too recursive func calls when calling super-class method
Problem:  Vim9: too recursive func calls when calling super-class method
          with non-overriden super-call methods. (Aliaksei Budavei)
Solution: use interface method, when super is to be used (Ernie Rael)

When compiling "super.Func()" force class context to class that defines
function that is doing "super.Func()".
ISN_METHODCALL arg "cmf_is_super" for specific ufunc.

fixes: #15448
fixes: #15463 (2) super.method may not execute in context of defining
                  class
closes: #15477

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-13 23:27:22 +02:00
Aliaksei Budavei
d33afe12c6 runtime(syntax-tests): Facilitate the viewing of rendered screendumps
With the submitted "viewdumps.vim" script, a few manual
steps in typical workflows (see below) can be automated.
The updated "README.txt" contains additional information.

============================================================

Reviewing LOCAL failed syntax tests can be arranged as
follows:

1) Run tests and generate screendumps:
------------------------------------------------------------
cd /path/to/fork/runtime/syntax
make clean test
------------------------------------------------------------

2) Examine the screendumps from the "failed" directory:
------------------------------------------------------------
../../src/vim --clean -S testdir/viewdumps.vim
------------------------------------------------------------

============================================================

Reviewing UPLOADED failed syntax tests can be arranged as
follows (it can be further locally scripted):

1) Fetch an artifact with failed screendumps from
"github.com/vim/vim/actions/runs/A_ID/artifacts/B_ID".

2) Extract the archived files:
------------------------------------------------------------
unzip /tmp/failed-tests.zip -d /tmp
------------------------------------------------------------

3) Set up the "dumps" directory.  Create a symlink to
"/path/to/fork/dirs/dumps" in the extracted directories so
that term_dumpdiff() can be used.  (The lookup algorithm
resolves "dumps" for every loaded filename.  So, with
"/tmp/runtime/syntax/testdir/failed/*.dump" files passed
as script arguments, the algorithm will make the files in
"/tmp/runtime/syntax/testdir/dumps" queried.)
------------------------------------------------------------
cd /path/to/fork
ln -s $(pwd)/runtime/syntax/testdir/dumps \
  /tmp/runtime/syntax/testdir/dumps
------------------------------------------------------------

4) Examine the extracted screendumps:
------------------------------------------------------------
./src/vim --clean -S runtime/syntax/testdir/viewdumps.vim \
  /tmp/runtime/syntax/testdir/failed/*.dump
------------------------------------------------------------

5) Clean up:
------------------------------------------------------------
unlink /tmp/runtime/syntax/testdir/dumps
rm -rf /tmp/runtime
------------------------------------------------------------

============================================================

Reviewing SUBMITTED FOR PULL REQUEST syntax tests can be
arranged as follows (it can be further locally scripted):

1) List the fetched changeset and write the changed "dumps"
filenames to "/tmp/filelist":
------------------------------------------------------------
cd /path/to/fork
git switch prs/1234
git diff-index --relative=runtime/syntax/testdir/dumps/ \
  --name-only prs/1234~1 > /tmp/filelist
------------------------------------------------------------

2) Reconcile relative filepaths, and copy next-to-be-updated
"dumps" files in the "failed" directory (note the missing
new screendumps, if any):
------------------------------------------------------------
git switch master
cd runtime/syntax/testdir/dumps
cp -t ../failed $(cat /tmp/filelist)
------------------------------------------------------------

3) Remember about the introduced INVERTED relation between
"dumps" and "failed", i.e. the files to be committed are in
"dumps" already and their previous versions are in "failed";
therefore, copy the missing new screendumps from "dumps" to
"failed" (otherwise these won't be shown):
------------------------------------------------------------
git switch prs/1234
cp -t ../failed foo_10.dump foo_11.dump foo_12.dump
------------------------------------------------------------

4) Examine the screendumps from the "failed" directory (new
screendumps will be shown with no difference between their
versions):
------------------------------------------------------------
cd ..
../../../src/vim --clean -S viewdumps.vim
------------------------------------------------------------

closes: #15476

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-12 18:43:06 +02:00
h-east
90e1fe4b76 runtime(doc): fix a few style issues
closes: #15478

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-12 18:27:41 +02:00
Christian Brabandt
8d02e5cf96 patch 9.1.0672: marker folds may get corrupted on undo
Problem:  marker folds may get corrupted on undo (Yousef Mohammed)
Solution: when adjusting folds, make sure that line1 is the lower limit
          and line2 is the upper line limit. In particular, line2 should
          not be able to get smaller than line1.

fixes: #15455
closes: #15466

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 20:12:41 +02:00
Christian Brabandt
fb3f969936 Problem: crash with WinNewPre autocommand
Problem:  crash with WinNewPre autocommand, because window
          structures are not yet safe to use
Solution: Don't trigger WinNewPre on :tabnew

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 20:09:17 +02:00
RestorerZ
e20aeb875c patch 9.1.0670: po file encoding fails on *BSD during make
Problem:  po file encoding fails on *BSD during make
Solution: instead of using `$<` make use of variable `$?` which should
          be equivalent when the rule is dependent on only a single
          file (RestorerZ).

closes: #15471

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 20:03:35 +02:00
Antonio Giovanni Colombo
659713da33 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 19:49:16 +02:00
Ken Takata
2630687315 translation: Stop using msgconv
It caused differences from Unix-like systems. Make sure that the same
files are generated both on Windows and Unix.

fixes: #14490
fixes: #14601
closes: #15469

Also
- update a few more auto-generated po files
- Make_mvc.mak work with Cygwin/MSYS2's gettext by using copy /b instead
  of copy /a

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 19:06:58 +02:00
Ken Takata
1c032e36a6 patch 9.1.0669: if_python: stable python ABI not used by default
Problem:  stable python ABI not used by default
Solution: Enable stable python ABI v3.8 when building with python3/dyn
          by default, update the default Python3 version to 3.8 for
          MS-Windows (Ken Takata)

closes: #15470
related: #15457

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 18:41:41 +02:00
Ken Takata
3383ed7e24 Update .gitignore and .hgignore files
Ignore auto-generated executable files in src/po/

closes: #15472

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-11 18:38:19 +02:00
Ken Takata
9abd7158d7 patch 9.1.0668: build-error with python3.12 and stable ABI
Problem:  build-error with python3.12 and stable ABI (zdohnal)
Solution: Add type casts, define Py_INCREF for Python3.12 and higher
          (Ken Takata)

fixes: #15460

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-10 09:44:20 +02:00
Ken Takata
181fda18e9 translations: Update generated po files
Some auto-generated po files cause differences after building Vim.
Update them.

closes: #15468

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-10 09:38:24 +02:00
zeertzjq
b026a293b1 patch 9.1.0667: Some other options reset curswant unnecessarily when set
Problem:  Some other options reset curswant unnecessarily when set.
          (Andrew Haust)
Solution: Don't reset curswant when setting 'comments', 'commentstring'
          or 'define' (zeertzjq)

fixes: #15462
closes: #15467

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-10 09:35:20 +02:00
zeertzjq
9c4b2462bb patch 9.1.0666: assert_equal() doesn't show multibyte string correctly
Problem:  assert_equal() doesn't show multibyte string correctly
Solution: Properly advance over a multibyte char.
          (zeertzjq)

closes: #15456

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-09 19:52:10 +02:00
zeertzjq
0cc5dce578 runtime(doc): clarify directory of Vim's executable vs CWD
According to :h win32-PATH, "the same directory as Vim" means the same
directory as the Vim executable, not Vim's current directory.  In patch
8.2.4860 these two concepts were mixed up.

closes: #15451

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-08 21:12:15 +02:00
zeertzjq
6b97d7ad19 patch 9.1.0665: Locked variable can be changed in a :for loop
Problem:  Locked variable can be changed in a :for loop.
Solution: Always do a full permission check on the first loop iteration
          where ASSIGN_DECL is not set (zeertzjq).

related: #12470
fixes: #15450
closes: #15454

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-08 21:05:57 +02:00
David Pedersen
39eff4cdc0 runtime(proto): Add indent script for protobuf filetype
closes: #15446

Signed-off-by: David Pedersen <limero@me.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-07 21:23:59 +02:00
Ken Takata
568cbc92a6 patch 9.1.0664: MS-Windows: console vim did not switch back to main screen on exit
Problem:  MS-Windows: console vim did not switch back to main screen on
          exit
Solution: switch back to main screen on exit (Ken Takata)

`vim.exe --cmd quit` quitted without switching back to the main screen
buffer and the alternate screen buffer was kept shown.

Restore the main screen buffer even when termcap mode has not been
started.

closes: #15443

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-07 21:18:24 +02:00
Christian Brabandt
e2d9b0d499 runtime(zip): zip plugin does not work with Vim 9.0
Problem:  zip plugin does not work with Vim 9.0
          because of :defer
Solution: raise minimum Vim version to Vim 9.1

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-07 08:13:32 +02:00
Christian Brabandt
91efcd115e patch 9.1.0663: tests: zip test still resets 'shellslash' option
Problem:  tests: zip test still resets 'shellslash' option
Solution: Remove resetting the 'shellslash' option, the zip
          plugin should now be able to handle this options

closes: #15434

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:19:50 +02:00
Christian Brabandt
afea6b9468 runtime(zip): use defer to restore old settings
Problem:  RestoreOpts() plugin called too often
Solution: use :defer to have the RestoreOpts() function
          called when the function returns automatically

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:19:50 +02:00
Christian Brabandt
8d52926857 runtime(zip): add a generic Message function
Problem:  the zip plugin duplicates a lot of code for displaying
          warnings/errors
Solution: refactor common code into a generic Mess() function

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:19:49 +02:00
Christian Brabandt
a336d8f21e runtime(zip): increment base version of zip plugin
Problem:  the zip plugin version is still v33
Solution: increment the version to v34

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:19:49 +02:00
Christian Brabandt
e1044fb72e runtime(zip): raise minimum Vim version to v9.0
Problem:  the zip plugin uses features of Vim 9.0, but
          checks for a Vim version >= 7.2
          (interpolated strings and readblob() function)
Solution: raise the minimum Vim version to v9.0

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:19:49 +02:00
Christian Brabandt
19636be55e runtime(zip): refactor save and restore of options
Problem:  zip plugin has no way to set/restore option values
Solution: Add the SetSaneOpts() and RestoreOpts() functions,
          so options that cause issues are set to sane values
          and restored back to their initial values later on.
          (this affects the 'shellslash' option on windows, which also
          changes how the shellescape() function works)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:19:37 +02:00
Christian Brabandt
33836d38b8 runtime(zip): remove test for fnameescape
Problem:  zip plugin tests for fnameescape() function
Solution: Remove the check, fnameescape() has been available since
          7.1.299, it should nowadays always be available

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:03:22 +02:00
Christian Brabandt
120c0dd815 runtime(zip): use :echomsg instead of :echo
Problem:  zip plugin uses :echo which does not store messages
Solution: use :echomsg instead of :echo so that messages are stored in
          the message history

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:02:05 +02:00
Christian Brabandt
a63f66e953 runtime(zip): clean up and remove comments
Problem:  zip plugin contains a lot of comments from the decho plugin
Solution: Clean up and remove un-used comments

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 20:00:31 +02:00
zeertzjq
da090f95df patch 9.1.0662: filecopy() may return wrong value when readlink() fails
Problem:  filecopy() may return wrong value when readlink() fails.
Solution: Set ret to -1 so that 0 is returned when readlink() fails.
          (zeertzjq)

closes: #15438

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-06 19:51:09 +02:00
Damien
d7af21e746 patch 9.1.0661: the zip plugin is not tested.
Problem:  the zip plugin is not tested.
Solution: include tests (Damien)

closes: #15411

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-05 20:24:11 +02:00
Damien
f0e9b72c8f runtime(zip): Fix for FreeBSD's unzip command
Problem:  Cannot browse zipfiles with the unzip program found
	  on FreeBSD.
Solution: Adjust command arguments.

Unzip found on FreeBSD complain about missing argument with the
zipinfo modifier '-Z -1'. Joining arguments seems to work
for both implementations.

Also change `:sil!` to `:sil` so that error messages are properly
reported (per review of Christian Brabandt).

related: #15411

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-05 20:21:18 +02:00
Christian Brabandt
217d3c17c6 runtime(doc): capitalize correctly
* do not capitalize after a double colon when introducing a list
* Capitalize a header line

closes: #15433

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-05 17:37:08 +02:00
Christopher Plewright
f5f69e8663 patch 9.1.0660: MS-Windows: Shift-Insert does work on old conhost
Problem:  MS-Windows: Shift-Insert does not work on old conhost
          (Nick Jensen, after 9.0.1146)
Solution: handle Shift-Insert specifically
          (Christian Plewright)

fixes: #15326
closes: #15430

Signed-off-by: Christopher Plewright <chris@createng.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-04 19:57:44 +02:00
Antonio Giovanni Colombo
e0fd1ca7df translation(it): update Italian manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-04 18:52:55 +02:00
Yinzuo Jiang
c0f7505ede runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr
Problem:

- Current lua indentexpr does not indent for '(' ')'.
- Missing indent test for lua.

Solution:

- Match '(', ')' in `function GetLuaIndentIntern`.
- Add an indent test for lua.

closes: #15364

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-04 18:47:25 +02:00
zeertzjq
c5bdd66558 runtime(zip): escape '[' on Unix as well
Problem:  After 6f1cbfc9ab483a09877e153ad130164875c40b1d fnameescape()
          is no longer called on the name of the file to be extracted.
          However, while spaces indeed don't need to be escaped, unzip
          treats '[' as a wildcard character, so it need to be escaped.
Solution: Escape '[' on both MS-Windows and Unix.

From the docs it seems '*' and '?' also need escaping, but they seem to
actually work without escaping.

fixes: neovim/neovim#29977
closes: #15427

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-04 18:35:50 +02:00
Ken Takata
2708afa640 patch 9.1.0659: MS-Windows: MSVC Makefile is a bit hard to read
Problem:  MS-Windows: MSVC Makefile is a bit hard to read
          (after v9.1.0657)
Solution: indent the if/else statements to improve readability
          (Ken Takata)

closes: #15428

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-04 18:31:48 +02:00
Jon Parise
947f752a47 runtime(doc): fix typo in syntax.txt
closes: #15425

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-03 17:40:58 +02:00
Christian Brabandt
15141208e9 runtime(doc): -x is only available when compiled with crypt feature
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-03 15:40:19 +02:00
zeertzjq
62d861741b patch 9.1.0658: Coverity warns about dereferencing NULL pointer.
Problem:  Coverity warns about dereferencing NULL pointer.
Solution: Bail out if vim_strrchr() returns NULL.
          (zeertzjq)

________________________________________________________________________________________________________
*** CID 1616019:    (NULL_RETURNS)
/src/help.c: 834 in fix_help_buffer()
828                                  continue;
829                              t2 = gettail(f2);
830                              e2 = vim_strrchr(t2, '.');
831                              if (e1 - f1 != e2 - f2
832                                          || fnamencmp(f1, f2, e1 - f1) != 0)
833                                  continue;
>>>     CID 1616019:    (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "NULL" "(char_u *)e2" when calling "vim_fnamecmp".
834                              if (fnamecmp(e1, ".txt") == 0
835                                             && fnamecmp(e2, fname + 4) == 0)
836                                  // use .abx instead of .txt
837                                  VIM_CLEAR(fnames[i1]);
838                          }
839                      }
/src/help.c: 816 in fix_help_buffer()
810                      // the same directory.
811                      for (i1 = 0; i1 < fcount; ++i1)
812                      {
813                          f1 = fnames[i1];
814                          t1 = gettail(f1);
815                          e1 = vim_strrchr(t1, '.');
>>>     CID 1616019:    (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "NULL" "(char_u *)e1" when calling "vim_fnamecmp".
816                          if (fnamecmp(e1, ".txt") != 0
817                                             && fnamecmp(e1, fname + 4) != 0)
818                          {
819                              // Not .txt and not .abx, remove it.
820                              VIM_CLEAR(fnames[i1]);
821                              continue;

closes: #15420

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-03 14:52:00 +02:00
Maxim Kim
6228481b8e runtime(colors): update Todo highlight in habamax colorscheme
Magenta background Todo is too bright and might interfere with DiffText.
Make it less strong, without background, bold.

closes: #15423

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-03 14:48:16 +02:00
Ken Takata
87d63d34b6 patch 9.1.0657: MS-Windows: MSVC build time can be optimized
Problem:  MS-Windows: MSVC build time can be optimized
Solution: Stop using Powershell, show detected version, read _MSC_VER
          and _MSC_FULL_VER in a single cl execution. (Ken Takata)

closes: #15421

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-03 14:40:35 +02:00
Ken Takata
cdf1c7a73a patch 9.1.0656: MS-Windows: MSVC Makefile CPU handling can be improved
Problem:  MS-Windows: MSVC Makefile CPU handling can be improved
Solution: Update Makefile and also remove some old code
          (Ken Takata)

* The variable `ASSEMBLY_ARCHITECTURE` was originally used to generate
  the manifest file. However, this was removed in v7.0.198.  Remove
  `ASSEMBLY_ARCHITECTURE` and use `CPU` instead.
* `/arch:AVX512` is available starting from Visual C++ 2017.
* ARM64 was not considered when validating CPUNR.
  Skip the validation for ARM64 for now.
* Remove old code for VC6/7 and Win9x.

closes: #15422

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-03 14:36:37 +02:00
Adam Monsen
0aa65b48fb patch 9.1.0655: filetype: goaccess config file not recognized
Problem:  filetype: goaccess config file not recognized
Solution: detect 'goaccess.conf' as goaccess filetype, also
          include a basic syntax and ftplugin (Adam Monsen)

Add syntax highlighting for GoAccess configuration file.

GoAccess is a real-time web log analyzer and interactive viewer that
runs in a terminal in *nix systems or through your browser.

GoAccess home page: https://goaccess.io

closes: #15414

Signed-off-by: Adam Monsen <haircut@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-02 19:58:00 +02:00
Philip H
22a22529af CI: update clang compiler to version 20
closes: #15416

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-02 19:45:52 +02:00
Ivan Shapovalov
c527d90fae runtime(netrw): honor g:netrw_alt{o,v} for :{S,H,V}explore
Make `:Sexplore` / `:Hexplore` / `:Vexplore` commands honor the user
`&split{right,below}` settings (or netrw-specific `g:netrw_alt{o,v}`)
instead of hardcoding a split direction. Similarly, update banged
variants of the two latter commands to follow the inverted preference.

closes: #15417

Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-02 19:43:12 +02:00
glepnir
b9de1a057f patch 9.1.0654: completion does not respect completeslash with fuzzy
Problem:  completion does not respect completeslash with fuzzy
          (egesip)
Solution: Change path separator on Windows, depending on 'completeslash'
          option value (glepnir)

fixes: #15392
closes: #15418

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-02 19:14:38 +02:00
Christian Brabandt
a0b5bc1285 patch 9.1.0653: Patch v9.1.0648 not completely right
Problem:  Patch v9.1.0648 not completely right
          (zeertzjq)
Solution: Remove always true condition

closes: #15415

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-02 19:06:41 +02:00
John Marriott
b4ea77185c patch 9.1.0652: too many strlen() calls in syntax.c
Problem:  too many strlen() calls in syntax.c
Solution: refactor code to reduce the number or strlen() calls,
          get rid of un-used SYN_NAMELEN macro
          (John Marriott)

closes: #15368

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 23:01:25 +02:00
Mohamed Akram
0214680a8e patch 9.1.0651: ex: trailing dot is optional for :g and :insert/:append
Problem:  ex: trailing dot is optional for :g and :insert/:append
Solution: don't break out early, when the next command is empty.
          (Mohamed Akram)

The terminating period is optional for the last command in a global
command list.

closes: #15407

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 22:53:01 +02:00
zeertzjq
e8feaa354e patch 9.1.0650: Coverity warning in cstrncmp()
Problem:  Coverity warning in cstrncmp()
          (after v9.1.0645)
Solution: Change the type of n2 to int.
          (zeertzjq)

________________________________________________________________________________________________________
*** CID 1615684:  Integer handling issues  (INTEGER_OVERFLOW)
/src/regexp.c: 1757 in cstrncmp()
1751                 n1 -= mb_ptr2len(s1);
1752                 MB_PTR_ADV(p);
1753                 n2++;
1754             }
1755             // count the number of bytes to advance the same number of chars for s2
1756             p = s2;
>>>     CID 1615684:  Integer handling issues  (INTEGER_OVERFLOW)
>>>     Expression "n2--", which is equal to 18446744073709551615, where "n2" is known to be equal to 0, underflows the type that receives it, an unsigned integer 64 bits wide.
1757             while (n2-- > 0 && *p != NUL)
1758                 MB_PTR_ADV(p);
1759
1760             n2 = p - s2;
1761
1762             result = MB_STRNICMP2(s1, s2, *n, n2);

closes: #15409

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 22:48:53 +02:00
zeertzjq
c1ed788c1b patch 9.1.0649: Wrong comment for "len" argument of call_simple_func()
Problem:  Wrong comment for "len" argument of call_simple_func().
Solution: Remove the "or -1 to use strlen()".  Also change its type to
          size_t to remove one cast. (zeertzjq)

closes: #15410

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 22:46:54 +02:00
Christian Brabandt
b29f4abcd4 patch 9.1.0648: [security] double-free in dialog_changed()
Problem:  [security] double-free in dialog_changed()
          (SuyueGuo)
Solution: Only clear pointer b_sfname pointer, if it is different
          than the b_ffname pointer.  Don't try to free b_fname,
          set it to NULL instead.

fixes: #15403

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-46pw-v7qw-xc2f

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 22:35:18 +02:00
Christian Brabandt
8a0bbe7b8a patch 9.1.0647: [security] use-after-free in tagstack_clear_entry
Problem:  [security] use-after-free in tagstack_clear_entry
          (Suyue Guo )
Solution: Instead of manually calling vim_free() on each of the tagstack
          entries, let's use tagstack_clear_entry(), which will
          also free the stack, but using the VIM_CLEAR macro,
          which prevents a use-after-free by setting those pointers
          to NULL

This addresses CVE-2024-41957

Github advisory:
https://github.com/vim/vim/security/advisories/GHSA-f9cr-gv85-hcr4

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 22:35:18 +02:00
Christian Brabandt
5b07213c0b runtime(doc): re-format tag example lines, mention ctags --list-kinds
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-01 09:27:53 +02:00
Ernie Rael
164096927b patch 9.1.0646: Vim9: imported function may not be found
Problem:  Vim9: imported function may not be found
Solution: Try to find the function by name (Ernie Rael)

fixes: #15381
closes: #15382

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:18:11 +02:00
Aliaksei Budavei
30a8ad675d runtime(java): Document "g:java_space_errors" and "g:java_comment_strings"
closes: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:16:46 +02:00
Aliaksei Budavei
77b87c30d9 runtime(java): Cluster optional group definitions and their group links
And keep non-optional group links at the end of the file.

related: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:15:16 +02:00
Aliaksei Budavei
9aabcef1c8 runtime(java): Tidy up the syntax file
- Prefix all global variables with "g:".
- Add spaces around each variable assignment operator.
- Remove extraneous whitespace characters.
- Remove a spurious _serializable_ Java keyword (since v1.1,
  java.io.Serializable and java.io.Externalizable interfaces
  provide an API for object serialization; see vim-6-0j).
- Normalise the syntax definition argument order by making
  _contained_ the first argument of each such definition.
- Normalise the argument tabulation for highlighting group
  definitions.

Reference:
https://web.archive.org/web/20010821025330/java.sun.com/docs/books/jls/first_edition/html/1.1Update.html

related: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:14:37 +02:00
Aliaksei Budavei
3749dff093 runtime(java): Tidy up the documentation for "ft-java-syntax"
- Reword a few sentences and reformat a few paragraphs.
- Supply absent capitalisation and punctuation.
- Make listed highlighting groups and code stand out.
- Prefix all Java-related global variables with "g:".
- Add spaces around each variable assignment operator.
- Acknowledge that some Javadoc variables are maintained in
  the HTML syntax file.

Also, move the overridable _default_ HTML group links before
the HTML syntax file inclusion in order to implement the
documented diverged settings.

related: #15399

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:13:25 +02:00
Maxim Kim
d88ebcbd9f runtime(colors): update habamax scheme - tweak diff/search/todo colors
- Make diff colors more accessible, Green for added, Red for deleted, Blue for Changed
- Change Search to blue to be visible with Diff colors
- Change Todo to bright magenta

closes: #15400

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:09:24 +02:00
Maxim Kim
5753d99ff6 runtime(nohlsearch): add missing loaded_hlsearch guard
related: #15039
closes: #15402

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 22:07:43 +02:00
Corey Prophitt
56e8ed6162 runtime(kivy): Updated maintainer info for syntax script
closes: #15405

Signed-off-by: Corey Prophitt <git@prophitt.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-31 21:56:29 +02:00
Jon Parise
491e55d0e7 Maintainers: Add maintainer for ondir ftplugin + syntax files
closes: #15397

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 21:21:43 +02:00
Travis Shelton
e34d0e37e3 runtime(netrw): removing trailing slash when copying files in same directory
closes: #14756

Signed-off-by: Travis Shelton <tshelton.mail@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 21:10:38 +02:00
Christian Brabandt
22e8e12d9f patch 9.1.0645: regex: wrong match when searching multi-byte char case-insensitive
Problem:  regex: wrong match when searching multi-byte char
          case-insensitive (diffsetter)
Solution: Apply proper case-folding for characters and search-string

This patch does the following 4 things:

1) When the regexp engine compares two utf-8 codepoints case
   insensitive it may match an adjacent character, because it assumes
   it can step over as many bytes as the pattern contains.

   This however is not necessarily true because of case-folding, a
   multi-byte UTF-8 character can be considered equal to some
   single-byte value.

   Let's consider the pattern 'ſ' and the string 's'. When comparing and
   ignoring case, the single character 's' matches, and since it matches
   Vim will try to step over the match (by the amount of bytes of the
   pattern), assuming that since it matches, the length of both strings is
   the same.

   However in that case, it should only step over the single byte value
   's' by 1 byte and try to start matching after it again. So for the
   backtracking engine we need to ensure:
   * we try to match the correct length for the pattern and the text
   * in case of a match, we step over it correctly

   There is one tricky thing for the backtracing engine. We also need to
   calculate correctly the number of bytes to compare the 2 different
   utf-8 strings s1 and s2. So we will count the number of characters in
   s1 that the byte len specified. Then we count the number of bytes to
   step over the same number of characters in string s2 and then we can
   correctly compare the 2 utf-8 strings.

2) A similar thing can happen for the NFA engine, when skipping to the
   next character to test for a match. We are skipping over the regstart
   pointer, however we do not consider the case that because of
   case-folding we may need to adjust the number of bytes to skip over.
   So this needs to be adjusted in find_match_text() as well.

3) A related issue turned out, when prog->match_text is actually empty.
   In that case we should try to find the next match and skip this
   condition.

4) When comparing characters using collections, we must also apply case
   folding to each character in the collection and not just to the
   current character from the search string.  This doesn't apply to the
   NFA engine, because internally it converts collections to branches
   [abc] -> a\|b\|c

fixes: #14294
closes: #14756

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 20:39:18 +02:00
Christian Brabandt
df9f67e10d runtime(html): update syntax script to sync by 250 minlines by default
closes: #14071

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 20:22:20 +02:00
zeertzjq
74011dc1fa patch 9.1.0644: Unnecessary STRLEN() when applying mapping
Problem:  Unnecessary STRLEN() when applying mapping.
          (after v9.1.0642)
Solution: Use m_keylen and vim_strnsave().
          (zeertzjq)

closes: #15394

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 19:17:56 +02:00
Damien
c4be066817 runtime(zip): Opening a remote zipfile don't work
Problem:  Opening a zipfile from HTTP gives an empty buffer.
Solution: Ensure that the magic bytes check does not
          skip protocol processing.

Also use readblob() and remove commented out lines.

closes: #15396

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 19:14:35 +02:00
Yinzuo Jiang
e6471b415b runtime(cuda): source c and cpp ftplugins
closes: #15383

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-30 18:15:30 +02:00
Christian Brabandt
1254e6db83 patch 9.1.0643: terminal: cursor may end up on invalid position
Problem:  terminal: cursor may end up on invalid position after reducing
          the scrollback lines (user202729)
Solution: After reducing the scrollback size, check the cursor position,
          making sure it does not end up on an invalid line

fixes: #15351

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 21:19:51 +02:00
zeertzjq
9d997addc7 patch 9.1.0642: Check that mapping rhs starts with lhs fails if not simplified
Problem:  Check that mapping rhs starts with lhs doesn't work if lhs is
          not simplified.
Solution: Keep track of the mapblock containing the alternative lhs and
          also compare with it (zeertzjq).

fixes: #15376
closes: #15384

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 21:10:07 +02:00
Ken Takata
baaf6deb95 patch 9.1.0641: MS-Windows: OLE enabled in console version
Problem:  MS-Windows: OLE enabled in console version, may cause hang
          (Linda_pp)
Solution: Disable OLE for console version (Ken Takata)

If VIMDLL was enabled, a message box for registering OLE might be shown
even if Vim was executed in a console. (See #15372)

Enabling OLE in a console is not so useful.  Disable it.

fixes: #15372
closes: #15385

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 20:57:19 +02:00
Yinzuo Jiang
011f2223e5 runtime(thrift): add ftplugin, indent and syntax scripts
Problem: Apache Thrift files misses ftplugin, indent and syntax scripts

Solution:
- add ftplugin and indent scripts
- add thrift indent test
- port the syntax script from apache/thrift (Apache License 2)

Reference:
https://diwakergupta.github.io/thrift-missing-guide/#_language_reference

closes: #15387

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 20:51:05 +02:00
Ken Takata
3da011871a patch 9.1.0640: Mingw: Makefile can be improved
Problem:  Mingw: Makefile can be improved
Solution: Reduce nesting level, directly check if the '-Wl,--entry'
          option is required (Ken Takata)

closes: #15386

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 20:43:21 +02:00
Ken Takata
0bee82b1d0 patch 9.1.0639: channel timeout may wrap around
Problem:  channel timeout may wrap around
Solution: Correct timeout calculation when GetTickCount() wraps around
          (Ken Takata)

closes: #15390

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 20:39:12 +02:00
zeertzjq
0dff31576a patch 9.1.0638: E1510 may happen when formatting a message for smsg()
Problem:  E1510 may happen when formatting a message
          (after 9.1.0181).
Solution: Only give E1510 when using typval. (zeertzjq)

closes: #15391

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 20:28:14 +02:00
Ken Takata
81a65000c5 patch 9.1.0637: MS-Windows: Style issues in MSVC Makefile
Problem:  MS-Windows: Style issues in MSVC Makefile
Solution: Fix style issues, simplify logic
          (Ken Takata)

* Add space around the operators for consistency.
* Remove unnecessary ren command. Use the /Fe option to create
  install.exe directly.
* Remove unnecessary mkdir auto command. src/auto should always exist.

closes: #15389

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 19:52:03 +02:00
EliSauder
f4572cee35 patch 9.1.0636: filetype: ziggy files are not recognized
Problem:  filetype: ziggy files are not recognized
Solution: detect '*.ziggy' files as ziggy filetype,
          detect '*.ziggy-schema' files as ziggy-schema filetype
          (EliSauder)

References: https://ziggy-lang.io/

fixes: #15355
closes: #15367

Signed-off-by: EliSauder <24995216+EliSauder@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 21:32:38 +02:00
EliSauder
e57c9a19ed patch 9.1.0635: filetype: SuperHTML template files not recognized
Problem:  filetype: SuperHTML template files not recognized
Solution: Update the filetype detection code to detect '*.shtml' either
          as HTML (Server Side Includes) or SuperHTML (template files)
          (EliSauder)

related: #15355
related: #15367

Signed-off-by: EliSauder <24995216+EliSauder@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 21:28:11 +02:00
Christian Brabandt
13032a49b7 patch 9.1.0634: Ctrl-P not working by default
Problem:  Ctrl-P not working by default
          (Jesse Pavel, after v9.1.0598)
Solution: Revert part of v9.1.0598 and set cur_match_pos
          correctly according to compl_dir_forward()

fixes: #15370
closes: #15379

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 21:16:48 +02:00
Dominique Pellé
0268ff3af3 patch 9.1.0633: Compilation warnings with -Wunused-parameter
Problem:  Compilation warnings with `-Wunused-parameter`
Solution: Add the `UNUSED` macro where needed, and remove some
          superfluous ones (Dominique Pellé)

Change fixes these kind of warnings when building without the channel
feature:

```
eval.c:6122:15: warning: unused parameter ‘tv’ [-Wunused-parameter]
     typval_T *tv,
               ^
eval.c:6123:14: warning: unused parameter ‘tofree’ [-Wunused-parameter]
     char_u **tofree,
              ^
eval.c:6124:13: warning: unused parameter ‘numbuf’ [-Wunused-parameter]
     char_u *numbuf,
             ^
eval.c:6125:10: warning: unused parameter ‘composite_val’ [-Wunused-parameter]
     int  composite_val)
```

closes: #15378

Signed-off-by: Dominique Pellé <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 21:12:20 +02:00
Ken Takata
073cb02cb5 patch 9.1.0632: MS-Windows: Compiler Warnings
Problem:  MS-Windows: Compiler Warnings
Solution: Fix the warnings (Ken Takata)

* Unused variable.
* Conversion from size_t to int.

closes: #15369

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 17:08:15 +02:00
josch
4c45425c10 runtime(debcopyright): Add support for Files-Included in syntax script
Full support (including for components) was finished with this commit:
ee90dad771

closes: #15374

Signed-off-by: josch <josch@debian.org>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 17:06:14 +02:00
h-east
52e7cc26d8 runtime(doc): tweak documentation style a bit
closes: #15371

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 17:03:29 +02:00
glepnir
6b6280c4a2 patch 9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion
Problem:  wrong completion list displayed with non-existing dir + fuzzy
          completion (kawarimidoll)
Solution: clear list of matches, if leader did not use fuzzy match
          (glepnir)

fixes: #15357
closes: #15365

Signed-off-by: glepnir <glephunter@gmail.com>
2024-07-27 16:25:45 +02:00
Ken Takata
f0ce176b5f patch 9.1.0630: MS-Windows: build fails with VIMDLL and mzscheme
Problem:  MS-Windows: build fails with VIMDLL and mzscheme
Solution: define scheme_register_tls_space() inside gvim.exe
          and refer to it from the dll (Ken Takata).

`scheme_register_tls_space()` doesn't support a thread-local variable in
a DLL:
https://docs.racket-lang.org/inside/im_memoryalloc.html#%28cpp._scheme_register_tls_space%29

closes: #15363

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-27 13:25:34 +02:00
zeertzjq
4100852e09 patch 9.1.0629: Rename of pum hl_group is incomplete
Problem:  Rename of pum hl_group is incomplete in source.
Solution: Also rename the test function.  Rename to user_hlattr in code
          to avoid confusion with pum_extra.  Add test with matched text
          highlighting (zeertzjq).

closes: #15348

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-27 13:21:49 +02:00
Ken Takata
f08865ce83 patch 9.1.0628: MinGW: coverage files are not cleaned up
Problem:  MinGW: coverage files are not cleaned up
Solution: Adjust clean rule to remove the coverage files
          (Ken Takata)

closes: #15361

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-27 13:16:43 +02:00
Ken Takata
e4486bad10 patch 9.1.0627: MinGW: build-error when COVERAGE is enabled
Problem:  MinGW: build-error when COVERAGE is enabled
          (after v9.1.0621)
Solution: Fix regressions in v9.1.0621 and v9.1.0622
          (Ken Takata)

* Fix build error when COVERAGE=yes.
* Fix if_lua with USE_GC_SECTIONS=yes.

related: #15361

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-27 13:16:38 +02:00
Ernie Rael
94082b60d5 patch 9.1.0626: Vim9: need more tests with null objects
Problem:  Vim9: need more tests with null objects
          (after v9.1.0620)
Solution: add one more test with null_object
          (Ernie Rael)

closes: #15360

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 19:40:29 +02:00
Peter Aronoff
a7295ae7f5 runtime(autohotkey): include initial filetype plugin
closes: #15345

Signed-off-by: Peter Aronoff <peter@aronoff.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 19:24:33 +02:00
Christian Brabandt
6ed8ae837b patch 9.1.0625: tests: test output all translated messages for all translations
Problem:  tests: test output all translated messages for all
          translations
Solution: Redirect the output of check.vim to /dev/null, it's not that
          useful.

closes: #15354

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 19:21:03 +02:00
Christian Brabandt
70a11a6bf6 patch 9.1.0624: ex command modifiers not found
Problem:  ex command modifiers are not found
          (Ingo Karkat, after v9.1.0352)
Solution: partly revert patch v9.1.0352, ignore :{ and :}
          when expanding ex commands

The issue is, that the :keepmarks command can be abbreviated to :kee or
:keep or :keepm but not to e.g. :ke (because that would be the :exe
command :k with register e).

This basically means, we need `:kee` sorted before `:keepalt` but at the
same time `:keepmarks` sorted after the `:keepalt` command in the
cmdmod_info_tab table. Due to this, the binary search may not work
correctly, so let's revert that part of patch v9.1.0352.

fixes: #15305
closes: #15336

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 19:13:55 +02:00
Ken Takata
325420ebe4 patch 9.1.0623: Mingw: errors when trying to delete non-existing files
Problem:  Mingw: warnings when trying to delete non-existing files
Solution: Use "rm -f" instead of "rm" to suppress errors for
          non-existing files (Ken Takata)

closes: #15350

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 19:07:48 +02:00
Ken Takata
032accd98b patch 9.1.0622: MS-Windows: mingw-build can be optimized
Problem:  MS-Windows: mingw-build can be optimized
Solution: use --gc-sections to reduce the size of the executable
          (Ken Takata)

Use the --gc-sections linker option and the -ffunction-sections compiler
option to reduce the size of the executable files.  To make these work,
the -fno-asynchronous-unwind-tables compiler option is also needed.

This is enabled by default and can be disabled by `USE_GC_SECTIONS=no`.

Note: A similar feature has been already used in MSVC. (The /OPT linker
option.)

related: #15350

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 19:07:41 +02:00
Ken Takata
b32d0a479d patch 9.1.0621: MS-Windows: startup code can be improved
Problem:  MS-Windows: startup code can be improved
Solution: Re-work and optimize win32 startup code
          (Ken Takata)

* Revise the code and reduce #ifdefs.
* For VIMDLL, stop using the default CRT startup code to reduce the file
  size.
  The file size becomes ~130 KB -> ~34 KB on MSVC.
* Update comments. Make them consistent between os_w32dll.c and
  os_w32exe.c.

closes: #15352

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 18:46:54 +02:00
Ernie Rael
be82825687 patch 9.1.0620: Vim9: segfauls with null objects
Problem:  Vim9: segfauls with null objects
          (after v9.1.0219)
Solution: Check object pointer being NULL
          (Ernie Rael)

fixes: #15338
closes: #15349

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 18:39:52 +02:00
glepnir
8754efe437 patch 9.1.0619: tests: test_popup fails
Problem:  tests: test_popup fails
          (after v9.1.0618)
Solution: Correct test, move combining extra attributes to
          pum_compute_text_attrs() (glepnir)

closes: #15353

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-26 18:15:27 +02:00
glepnir
508e7856ec patch 9.1.0618: cannot mark deprecated attributes in completion menu
Problem:  cannot mark deprecated attributes in completion menu
Solution: add hl_group to the Dictionary of supported completion fields
          (glepnir)

closes: #15314

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-25 21:39:08 +02:00
Luuk van Baal
dc373d456b patch 9.1.0617: Cursor moves beyond first line of folded end of buffer
Problem:  Cursor moves beyond start of a folded range at the end of a buffer.
Solution: Move cursor to start of fold when going beyond end of buffer.
          Check that cursor moved to detect FAIL in outer cursor function.
          (Luuk van Baal)

closes: #15344

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-25 21:24:32 +02:00
Ken Takata
eb4b903c9b patch 9.1.0616: filetype: Make syntax highlighting off for MS Makefiles
Problem:  filetype: Make syntax highlighting off for MS Makefiles
Solution: Try to detect MS Makefiles and adjust syntax rules to it.
          (Ken Takata)

Highlighting of variable expansion in Microsoft Makefile can be broken.
E.g.:
2979cfc262/src/Make_mvc.mak (L1331)

Don't use backslash as escape characters if `make_microsoft` is set.
Also fix that `make_no_comments` was not considered if `make_microsoft`
was set.

Also add description for `make_microsoft` and `make_no_comments` to the
documentation and include a very simple filetype test

closes: #15341

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ken Takata <kentkt@csc.jp>
2024-07-25 21:16:37 +02:00
zeertzjq
242667ae14 patch 9.1.0615: Unnecessary STRLEN() in make_percent_swname()
Problem:  Unnecessary STRLEN() in make_percent_swname()
Solution: Pass the end of "dir" to make_percent_swname()
          (zeertzjq)

closes: #15340

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-25 20:58:42 +02:00
Daniel Smith
4d68054c1e runtime(progress): Add single-line comment syntax
Progress OpenEdge 11.6 added a new C-like single-line comment syntax; such
comments begin with `//` and proceed to the end of the line.

Add a new syntax group `ProgressLineComment` to implement highlighting for this
syntax. Rename the existing group from `ProgressComment` to
`ProgressBlockComment`, and introduce a cluster named `ProgressComment` to
encapsulate both.

closes: #15339

Signed-off-by: Daniel Smith <daniel@rdnlsmith.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-25 20:55:34 +02:00
Daniel Smith
408bd9ffe7 runtime(progress): Add syntax test for comments
We intend to update the Progress syntax file to support the single-line comment
syntax that was introduced in Progress OpenEdge 11.6. As there are no existing
tests for this file, we should first add one that demonstrates the comment
syntax that is already supported.

related: #15339

Signed-off-by: Daniel Smith <daniel@rdnlsmith.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-25 20:54:57 +02:00
Daniel Smith
d5cc8ee0fa runtime(progress): Update maintainer info
The Progress syntax file was last updated eight years ago, and the header
information twelve years ago. Attempts to contact the last known maintainer at
the email address listed in the file header (with the spam-prevention characters
removed) produced a delivery failure notification stating that the address did
not exist.

I intend to submit some minor improvements to this file. Per [1], I will assume
maintainership of it for the time being.

related: #15339

Signed-off-by: Daniel Smith <daniel@rdnlsmith.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>

[1]: https://groups.google.com/g/vim_dev/c/I3pOKIOgM4A/m/pekGQB_lBwAJ
2024-07-25 20:54:10 +02:00
Doug Kearns
377a085ea3 patch 9.1.0614: tests: screendump tests fail due to recent syntax changes
Problem:  Vim syntax file changes to :set command highlighting render
          some test dump files invalid.
          (zeertzjq, after commit ddbb6fe)
Solution: Regenerate the affected dump files (Doug Kearns)

closes: #15342

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-25 20:43:50 +02:00
Christian Brabandt
2979cfc262 patch 9.1.0613: tests: termdebug test may fail and leave file around
Problem:  tests: termdebug test may fail and leave temp file around
          (Dominique Pellé)
Solution: only run balloon_show() if the function exists, validate
          termdebug is running using the g: termdebug_is_running var,
          use defer to delete temporary files

fixes: #15334

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-24 21:41:55 +02:00
Doug Kearns
ddbb6fe2d0 runtime(vim): Update base-syntax, improve :set highlighting
- Match bang, "all" and "termcap" options, and trailing command
  separator "|".
- Highlight set assignment operators.
- Match multiline :set and multiline option values.
- Mention the newer "0o" octal prefix at :help :set=.

closes: #15329

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-24 20:21:22 +02:00
Aliaksei Budavei
e73e5b889b runtime(java): Optionally highlight the :: token for method references
This token will be highlighted, similar to the arrow of
lambda expressions, whenever "g:java_highlight_functions" is
defined.

Also:

- Improve the recognition of _switch-case_ labels
  (D-Cysteine).
- Remove insignificant empty statements in syntax test
  files.

closes: #15322

References:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.13
https://github.com/fleiner/vim/pull/1

Co-authored-by: D-Cysteine <54219287+D-Cysteine@users.noreply.github.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-24 20:17:43 +02:00
カワリミ人形
df77c8ad39 patch 9.1.0612: filetype: deno.lock file not recognized
Problem:  filetype: deno.lock file not recognized
Solution: detect 'deno.lock' as json filetype
          (カワリミ人形)

Reference:
https://docs.deno.com/runtime/manual/basics/modules/integrity_checking/#caching-and-lock-files

closes: #15333

Signed-off-by: カワリミ人形 <kawarimidoll+git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-24 20:10:58 +02:00
Damien
2cad941dc0 runtime(zip): Use delete() for deleting directory
This is safer because we don't invoke the shell.

closes: #15335

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-24 20:07:00 +02:00
Christian Brabandt
581d4a7b35 runtime(netrw): escape filename before trying to delete it
fixes: #15330

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-23 21:14:06 +02:00
Oleg Goncharov
56904f90d1 patch 9.1.0611: ambiguous mappings not correctly resolved with modifyOtherKeys
Problem:  ambiguous mappings not correctly resolved with modifyOtherKeys
Solution: Check for termcode when an upper case mapping is received and
          does not match (Oleg Goncharov)

Fix for mapping processing when capital leters are represented with terminal codes.

Problem: there are two mappings and
1) the first mapping is substring of the second,
2) the first non-matching letter is capital,
3) capital letters are represented with termcodes "ESC[27;2;<ascii code>~" in given system
then first mapping is applied instead of second.

Example:

    :map B b
    :map BBB blimp!

and then

    BBB -> bbb

instead of

    BBB -> blimp!

Solution: force termcodes check if capital letter does not match.

closes: #15251

Signed-off-by: Oleg Goncharov <goncharovoi@yandex.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-23 20:42:02 +02:00
Damien
38ce71c1c3 runtime(zip): correctly extract file from zip browser
Problem:  Enter 'x' in zip browser fail with E121
Solution: Fix typo in zip#Extract()

closes: #15321

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-23 19:58:36 +02:00
Gregory Anders
e4b991ed36 patch 9.1.0610: filetype: OpenGL Shading Language files are not detected
Problem:  filetype: OpenGL Shading Language files are not detected
Solution: detect various file extensions as GLSL filetype, include
          indent and syntax script, do no longer recognize '*.comp'
          as Mason filetype (Gregory Anders)

closes: #15317

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-22 20:33:48 +02:00
Damien
9d57ea5cd3 runtime(netrw): Fix endless recursion in netrw#Explore()
Problem:  ':E /etc BOOM' give E132 error.
Solution: Avoid recursion call with same arguments.

fixes: #5723
closes: #15318

Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-22 20:25:34 +02:00
Shane Harper
4c3616d7a2 patch 9.1.0609: outdated comments in Makefile
Problem:  outdated comments in Makefile
Solution: update outdated comments, update rule for vimtags
          (Shane Harper)

related: commit b81109192f

Here are the changes and the reasons for them:

- Delete the comment preceding the assignment to VIMPROG. Since b81109192f
  there's no need for VIMPROG to be set to something else when this is executed
  from src/Makefile. (The comment was wrong anyway; VIMPROG was being set to
  "$$BUILD_DIR/$(VIMTARGET)".)

```
    # Set to $(VIMTARGET) when executed from src/Makefile.
     VIMPROG = ../../src/vim
```

- Delete "`and installed`" in the following comment; The vimtags rule doesn't
  require that Vim has been installed.

```
    # Use Vim to generate the tags file.  Can only be used when Vim has been
    # compiled and installed.  Supports multiple languages.
    vimtags: $(DOCS)
```

- With commit b81109192f there is no longer a need to set VIMPROG here:

```
       -@BUILD_DIR="`pwd`"; cd $(HELPSOURCE); if test -z "$(CROSS_COMPILING)"; then \
               $(MAKE) VIMPROG="$$BUILD_DIR/$(VIMTARGET)" vimtags; fi
```

The new code below will use the same vim executable as the old code:
```
       -@cd $(HELPSOURCE); if test -z "$(CROSS_COMPILING)"; then \
               $(MAKE) vimtags; fi
```

- Delete the following comment which was related to setting VIMPROG as it no longer has any value:
```
       # We can assume Vim was build, but it may not have been installed,
       # thus use the executable in the current directory.
```
Note: this comment used to be (unnecessarily) echoed to the terminal (because
      it was indented) when making installrtbase.

closes: #15320

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-22 20:09:26 +02:00
Yinzuo Jiang
6e37575760 runtime(mysql): update syntax script
Problem:

- `syn region ...`s in syntax/mysql.vim match function names inaccurately.
- no syntax rules for mysql window function.
- coarse highlight definition in syntax/mysql.vim.

Solution:

- add `\<` before the function name for accuracy.
- add syntax rules for mysql window function.
- enhance the highlight definition.

closes: #15311

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-21 09:27:27 +02:00
itchyny
aa495124f8 runtime(yaml): Fix flow mapping key detection
fixes: #15196
closes: #15313

Signed-off-by: itchyny <itchyny@cybozu.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-21 09:21:20 +02:00
itchyny
d887fb81b6 runtime(yaml): Remove orphaned YAML syntax dump files
closes: #15312

Signed-off-by: itchyny <itchyny@cybozu.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-20 13:32:24 +02:00
Christian Brabandt
220474d239 patch 9.1.0608: Coverity warns about a few potential issues
Problem:  Coverity warns about a few potential issues
Solution: Fix those issues (see details below)

1) Fix overflow warning in highlight.c
   This happens because we are comparing int with long
   and assign a potential long value to an int, which
   could cause an overflow. So add some casts to ensure
   the value fits into an int.

2) Fix Overflow warning in shift_line().
   This happens because we are performing a division/modulo
   operation of a long type by an int type and assign the result
   to an int, which could then overflow. So before performing
   the operation, trim the long to value to at most max int value,
   so that it can't overflow.

3) Fix overflow warning in syn_list_cluster in syntax.c
   This is essential the same issue as 1)

4) not checking the return value of vim_mkdir() in spellfile.c
   Creating the spell directory could fail. Handle this case
   and return early in this case.

5) qsort() may deref a NULL pointer when fuzzy match does not
   return a result. Fix this by checking that the accessed growarray
   fuzzy_indices actually contains  data. If not we can silently skip
   the qsort() and related logic.

closes: #15284

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-20 13:26:44 +02:00
Christian Brabandt
4aa6b52e82 runtime(kconfig): Update syntax script and remove syn sync
fixes: #15306

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-20 12:20:51 +02:00
Joey Pabalinas
510f94b6db INSTALL: remove outdated notice about statically linked executable
closes: #15308

Signed-off-by: Joey Pabalinas <joeypabalinas@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-20 12:08:43 +02:00
Ubaldo Tiberi
a90b0b4ba2 patch 9.1.0607: termdebug: uses inconsistent style
Problem:  termdebug: uses inconsistent style
Solution: termdebug: deprecate numeric values for v:true/false,
          fix white space style in the plugin
          (Ubaldo Tiberi)

closes: #15304

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-20 12:06:07 +02:00
Ken Takata
c8a582aad5 patch 9.1.0606: tests: generated files may cause failure in test_codestyle
Problem:  tests: generated files may cause failure in test_codestyle
Solution: Exclude OLE-related generated files from style checks.
          (Ken Takata)

Some OLE-related auto-generated files may contain space errors:
https://ci.appveyor.com/project/chrisbra/vim-win32-installer/builds/50248542/job/w45ve9yd6qmmws8t#L11475
```
	From test_codestyle.vim:
	Found errors in Test_source_files():
	command line..script C:/projects/vim-win32-installer/vim/src/testdir/runtest.vim[607]..function RunTheTest[57]..Test_source_files[8]..<SNR>8_PerformCheck[11]..<SNR>8_ReportError line 2: ../dlldata.c line 2: trailing white space
	command line..script C:/projects/vim-win32-installer/vim/src/testdir/runtest.vim[607]..function RunTheTest[57]..Test_source_files[8]..<SNR>8_PerformCheck[11]..<SNR>8_ReportError line 2: ../iid_ole.c line 12: trailing white space
	command line..script C:/projects/vim-win32-installer/vim/src/testdir/runtest.vim[607]..function RunTheTest[57]..Test_source_files[6]..<SNR>8_PerformCheck[11]..<SNR>8_ReportError line 2: ../if_ole.h line 60: space before Tab
	command line..script C:/projects/vim-win32-installer/vim/src/testdir/runtest.vim[607]..function RunTheTest[57]..Test_source_files[8]..<SNR>8_PerformCheck[11]..<SNR>8_ReportError line 2: ../if_ole.h line 10: trailing white space
```

Exclude them from style checking.

closes: #15309

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-20 11:55:13 +02:00
glepnir
0be03e14b9 patch 9.1.0605: internal error with fuzzy completion
Problem:  internal error with fuzzy completion
          (techntools)
Solution: only fuzzy complete the pattern after directory separator
          (glepnir)

fixes: #15287
closes: #15291

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-19 16:45:05 +02:00
Ernie Rael
b14c325a5b patch 9.1.0604: popup_filter during Press Enter prompt seems to hang
Problem:  popup_filter during Press Enter prompt seems to hang
Solution: Return early, when need_wait_return is set
          (Ernie Rael)

fixes: #15300
closes: #15301

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-19 16:37:39 +02:00
Ivan Pešić
d2cedc2db3 translatoin(tr): Update Serbian messages translation
closes: #15302

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-19 16:31:43 +02:00
Evgeni Chasnovski
5fb801a74f patch 9.1.0603: filetype: use correct extension for Dracula
Problem:  pattern detection for Dracula language uses "*lvs" and "*lpe".
          as there is no dot, those are not treated as extensions which
          they should (judging by 'runtime/syntax/dracula.vim' and
          common sense).
Solution: use "*.lvs" and "*.lpe" patterns (Evgeni Chasnovski)

closes: #15303

Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-19 15:59:29 +02:00
igna_martinoli
37853b7de3 patch 9.1.0602: filetype: Prolog detection can be improved
Problem:  filetype: Prolog detection can be improved
Solution: update the prolog detection regex
          (igna_martinoli)

related: #10835
related: #15206
closes: #15253

Co-authored-by: clason <c.clason@uni-graz.at>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: igna_martinoli <ignamartinoli@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 21:34:36 +02:00
zeertzjq
eb6d733bef runtime(doc): fix more inconsistencies in assert function docs
related: https://github.com/vim/vim/pull/15280#issuecomment-2233771449

closes: #15285

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 21:16:05 +02:00
zeertzjq
b5d6b5caac patch 9.1.0601: Wrong cursor position with 'breakindent' when wide char doesn't fit
Problem:  Wrong cursor position with 'breakindent' when a double-width
          character doesn't fit in a screen line (mikoto2000)
Solution: Include the width of the 'breakindent' properly.
          (zeertzjq)

fixes: #15289
closes: #15290

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 21:13:31 +02:00
Doug Kearns
99984fc58a runtime(vim): Update base-syntax, improve :map highlighting
Match :map ( RHS properly.

Only match ! after :map, :noremap, :unmap and :mapclear.

closes: #15297

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 20:45:19 +02:00
Dominique Pellé
1165f7850b patch 9.1.0600: Unused function and unused error constants
Problem:  unused function typval_compare_class() and error constants
Solution: remove function typval_compare_class() and ifdef out
          unused error constants (Dominique Pellé)

closes: #15299

Signed-off-by: Dominique Pellé <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 20:40:28 +02:00
zeertzjq
aef6179bcf patch 9.1.0599: Termdebug: still get E1023 when specifying arguments
Problem:  Termdebug: still get E1023 when specifying arguments and using
          a prompt buffer.
Solution: Use empty() instead of len().  Add a test.  Fix wrong order of
          arguments to assert_equal() in Test_termdebug_basic().
          (zeertzjq)

closes: #15288

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 20:35:42 +02:00
Christian Brabandt
4266daae17 runtime(mermaid): correct wrong comment options
fixes: #15279

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-18 20:32:04 +02:00
Christian Brabandt
e7a4523b02 runtime(doc): fix typo "a xterm" -> "an xterm"
related: #15278

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:41:48 +02:00
glepnir
8159fb18a9 patch 9.1.0598: fuzzy completion does not work with default completion
Problem:  fuzzy completion does not work with default completion
Solution: Make it work (glepnir)

closes: #15193

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:32:54 +02:00
Shougo Matsushita
fcc1b5741e patch 9.1.0597: KeyInputPre cannot get the (unmapped typed) key
Problem:  KeyInputPre cannot get the (unmapped typed) key
          (after v9.1.0563)
Solution: Add the "typedchar" property to the v:event dict
          (Shougo Matsushita)

closes: #15231

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:25:22 +02:00
Wu, Zhenyu
76c19028ff patch 9.1.0596: filetype: devscripts config files are not recognized
Problem:  filetype: Debian devscripts config files are not recognized
Solution: detect devscripts.conf and .devscripts files as sh filetype
          (sourced by /bin/sh)

closes: #15227

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:18:10 +02:00
Ubaldo Tiberi
2736cc725d runtime(termdebug): gdb file/folder check is now performed only in CWD.
closes: #15268

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:16:02 +02:00
Ubaldo Tiberi
27f53346a3 runtime(termdebug): quote filename arguments using double quotes
closes: #15270

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:15:07 +02:00
daniel-s-w
1724ddbe3a runtime(sdc): update syntax to SDC-standard 2.1
Looking into the current standard for Synopsis Design Constraints (SDC)
from their [Technology Access
Program](https://www.synopsys.com/community/interoperability-programs/tap-in.html),
one can see that the current state of the sdc-syntax file is very
outdated as well as short in coverage of keywords.

This commit pursues to add all the missing keywords from the current
standard (Rev. 2.1).

closes: #15281

Signed-off-by: daniel-s-w <59746710+daniel-s-w@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:10:04 +02:00
Shane Harper
c1b3984a7b runtime(doc): minor updates.
closes: #15280

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 20:04:22 +02:00
Doug Kearns
080ba2c69d runtime(vim): Cleanup :match and :loadkeymap syntax test files
Remove extraneous trailing whitespace from legacy script :loadkeymap
test file.

Remove :match *_99.dump test file.  These are no longer generated.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 19:35:02 +02:00
Doug Kearns
d65e58f6f9 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Match types in Vim9 variable declarations.

Match Vim9 boolean and null literals. These are not matched in all
contexts yet.

related: #15277

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 19:34:14 +02:00
RestorerZ
30d54fdddf patch 9.1.0595: make errors out with the po Makefile
Problem:  make errors out with the po Makefile
          (yanivshlom, after v9.1.0558)
Solution: Set variables differently (RestorerZ)

fixes: #15275
closes: #15282

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 19:28:25 +02:00
zeertzjq
ac4ce9e15b patch 9.1.0594: Unnecessary redraw when setting 'winfixbuf'
Problem:  Unnecessary redraw when setting 'winfixbuf'.
Solution: Remove P_RWIN flag. (zeertzjq)

closes: #15283

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 19:26:50 +02:00
Christian Brabandt
d24aaa9983 runtime(doc): using wrong highlight for UTF-8
This happens, because UTF-8 was on a single line and as such triggered
the helpHeading syntax group. So slightly re-worded the line, so
that it does no longer match the header syntax rule.

fixes: #15278

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-17 08:25:45 +02:00
Christian Brabandt
3698fbbd7c runtime(tsv): include simple syntax plugin
fixes: #15271

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 21:53:40 +02:00
AvidSeeker
3088ef094d patch 9.1.0593: filetype: Asymptote files are not recognized
Problem:  filetype: Asymptote files are not recognized
Solution: detect '*.asy' files as asy filetype, include
          ftplugin and syntax plugin (AvidSeeker).

Reference: https://asymptote.sourceforge.io/

closes: #15252

Signed-off-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 21:42:17 +02:00
markmacode
babea52f4d runtime(gomod): add recommended indent options to ftplugin
closes: #15264

Signed-off-by: markmacode <code@mamo.aleeas.com>
Signed-off-by: yu-yk <yukkuen.yu@linktivity.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 21:30:32 +02:00
markmacode
3e07d5aef1 runtime(go): add recommended indent options to ftplugin
related: #15264

Signed-off-by: markmacode <code@mamo.aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 21:26:47 +02:00
markmacode
6a54dcbbd6 runtime(gdscript): add recommended indent options to ftplugin
related: #15264

Signed-off-by: markmacode <code@mamo.aleeas.com>
Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 21:18:06 +02:00
AvidSeeker
b5844104ab patch 9.1.0592: runtime: filetype: Mediawiki files are not recognized
Problem:  filetype: Mediawiki files are not recognized
Solution: detect "*.mw" and "*.wiki" as mediawiki filetype,
          include basic syntax and filetype plugins.
          (AvidSeeker)

closes: #15266

Signed-off-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 21:10:50 +02:00
Jonas Dujava
c6d7dc0393 patch 9.1.0591: filetype: *.wl files are not recognized
Problem:  filetype: *.wl files are not recognized
Solution: Detect '*.wl' files as Mathematica package files
          (Jonas Dujava)

closes: #15269

Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 20:37:41 +02:00
zeertzjq
d4d1207208 patch 9.1.0590: Vim9: crash when accessing getregionpos() return value
Problem:  Vim9: crash when accessing getregionpos() return value.
Solution: Correct the return type (zeertzjq).

fixes: #15272
closes: #15273

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 20:34:16 +02:00
Illia Bobyr
03d20aaac4 runtime(doc): 'cpoptions': Include "z" in the documented default
A fixup for commit 22105fd1fe (tag: v9.1.0589)

While at it, document the correct Vi defaults and $VIM_POSIX (even more
compatible) flags.

closes: #15274

Signed-off-by: Illia Bobyr <illia.bobyr@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-16 20:19:13 +02:00
Christian Brabandt
22105fd1fe patch 9.1.0589: vi: d{motion} and cw work differently than expected
Problem:  vi: d{motion} and cw command work differently than expected
Solution: add new cpo-z flag to make the behaviour configurable

There are two special vi compatible behaviours (or should I say bugs?):

1): cw behaves differently than dw. That is, because cw is special cased
    by Vim and is effectively aliased to ce.
    POSIX behaviour is documented here:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_81

2): d{motion} may make the whole delete operation linewise, if the start
    and end of the motion are on different lines and there are only
    blanks before the start and after the end of the motion.
    Did not find a related POSIX link that requires this behaviour.

Both behaviours can be considered inconsistent, but we cannot easily
change it, because it would be a backward incompatible change and also
incompatible to how classic vi behaved.

So let's add the new cpo flag "z", which when not included fixes both
behaviours and make them more consistent to what users would expect.

This has been requested several times:
https://groups.google.com/d/msg/vim_use/aaBqT6ECkA4/ALf4odKzEDgJ
https://groups.google.com/d/msg/vim_dev/Dpn3xtUF16I/T6JcOPKN6usJ
http://www.reddit.com/r/vim/comments/26nut8/why_does_cw_work_like_ce/
https://groups.google.com/d/msg/vim_use/vunNWLFWfQg/MmJh_ZGaAgAJ
https://github.com/vim/vim/issues/4390

So in summary, if you want to have the w motion work more consistent,
remove the 'z' from the cpo settings.

related: #4390
closes: #15263

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 20:51:11 +02:00
Maxim Kim
fcc53461d4 runtime(colors): update included colorschemes
- Add PmenuMatch and PmenuMatchSel to all colorschemes
- Add contrast to habamax Type, String, Constant and PreProc
- Change habamax PmenuSel to neutral gray to make PmenuMatchSel more visible
- Change habamax Tabline and VertSplit
- Make Conceal less visible for zellner, torte, shine, ron, peachpuff,
  pablo, morning, koehler, evening, delek, blue, darkblue, lunaperche,
  retrobox
- Add Added/Changed/Removed highlights
- Fix retrobox Terminal background
- Other minor fixes and improvements

closes: #15267

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 20:42:31 +02:00
Dominique Pellé
df62c62177 runtime(doc): grammar fixes in options.txt
closes: #15265

Signed-off-by: Dominique Pellé <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 20:29:59 +02:00
Mohamed Akram
3ce274682b patch 9.1.0588: The maze program no longer compiles on newer clang
Problem:  The maze program no longer compiles on newer clang
Solution: Use ANSI C function definition for main()
          (Mohamed Akram)

Implicit int is an error in newer versions of clang.

closes: #15247

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 20:23:36 +02:00
Gregory Anders
1cc4cae961 runtime(typst): Add typst runtime files
closes: #15234

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 20:00:48 +02:00
Ken Takata
490c1daa24 patch 9.1.0587: tests: Test_gui_lowlevel_keyevent is still flaky
Problem:  tests: Test_gui_lowlevel_keyevent is still flaky
          (after v9.1.0571)
Solution: skip generating key event for Ctrl-C,
          remove the test_is_flaky variable again (Ken Takata)

v9.1.0571 was not enough.
Ctrl-C interruption may occur before the preceding events are processed.
Exclude Ctrl-C to avoid the flakiness.

closes: #15224

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 19:52:25 +02:00
Yinzuo Jiang
700cf8cfa1 patch 9.1.0586: ocaml runtime files are outdated
Problem:  ocaml runtime files are outdated
Solution: sync those files with the upstream repo,
          detect a few more ocaml files
          (Yinzuo Jiang)

closes: #15260

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 17:02:33 +02:00
Ubaldo Tiberi
c3837a46ff runtime(termdebug): fix a few issues
Fix a few minor issues:
1. filename with whitespaces issue should be fixed now, fixes: #12357
2. ":Termdebug args" should work now, fixes: #15254

closes: #15261

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
2024-07-14 16:58:32 +02:00
Christian Brabandt
bb5d27dc79 patch 9.1.0585: tests: test_cpoptions leaves swapfiles around
Problem:  tests: test_cpoptions leaves swapfiles around
Solution: Use :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 16:03:41 +02:00
John Marriott
b3b2beea5e patch 9.1.0584: Warning about redeclaring f_id() non-static
Problem:  Warning about redeclaring f_id() non-static
Solution: Declare f_id() static (John Marriott)

closes: #15257

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 11:15:07 +02:00
Christian Brabandt
27c55984de runtime(doc): Add hint how to load termdebug from vimrc
fixes: #15256

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 10:41:08 +02:00
Mohamed Akram
6d6dffa611 runtime(doc): document global insert behavior
This is a partial revert of 8f3f58f since this issue was fixed in #15120.

related: #15120

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 10:34:25 +02:00
Jonas Dujava
28145e005d patch 9.1.0583: filetype: *.pdf_tex files are not recognized
Problem:  filetype: *.pdf_tex files are not recognized
Solution: Detect '*.pdf_tex' files as tex filetype
          (Jonas Dujava)

Those files are generated by inkscape, when exporting, see e.g.
https://inkscape.org/doc/inkscape-man.html

closes: #15250

Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 10:26:19 +02:00
zeertzjq
7d664bf0eb patch 9.1.0582: Printed line doesn't overwrite colon when pressing Enter in Ex mode
Problem:  Printed line no longer overwrites colon when pressing Enter in
          Ex mode (after 9.1.0573).
Solution: Restore the behavior of pressing Enter in Ex mode.
          (zeertzjq)

closes: #15258

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 10:22:54 +02:00
zeertzjq
d9be94cf03 patch 9.1.0581: Various lines are indented inconsistently
Problem:  style: Various lines are indented inconsistently
Solution: Retab these lines and correct some comments.
          (zeertzjq)

closes: #15259

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 10:20:20 +02:00
zeertzjq
90a800274d patch 9.1.0580: :lmap mapping for keypad key not applied when typed in Select mode
Problem:  An :lmap mapping for a printable keypad key is not applied
          when typing it in Select mode.
Solution: Change keypad key to ASCII after setting vgetc_char.
          (zeertzjq)

closes: #15245

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 19:06:44 +02:00
zeertzjq
d1b5ea984d patch 9.1.0579: Ex command is still executed after giving E1247
Problem:  Ex command is still executed after giving E1247.
Solution: Indicate the error properly and set cmd to NULL.
          (zeertzjq)

closes: #15241

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 19:04:10 +02:00
Yinzuo Jiang
360c51208e patch 9.1.0578: no tests for :Tohtml
Problem:  no tests for :Tohtml
Solution: Add two basic tests (Yinzuo Jiang)

closes: #15240

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 19:02:10 +02:00
zeertzjq
69a28f6c08 patch 9.1.0577: Unnecessary checks for v:sizeoflong in test_put.vim
Problem:  Unnecessary checks for v:sizeoflong in test_put.vim.  They are
          no longer necessary as patch 8.2.3661 has changed the count to
          be within 32-bit integer limit.
Solution: Remove the checks (zeertzjq).

closes: #15239

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 18:59:47 +02:00
Ken Takata
71de259e78 patch 9.1.0576: tests: still an issue with test_gettext_make
Problem:  tests: still an issue with test_gettext_make
          (after v9.1.0570)
Solution: Compare the getenv() output against v:null to verify
          that $GETTEXT_PATH was set or not (Ken Takata)

closes: #15236

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 18:56:25 +02:00
zeertzjq
1a3dd7dc78 patch 9.1.0575: Wrong comments in alt_tabpage()
Problem:  Wrong comments in alt_tabpage()
          (after v9.1.0572)
Solution: Correct the comments (zeertzjq).

closes: #15235

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 18:53:54 +02:00
Mohamed Akram
8c446da349 patch 9.1.0574: ex: wrong handling of commands after bar
Problem:  ex: wrong handling of commands after bar
Solution: for :append, :insert and :change use the text after the bar
          as input for those commands. This is what POSIX requests.
          (Mohamed Akram)

See the POSIX Spec:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html#tag_20_40_13_03
Section 12.c

closes: #15229

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 18:49:55 +02:00
Christian Brabandt
c5e24ee24b runtime(doc): add a note for netrw bug reports
fixes: #15242

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-13 18:19:03 +02:00
Mohamed Akram
c25a7084e9 patch 9.1.0573: ex: no implicit print for single addresses
Problem:  ex: no implicit print for single addresses
Solution: explicitly print even during single addresses,
          as requested by POSIX (Mohamed Akram)

See the POSIX behaviour here:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html#tag_20_40_13_03
Section 6b

closes: #15230

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 20:18:54 +02:00
Christian Brabandt
cb7928812e runtime(vim): make &indentexpr available from the outside
closes: #14936

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 20:02:31 +02:00
LemonBoy
5247b0b92e patch 9.1.0572: cannot specify tab page closing behaviour
Problem:  cannot specify tab page closing behaviour
          (Gianluca Pacchiella)
Solution: Add the 'tabclose' option (LemonBoy).

fixes: #5967
closes: #15204

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 19:36:53 +02:00
Mohamed Akram
74703f1086 runtime(doc): remove obsolete Ex insert behavior
related: #15120
closes: #15228

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 18:53:07 +02:00
Ken Takata
231bb03946 patch 9.1.0571: tests: Test_gui_lowlevel_keyevent is flaky
Problem:  tests: Test_gui_lowlevel_keyevent is flaky
Solution: mark as flaky (Ken Takata)

Test_gui_lowlevel_keyevent is failing on vim-win32-installer recently.
Mark it as flaky for now.

closes: #15223

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 07:48:32 +02:00
Eisuke Kawashima
57f7d75591 runtime(logindefs): update syntax with new keywords
* add keywords
* enforce octal format for permissions

closes: #15222

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 07:46:43 +02:00
Ken Takata
8a7563bbea patch 9.1.0570: tests: test_gettext_make can be improved
Problem:  tests: test_gettext_make can be improved
          (after v9.1.0559)
Solution: Improve the test
          (Ken Takata)

* Remove unnecessary comment.
* Check the gettext feature.
* Check whether %GETTEXT_PATH% is set.
* Check the return code of the make command.
* Use heredoc.

closes: #15221

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 07:35:36 +02:00
igna_martinoli
7347642633 runtime(filetype): Fix Prolog file detection regex
Problem: filetype: .pro file detection for Prolog is broken
Solution: fixed the regex to only match on the tested
          cases (igna_martinoli)

fixes: #10835
closes: #15206

Signed-off-by: igna_martinoli <ignamartinoli@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 07:33:32 +02:00
zeertzjq
1ee7420460 patch 9.1.0569: fnamemodify() treats ".." and "../" differently
Problem:  fnamemodify() treats ".." and "../" differently.
Solution: Expand ".." properly like how "/.." is treated in 8.2.3388.
          (zeertzjq)

closes: #15218

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 07:29:14 +02:00
Riley Bruins
fc533c9f06 runtime(mojo): include mojo ftplugin and indent script
Taken from excerpts of the Python ftplugin and adapted,
indent script simply sources the python indent script.

closes: #15171

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:51:48 +02:00
LemonBoy
a20bf69a3b patch 9.1.0568: Cannot expand paths from 'cdpath' setting
Problem:  Cannot expand paths from 'cdpath' setting
          (Daniel Hahler)
Solution: Implement 'cdpath' completion, add the new 'dir_in_path'
          completion type (LemonBoy)

fixes #374
closes: #15205

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:45:42 +02:00
zeertzjq
764526e279 patch 9.1.0567: Cannot use relative paths as findfile() stop directories
Problem:  Cannot use relative paths as findfile() stop directories.
Solution: Change a relative path to an absolute path.
          (zeertzjq)

related: #15200
closes: #15202

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:26:01 +02:00
zeertzjq
e6ab23bd4a patch 9.1.0566: Stop dir in findfile() doesn't work properly w/o trailing slash
Problem:  Stop directory in findfile() doesn't work properly without a
          trailing slash.
Solution: Always use fnamencmp(), not fnamecmp().

related: #15200
related: #15202

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:25:54 +02:00
zeertzjq
68819afb2c patch 9.1.0565: Stop directory doesn't work properly in 'tags'
Problem:  Stop directory doesn't work properly in 'tags'.
          (Jesse Pavel)
Solution: Also move the stop directory forward by one byte.
          (zeertzjq)

This doesn't support relative stop directories yet, as they are not
supported in other places like findfile() either.

fixes: #15200
related: #15202

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:25:42 +02:00
Ernie Rael
0512425891 patch 9.1.0564: id() can be faster
Problem:  id() can be made faster
Solution: don't use printf(), use clever shift of pointer
          (Ernie Rael)

closes: #15207

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:16:28 +02:00
Shougo Matsushita
8367884909 patch 9.1.0563: Cannot process any Key event
Problem:  Cannot process any Key event
Solution: Add the KeyInputPre autocmd
          (Shougo Matsushita)

closes: #15182

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:05:12 +02:00
zeertzjq
e7b98ab96e patch 9.1.0562: tests: inconsistency in test_findfile.vim
Problem:  tests: inconsistency in test_findfile.vim, it saves and
          restores 'shellslash', but doesn't actually set it
Solution: Set shellslash explicitly (zeertzjq)

closes: #15217

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 21:48:09 +02:00
Christian Brabandt
7a22cb8141 runtime(fstab): Add missing keywords to fstab syntax
Added overlay, tracefs and fixed the "none" keyword in the fstab syntax definition.

closes: #15217

Signed-off-by: Radu Dineiu <radu.dineiu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 21:45:41 +02:00
Christian Brabandt
b7e09b0442 patch 9.1.0561: netbeans: variable used un-initialized (Coverity)
Problem:  netbeans: variable used un-initialized (Coverity)
          (after v9.1.0557)
Solution: properly initialize exarg_T struct for use with netbeans

The actual exarg.cmdidx doesn't really matter, but let's use something,
that is not affected by the recent changes (going through the buffer
list) and use CMD_USER.

closes: #15211

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 21:41:23 +02:00
Christ van Willegen
8252ef134f patch 9.1.0560: bindtextdomain() does not indicate an error
Problem:  bindtextdomain() does not indicate an error
          (after v9.1.509)
Solution: return false on failure (OOM).
          (Chris van Willegen)

closes: #15116

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 21:36:21 +02:00
RestorerZ
965091001f patch 9.1.0559: translation of vim scripts can be improved
Problem:  translation of vim scripts can be improved
          (after v9.1.0509)
Solution: improve documentation, add tests, include missing
          libraries for the Windows CI
          (RestorerZ)

closes: #15100

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 21:14:15 +02:00
igna_martinoli
50dc83cf92 patch 9.1.0558: filetype: prolog detection can be improved
Problem:  filetype: prolog detection can be improved
Solution: Improved the Prolog file detection regex and added tests for
          all cases. (igna_martinoli)

fixes: #10835
closes: #15206

Signed-off-by: igna_martinoli <ignamartinoli@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-10 21:25:04 +02:00
LemonBoy
893eeeb445 patch 9.1.0557: moving in the buffer list doesn't work as documented
Problem:  moving in the buffer list doesn't work as documented
          (SenileFelineS)
Solution: Skip non-help buffers, when run from normal buffers, else
          only move from help buffers to the next help buffer (LemonBoy)

As explained in the help section for :bnext and :bprev the commands
should jump from help buffers to help buffers (and from regular ones to
regular ones).

fixes: #4478
closes: #15198

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-10 20:20:48 +02:00
zeertzjq
7a85e343d2 runtime(doc): fix inconsistencies in :h file-searching
closes: #15201

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-10 20:07:10 +02:00
zeertzjq
2e7d89b398 patch 9.1.0556: :bwipe doesn't remove file from jumplist of other tabpages
Problem:  :bwipe doesn't remove file from jumplist and tagstack of other
          tabpages. Time complexity of mark_forget_file() is O(n^2) when
          removing all entries (after v9.1.0554)
Solution: Use FOR_ALL_TAB_WINDOWS().  Start the loops over the arrays
          from the end instead of the start (zeertzjq)

closes: #15199

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-10 19:36:36 +02:00
Christian Brabandt
a3a14d5469 runtime(htmlangular): correct comment
related: #15190

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-10 19:33:33 +02:00
Christian Brabandt
c03f631b7b patch 9.1.0555: filetype: angular ft detection is still problematic
Problem:  filetype: angular ft detection is still problematic
          (after 9.1.0551)
Solution: detect htmlangular filetype only by inspecting the content,
          do not try to determine it from a generic name like
          '*.component.html'

For the reasons mentioned here:

https://github.com/vim/vim/pull/13594#issuecomment-1834465890

related: #15190
related: #13594
related: #13604

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-10 19:31:00 +02:00
LemonBoy
4ff3a9b1e3 patch 9.1.0554: :bw leaves jumplist and tagstack data around
Problem:  :bw leaves jumplist and tagstack data around
          (Paul "Joey" Clark)
Solution: Wipe jumplist and tagstack references to the wiped buffer
          (LemonBoy)

As documented the :bwipeout command brutally deletes all the references
to the buffer, so let's make it delete all the entries in the jump list
and tag stack referring to the wiped-out buffer.

fixes: #8201
closes: #15185

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 20:03:24 +02:00
Tomodachi94
d33a518025 patch 9.1.0553: filetype: *.mcmeta files are not recognized
Problem:  filetype: *.mcmeta files are not recognized
Solution: Detect '*.mcmeta' files as json filetype
          (Tomodachi94)

"pack.mcmeta" was added to the JSON tests because that is the most common
filename with that extension.

There are currently 34,000 instances of this file extension on GitHub:
https://github.com/search?q=path%3A*.mcmeta&type=code&p=2

.zip files with this extension have downloads in the millions on sites
like CurseForge:
https://www.curseforge.com/minecraft/search?page=1&pageSize=20&sortBy=relevancy&class=texture-packs

Further reading about the file extension:
https://minecraft.wiki/w/Tutorials/Creating_a_resource_pack#Creating_a_.MCMETA_file

closes: #15189

Signed-off-by: Tomodachi94 <tomodachi94@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 19:55:40 +02:00
Christian Brabandt
8fc23bb8a4 patch 9.1.0552: No test for antlr4 filetype
Problem:  No test for antlr4 filetype
          (after 9.1.0550)
Solution: Add a simple filename test

related: #15191

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 19:52:20 +02:00
Dennis van den Berg
1ad194c0df patch 9.1.0551: filetype: htmlangular files are not properly detected
Problem:  filetype: htmlangular files are not properly detected
Solution: Use the new htmlangular filetype for angular files, because
          since angular v17, those are no longer valid HTML files.
          (Dennis van den Berg)

Since Angular 17, the new Control Flow Syntax is not valid HTML. This PR
adds a new filetype detection for the HTML templates of Angular.

It first checks the filename. The Angular convention is to use
*.component.html for the template. However, this is not mandatory.

If the filename does not match, it will check the contents of the file
if it contains:

  - One of the Control-Flow blocks: @if, @for, @switch, @defer
  - A structural directive: *ngIf, *ngFor, *ngSwitch, *ngTemplateOutlet
  - Builtin Angular elements: ng-template or ng-content
  - String interpolation: {{ something }}

This enables the Angular LSP to attach only to htmlangular filetypes, as
well as language parsers, such as tree-sitter.

closes: #15190

Signed-off-by: Dennis van den Berg <dennis.vandenberg@nedap.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 19:44:32 +02:00
Yinzuo Jiang
4a7a4a3675 patch 9.1.0550: filetype: antlr4 files are not recognized
Problem:  filetype: antlr4 files are not recognized
Solution: Detect '*.g4' as antlr4 filetype, include a simple antlr4
          syntax and filetype plugin (Yinzuo Jiang)

closes: #15191

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 19:11:18 +02:00
glepnir
600a12d08e patch 9.1.0549: fuzzycollect regex based completion not working as expected
Problem:  fuzzycollect regex based completion not working as expected
Solution: Revert Patch v9.1.0503 (glepnir)

closes: #15192

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 18:51:29 +02:00
Boyang Du
7298565c85 runtime(doc): autocmd_add() accepts a list not a dict
closes: #15180

Signed-off-by: Boyang Du <boyang@synopsys.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 18:47:09 +02:00
Ernie Rael
c8e158be0e patch 9.1.0548: it's not possible to get a unique id for some vars
Problem:  it's not possible to get a unique id for some vars
Solution: Add the id() Vim script function, which returns a unique
          identifier for object, dict, list, job, blob or channel
          variables (Ernie Rael)

fixes: #14374
closes: #15145

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 18:39:52 +02:00
Eric Pruitt
73a810817b runtime(tmux): Update syntax script
closes: #15195
related: #15188

Co-authored-by: Contsantine Bulany <61948252+lostl1ght@users.noreply.github.com>
Signed-off-by: Eric Pruitt <eric.pruitt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 18:32:55 +02:00
LemonBoy
48b7d05a4f patch 9.1.0547: No way to get the arity of a Vim function
Problem:  No way to get the arity of a Vim function
          (Austin Ziegler)
Solution: Enhance get() Vim script function to return the function
          argument info using get(func, "arity") (LemonBoy)

fixes: #15097
closes: #15109

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-09 18:31:12 +02:00
Christian Brabandt
03acd4761b patch 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A
Problem:  vim-tiny fails on CTRL-X/CTRL-A
          (Rob Foehl, after 9.1.0172)
Solution: Move #ifdefs, so that after changing the line in del_bytes,
          the cached textlen value is invalidated

closes: #15178

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-08 21:12:55 +02:00
AvidSeeker
ab03dd2085 runtime(hlsplaylist): include hlsplaylist ftplugin file
fixes: #15156
closes: #15162

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: AvidSeeker <avidseeker7@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-08 21:11:34 +02:00
zeertzjq
d1c369892d runtime(doc): fix typo in :h ft-csv-syntax
closes: #15179

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-08 21:02:14 +02:00
Shane Harper
b3c232215d runtime(doc): Correct shell command to get $VIMRUNTIME into shell
The original shell command could set the VIMRUNTIME variable to an
invalid path.
    - since v9.0.0592 trailing spaces were typically added making the
      path invalid. (I observed that spaces were added if the length of
      the path wasn't equal to one less than an integer multiple of the
      number of display columns.)
    - newline character/s would be added, making the path invalid, if
      the path was longer than the number of display columns.

The new command is shorter than the original command.

closes: #15184

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-08 20:59:33 +02:00
Ernie Rael
5285b3cd29 patch 9.1.0545: MSVC conversion warning
Problem:  MSVC conversion warning (LemonBoy, after 9.1.0522)
Solution: Use size_t instead of int, fix style of casts
          (Ernie Rael)

related: #15082
closes: #15187

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-08 20:42:45 +02:00
Riley Bruins
62f31e9499 patch 9.1.0544: filetype: ldapconf files are not recognized
Problem:  filetype: ldapconf files are not recognized
Solution: Detect '.ldaprc', 'ldap.conf' and 'ldaprc' files as ldapconf
          filetype, include a simple ldapconf ftplugin file
          (Riley Bruins)

[Specification](https://www.openldap.org/software//man.cgi?query=ldap.conf&sektion=5&apropos=0&manpath=OpenLDAP+2.4-Release)

closes: #15176

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:20:22 +02:00
Riley Bruins
f77a0e9f41 runtime(cmakecache): include cmakecache ftplugin file
closes: #15175

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:18:31 +02:00
Riley Bruins
380f98002d runtime(lex): include lex ftplugin file
Spec found [here](https://docs.oracle.com/cd/E19504-01/802-5880/lex-6/index.html)

closes: #15174

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:17:16 +02:00
Riley Bruins
7d60dc2069 runtime(yacc): include yacc ftplugin file
closes: #15173

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:16:08 +02:00
Riley Bruins
08b0c12716 runtime(squirrel): include squirrel ftplugin file
Comment spec found [here](https://squirrel-lang.org/squirreldoc/reference/language/lexical_structure.html#comments)

closes: #15172

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:14:59 +02:00
Riley Bruins
2c9ef3a671 runtime(objcpp): include objcpp ftplugin file
This one just sources the objc.vim ftplugin.

closes: #15170

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:12:47 +02:00
Riley Bruins
94c1c6638a runtime(tf): include tf ftplugin file
Adds ftplugin support for tf (TinyFugue). Comment support taken from
[here](1e8ac0bb01/src/command.c (L568))

closes: #15168

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:07:56 +02:00
Riley Bruins
01e20902f4 runtime(mysql): include mysql ftplugin file
This one just sources from the SQL ftplugin. Without this, *.mysql
files don't inherit the common SQL settings.

closes: #15166

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 21:02:23 +02:00
Riley Bruins
a264bb931e runtime(javacc): include javacc ftplugin file
closes: #15167

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:59:42 +02:00
Riley Bruins
2525608d73 runtime(cabal): include cabal ftplugin file
closes: #15158

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:58:10 +02:00
Riley Bruins
f5398c8975 runtime(cuda): include CUDA ftplugin file
closes: #15159

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:56:43 +02:00
Riley Bruins
2c299eb258 runtime(editorconfig): include editorconfig ftplugin file
closes: #15160

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:54:32 +02:00
Riley Bruins
8906e22df5 runtime(kivy): update kivy syntax, include ftplugin
Kivy uses "#:" for preprocessing commands (like "#:import ...") which
were overridden by the comment syntax. This has been changed, and a
commentstring has been added.

closes: #15163

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:53:04 +02:00
Aliaksei Budavei
b5a92d72eb runtime(syntax-tests): Stop generating redundant "*_99.dump" files
- Remove the code handling their generation.
- Remove the code written for the shell filetype to clear up
  the buffer screen before such a file can be generated.
- Remove all but "yaml.yaml_99.dump" of such generated files
  (since there is no published "input/yaml.yaml.yaml", let
  its maintainer regenerate screen dump files and remove
  redundant ones).

The new algorithm turns a "*_99.dump" file obsolete because
all lines written in such a file will already be present in
lower-numbered "*.dump" files.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:51:14 +02:00
zeertzjq
8145620a95 patch 9.1.0543: Behavior of CursorMovedC is strange
Problem:  Behavior of CursorMovedC is strange.
Solution: Also trigger when the cmdline has changed.
          (zeertzjq)

fixes: #15069
closes: #15071

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:48:25 +02:00
Doug Kearns
e85fdc730e runtime(vim): Update base-syntax, improve :match command highlighting
Match group and pattern arguments to :match commands.

closes: #15096

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:45:37 +02:00
Ernie Rael
9d779c514f patch 9.1.0542: Vim9: confusing string() output for object functions
Problem:  Vim9: confusing string() output for object functions
Solution: improve the output for object functions (Ernie Rael)

fixes: #15129
closes: #15143

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:41:44 +02:00
Dominique Pellé
52123879c0 patch 9.1.0541: failing test with Vim configured without channel
Problem:  failing test with Vim configured without channel
Solution: In the test Test_null_values() verify that the 'channel' and
          'job' feature is present in Vim. (Dominique Pellé)

Test `Test_null_values` was failing when vim is configured without
channel because the test uses function `null_channel()` (which
requires the `+channel` feature) and using `null_job()` which
requires the `+job` feature. But was reproducible when vim is
configured with:
```
./configure --with-features=huge --enable-gui=none --disable-channel
```

Only check `null_channel()` when the `+channel` feature is available.
Only check `null_job()` when the `+job` feature is available.

closes: #15177

Signed-off-by: Dominique Pellé <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:37:12 +02:00
zeertzjq
fc3f5dba52 patch 9.1.0540: Unused assignment in sign_define_cmd()
Problem:  Unused assignment in sign_define_cmd()
Solution: Remove the assignment.  Also document the "priority" flag of
          sign_define(). (zeertzjq)

closes: #15169

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:33:46 +02:00
Christian Brabandt
fbbabbca33 runtime(doc): add page-scrolling keys to index.txt
Also add the newly documented keys from commit 6a4afb1efc
to index.txt which was forgotten.

related: #15107

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:30:59 +02:00
Christian Brabandt
49ddeefeca runtime(doc): add reference to xterm-focus-event from FocusGained/Lost
fixes: #15157

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 20:29:43 +02:00
Christian Brabandt
248efab9b5 patch 9.1.0539: Not enough tests for what v9.1.0535 fixed
Problem:  Not enough tests for what v9.1.0535 fixed
Solution: Add another test for ex-mode

This comes from: https://groups.google.com/g/vim_dev/c/F5-tDqoafz8/m/GqKF-uQsLD0J

related: #15120

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 19:44:16 +02:00
Christian Brabandt
b9bbf1f044 runtime(doc): clarify how to re-init csv syntax file
fixes: #15161

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-07 19:24:36 +02:00
LemonBoy
b975ddfdf9 patch 9.1.0538: not possible to assign priority when defining a sign
Problem:  not possible to assign priority when defining a sign
          (Mathias Fußenegger)
Solution: Add the priority argument for the :sign-define ex command and
          the sign_define() function (LemonBoy)

Use the specified value instead of the default one (SIGN_DEF_PRIO) when
no priority is explicitly specified in sign_place or :sign place.

fixes: #8334
closes: #15124

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 18:04:09 +02:00
distobs
25ac6d67d9 patch 9.1.0537: signed number detection for CTRL-X/A can be improved
Problem:  signed number detection for CTRL-X/A can be improved
          (Chris Patuzzo)
Solution: Add the new "blank" value for the 'nrformat' setting. This
          will make Vim assume a signed number only if there is a blank
          in front of the sign.
          (distobs)

fixes: #15033
closes: #15110

Signed-off-by: distobs <cuppotatocake@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 17:55:26 +02:00
Christian Brabandt
f095539b39 patch 9.1.0536: filetype: zone files are not recognized
Problem:  filetype: zone files are not recognized
          (rpdprd)
Solution: Detect '*.zone' files as bindzone filetype

fixes: #14222

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 17:39:18 +02:00
Mohamed Akram
f3daa4525b patch 9.1.0535: newline escape wrong in ex mode
Problem:  newline escape wrong in ex mode (Konrad Schwarz)
Solution: partly revert patch 7.3.014, remove backslash in front of a
          newline when not in prompt mode in ex line mode
          (Mohamed Akram)

This fixes newline escaping to allow passing multiple commands to
":global", multiple lines to shell commands, and ending lines in append
mode with backslashes. This should fix a POSIX/(traditional) VI
incompatiblity.

This reverts a previous incorrect attempt at patch v7.3.014 to fix
append mode which removed half of trailing backslashes which lead to,
eg. the following two commands being parsed as having a different number
of backslashes:

```
!echo foo\\\
```

```
!echo foo\\ \
```

fixes: #6135
fixes: #7244
closes: #15120

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 17:12:09 +02:00
Ivan Shapovalov
84ca1388d8 runtime(man): honor cmd modifiers before g:ft_man_open_mode
Give priority to (placement) command modifiers, specifically
`:vertical`, `:horizontal` and `:tab`, ahead of `g:ft_man_open_mode`,
so that if the user says e.g. `:vert Man`, Vim does the expected thing.

closes: #15117

Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 16:57:18 +02:00
Ivan Shapovalov
f21ca6d1f1 runtime(man): use nnoremap to map to Ex commands
If the user plays rebinding games such as

    nnoremap : ,
    nnoremap , :

(cf. https://konfekt.github.io/blog/2016/10/03/get-the-leader-right),
then the mappings defined by man.vim will become non-functional.

closes: #15130

Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 16:17:07 +02:00
glepnir
65407ce1d2 patch 9.1.0534: completion wrong with fuzzy when cycling back to original
Problem:  completion wrong with fuzzy when cycling back to original
          (Quan Nguyen)
Solution: reset show_match_ok when cp_score is zero (glepnir)

fixes: #15095
closes: #15105

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 16:09:19 +02:00
Aliaksei Budavei
719714383e runtime(syntax-tests): Abort and report failed cursor progress
Track the cursor forward progress through a syntax test file
so that any degenerate input can be checked and reported.

closes: #15150

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 12:00:02 +02:00
Aliaksei Budavei
d2f4987999 runtime(syntax-tests): Introduce self tests for screen dumping
Write a batch of test files with made-up syntax to serve for
additional linewise checks to be manually performed whenever
the algorithm for screen dump file generation is modified.

Define a shell variable VIM_SYNTAX_SELF_TESTING to run these
tests:
	cd runtime/syntax/
	VIM_SYNTAX_SELF_TESTING=1 make clean test

related: #15150

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 11:59:35 +02:00
Aliaksei Budavei
cc5482edb4 runtime(syntax-tests): Clear and redraw the ruler line with the shell info
The current contents of sh_01_99.dump and sh_09_99.dump
begin with ":redraw" in the ruler line whereas both the
comment and the need for the redraw command execution imply
blanks "       ".

related: #15150

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 11:56:56 +02:00
Aliaksei Budavei
8418446644 runtime(syntax-tests): Allow for folded and wrapped lines in syntax test files
The current implementation falls short for syntax test files
on two accounts:
1. With folded lines -- some lines before folded lines are
    unnecessarily repeated in generated dump files because
    closed folded lines are always treated as opened for the
    cursor to move _in_ instead of to move _over_ them.
2. With wrapped lines (longer than 75 columns) -- some lines
    are omitted in generated dump files because calculations
    for the cursor progress and its movement commands only
    refer to file lines and not their layout within a 20x75
    buffer (less &cmdheight).

As an alternative, we abandon deterministic (and inaccurate
at times) calculations for the cursor progress and, instead,
advance the cursor by as much as before for a single dump
file, but now rely on marking the last visible line and
additional movement to position lines at desired offsets,
carefully preserving compatibility for the &scrolloff and
&ruler values inherited from defaults.vim.  The parent Vim
process will keep track of progress through a syntax test
file made by its child process ("terminal") by reading the
rightmost end of the ruler line from the terminal buffer,
looking for " All " or " Bot " for its cue to finish dump
file generation.

With these changes applied, the lossless line length limit
will be raised from 75 to 1425 (for a 19x75 view) columns.

Also, prefer "lastline" to "truncate" for &display; hiding
the content of any last _long_ line in a view goes against
the purpose of syntax file testing -- all lines should be
recorded.

related: #15150
fixes: #14245

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 11:56:31 +02:00
Ernie Rael
f397549332 patch 9.1.0533: Vim9: need more tests for nested objects equality
Problem:  Vim9: need more tests for nested objects equality
Solution: Add more tests (Ernie Rael)

related: #15070
related: #15081
related: #15085
closes: #15153

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 11:44:37 +02:00
Aliaksei Budavei
b81109192f CI: Pre-v9.0.0110 versions generate bogus documentation tag entries
Problem:  CI: Pre-v9.0.0110 versions generate bogus documentation tag
          entries
Solution: Set $VIMPROG to the freshly compiled Vim (Aliaksei Budavei)

related: #10813
related: #15099

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 11:40:46 +02:00
Christian Brabandt
aaaa21b58f runtime(doc): Remove wrong help tag CTRL-SHIFT-CR
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-06 11:29:38 +02:00
Riley Bruins
15addb24dd patch 9.1.0532: filetype: Cedar files not recognized
Problem:  filetype: Cedar files not recognized
Solution: Detect '*.cedar' files as cedar filetype
          (Riley Bruins)

References: https://github.com/cedar-policy

closes: #15148

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-05 21:14:26 +02:00
Christian Brabandt
6a4afb1efc runtime(doc): document further keys that scroll page up/down
fixes: #15107

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-05 21:11:57 +02:00
Christian Brabandt
93a3d2b905 patch 9.1.0531: resource leak in mch_get_random()
Problem:  resource leak in mch_get_random() (after v9.1.0518)
Solution: close file descriptor after reading successfully
          from /dev/urandom

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-05 09:58:58 +02:00
Rodolfo Guagnini
7a44f96fe7 runtime(tutor): Fix wrong spanish translation
closes: #15127

Signed-off-by: Rodolfo Guagnini <rodolfo.guagnini@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 20:04:26 +02:00
Enno
3146d63267 runtime(netrw): fix remaining case of register clobber
complements 62f7b55c1a

closes: #15114

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 19:45:36 +02:00
Ken Takata
470c0db2b3 patch 9.1.0530: xxd: MSVC warning about non-ASCII character
Problem:  xxd: MSVC warning about non-ASCII character
Solution: Specify source-charset:utf-8 in Makefile (Ken Takata)

xxd.c has non-ASCII-character comments. This causes the following
warning on MSVC:
```
warning C4819: The file contains a character that cannot be represented
in the current code page (932). Save the file in Unicode format to
prevent data loss.
```

Add the `/source-charset:utf-8` option to avoid this.

closes: #15119

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 19:35:48 +02:00
LemonBoy
749ba0f6d9 patch 9.1.0529: silent! causes following try/catch to not work
Problem:  silent! causes following try/catch to not work
          (Malcolm Rowe)
Solution: consider emsg_silent in handle_did_throw() and do not abort
          evaluation flow for :silent! (LemonBoy)

The silent! flag causes the evaluation not to be aborted in case of
uncaught exceptions, adjust handle_did_throw to take this detail into
account.

Fixes the long-standing todo.txt item:
```
Problem that a previous silent ":throw" causes a following try/catch not
to work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
Also see #8487 for an example.
```

fixes: #538
closes: #15128

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 19:23:16 +02:00
novenary
11d5992573 runtime(rust): use shiftwidth() in indent script
closes: #15138

Signed-off-by: novenary <novenary@kwak.zip>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 19:11:16 +02:00
Kyle Kovacs
68f5ceddca patch 9.1.0528: spell completion message still wrong in translations
Problem:  spell completion message still wrong in translations
          (after 9.1.0512)
Solution: Update translation files with the new message
          (Kyle Kovacs)

closes: #15113

Signed-off-by: Kyle Kovacs <kkovacs@diconfiberoptics.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:51:09 +02:00
RestorerZ
cd33faf614 patch 9.1.0527: inconsistent parameter in Makefiles for Vim executable
Problem:  inconsistent parameter in Makefiles for Vim executable
Solution: consistently use $VIMPROG across all Makefiles
          (RestorerZ)

closes: #15099

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:48:01 +02:00
Luuk van Baal
8ccb89016e patch 9.1.0526: Unwanted cursor movement with pagescroll at start of buffer
Problem:  Cursor is moved to bottom of window trying to pagescroll when
          already at the start of the buffer (Asheq Imran, after v9.1.0357)
Solution: Don't move cursor when buffer content did not move.
          (Luuk van Baal)

closes: #15139

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:35:56 +02:00
Christian Brabandt
950292152c runtime(doc): mention $XDG_CONFIG_HOME instead of $HOME/.config
This makes it more consistent with :h vimrc and is more correct (in the
case when $XDG_CONFIG_HOME has been defined to point to some other
location.

fixes: #15108

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:31:06 +02:00
zeertzjq
761a420c66 patch 9.1.0525: Right release selects immediately when pum is truncated.
Problem:  Right release selects immediately when pum is truncated.
Solution: Use pum_height instead of pum_size when checking click row.
          Don't place it above mouse row when there is more space below.
          (zeertzjq)

fixes: #15101
closes: #15102

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:26:37 +02:00
Yinzuo Jiang
7ccd1a2e85 patch 9.1.0524: the recursive parameter in the *_equal functions can be removed
Problem:  the recursive parameter in the *_equal functions can be removed
Solution: Remove the recursive parameter in dict_equal(), list_equal()
          object_equal and tv_equal(). Use a comparison of the static
          var recursive_cnt == 0 to determine whether or not tv_equal()
          has been called recursively (Yinzuo Jiang).

closes: #15070

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:20:53 +02:00
Ubaldo Tiberi
e54fd3f7d8 runtime(termdebug): Add Deprecation warnings
closes: #15091

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:14:03 +02:00
LemonBoy
50d485432c patch 9.1.0523: Vim9: cannot downcast an object
Problem:  Vim9: cannot downcast an object (Ernie Rael)
Solution: Fix class downcasting issue (LemonBoy).

When casting an object from one class to another the target type may be
a subclass (downcast) or superclass (upcast) of the source one.
Upcasts require a runtime type check to be emitted.

Add a disassembly test.

fixes: #13244
closes: #15079

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:03:17 +02:00
Ernie Rael
05ff4e42fb patch 9.1.0522: Vim9: string(object) hangs for recursive references
Problem:  Vim9: string(object) hangs for recursive references
Solution: Handle recursive objects specifically, add a hang test and a
          compare test (Ernie Rael)

fixes: #15080
closes: #15082

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 16:50:11 +02:00
Yaakov Selkowitz
4179f193cc patch 9.1.0521: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13
Problem:  if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13
Solution: define PyObject_CallFunction for Python >= 3.13
          (Yaakov Selkowitz)

references: python/cpython#105051

closes: #15088

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 16:36:05 +02:00
LemonBoy
f4af331d08 patch 9.1.0520: Vim9: incorrect type checking for modifying lists
Problem:  Vim9: incorrect type checking for modifying lists
Solution: Correctly assign the member declared types and generate
          typechecks, add disassembly test (LemonBoy)

fixes: #15090
closes: #15094

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 13:43:12 +02:00
Enno
9d85d4dcf9 runtime(manpager): avoid readonly prompt
fixes: #15103
closes: #15106

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 13:39:34 +02:00
Ken Takata
9554ace1d9 patch 9.1.0519: MS-Windows: libvterm compilation can be optimized
Problem:  MS-Windows: libvterm compilation can be optimized
Solution: Enable batch inference for libvterm (Ken Takata)

Enable batch inference for libvterm by using $(OBJDIR)/libvterm as the
object directory. This should make the compilation process a bit faster.

closes: #15118

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 13:31:25 +02:00
LemonBoy
9987fe8ca0 patch 9.1.0518: initialize the random buffer can be improved
Problem:  initialize the random buffer can be improved
Solution: refactor init_srand() function, move machine-specific parts to
          os_mswin and os_unix, implement a fallback for Windows 10 and
          later (LemonBoy)

closes: #15125

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 13:20:49 +02:00
Ken Takata
898b3740c7 patch 9.1.0517: MS-Windows: too long lines in Make_mvc.mak
Problem:  MS-Windows: too long lines in Make_mvc.mak
Solution: Wrap long lines in Make_mvc.mak (Ken Takata)

closes: #15133

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 11:51:30 +02:00
Janno Tjarks
2fbcc15cf9 runtime(terraform): Add filetype plugin for terraform
- Adds commentstring property for terraform
- Adds comments property for terraform

closes: #15144

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Janno Tjarks <janno.tjarks@mailbox.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 11:46:05 +02:00
Kafva
3d2a996267 runtime(dockerfile): enable spellchecking of comments in syntax script
closes: #15147

Signed-off-by: Kafva <36083692+Kafva@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 11:40:41 +02:00
Christian Brabandt
2606e7718c runtime(doc): rename variable for pandoc markdown support
fixes: #15141

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 11:25:30 +02:00
errael
f0837ba0b9 runtime(doc): In builtin overview use {buf} as param for appendbufline/setbufline (#15089)
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-24 21:27:01 +02:00
Christian Brabandt
ecd642af43 runtime(doc): clarify, that register 1-9 will always be shifted
related: #15077

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-23 20:24:52 +02:00
Christian Brabandt
62f7b55c1a runtime(netrw): save and restore register 0-9, a and unnamed
fixes: #15077

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-23 20:23:40 +02:00
Ubaldo Tiberi
225d4d9212 runtime(termdebug): Refactored StartDebug_term and EndDebug functions
- Functions are way too long. Readability and maintainability should
be slightly improved.

- Some variables are re-assigned to their initial value at teardown.
This should not be needed since all internal variables are
re-initialized at startup of every Termdebug session.

closes: #15086

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-23 17:25:05 +02:00
Aliaksei Budavei
01a4fb104d runtime(java): Compose "g:java_highlight_signature" and "g:java_highlight_functions"
With the variables defined, distinctly highlight parts of
a method declaration header: its name and parameter list
parens, from its type parameters, return type, and formal
parameters; and distinctly highlight parts of a lambda
expression: its parameter list parens and the arrow, from
its formal parameters and identifiers.

closes: #15083

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-23 10:03:33 +02:00
Yegappan Lakshmanan
88bbdb04c2 patch 9.1.0516: need more tests for nested dicts and list comparision
Problem:  need more tests for nested dicts and list comparision
Solution: Add tests for comparing deeply nested List/Dict values
          (Yegappan Lakshmanan)

closes: #15081

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-23 10:00:04 +02:00
Ernie Rael
8625714ac1 patch 9.1.0515: Vim9: segfault in object_equal()
Problem:  Vim9: segfault in object_equal()
Solution: test for object pointer being NULL, before dereferencing them
          (Ernie Rael)

closes: #15085

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-23 09:54:45 +02:00
LemonBoy
7b29cc97d6 patch 9.1.0514: Vim9: issue with comparing objects recursively
Problem:  Vim9: issue with comparing objects recursively
          (Yinzuo Jiang)
Solution: only set recursive == TRUE, when called from tv_equal(), not
          from typeval_compare_object(), refactor code into object_equal()
          function (LemonBoy)

The recursive flag in tv_equal should be set only when the caller is
tv_equal, meaning that the comparison depth is > 1. The comparison
predicates for other object types are all following this rule, except
for the object one, and that may cause some weird issues like causing
the max depth limit not to be initialized in some cases.

closes: #15076

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-22 17:25:07 +02:00
Yinzuo Jiang
549ecc8636 runtime(termdebug): Change some variables to Enums
Problem:  The types of some script variables in Termdebug
          can be changed for readability
Solution: Change the type of some vars from string to `enum`
          (Yinzuo Jiang)

closes: #15068

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-22 16:28:19 +02:00
Doug Kearns
fc64ac0be2 runtime(vim): Update base-syntax, fix function tail comments
Match Vim9-script comments after :def and :enddef and legacy-script
comments after :func and :endfunc, in any definition context.

Highlight incorrect comment types after these commands as errors.

fixes: #15062
closes: #15072

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-22 11:20:36 +02:00
Ernie Rael
f0e6914420 patch 9.1.0513: Vim9: segfault with object comparison
Problem:  Vim9: segfault with object comparisons
Solution: increment recusive_cnt before calling typval_compare_object()
          (Ernie Rael)

closes: #15073

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-22 11:12:00 +02:00
zeertzjq
7002c055d5 patch 9.1.0512: Mode message for spell completion doesn't match allowed keys
Problem:  Mode message for spell completion doesn't match allowed keys
          (Kyle Kovacs)
Solution: Show "^S" instead of "s".
          (zeertzjq)

This matches the code in vim_is_ctrl_x_key():

	case CTRL_X_SPELL:
	    return (c == Ctrl_S || c == Ctrl_P || c == Ctrl_N);

fixes: neovim/neovim#29431
closes: #15065

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-21 07:55:07 +02:00
zeertzjq
bc6f96708e patch 9.1.0511: CursorMovedC triggered wrongly with setcmdpos()
Problem:  CursorMovedC triggered wrongly with setcmdpos()
          (after v9.1.0507)
Solution: Remove the premature triggering.  Also don't trigger when
          cursor didn't move. (zeertzjq)

closes: #15064

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-21 07:51:40 +02:00
Evan Hanson
17e0a1969d runtime(scheme): update runtime files
Add TODO highlighting, disable text-wrapping, add "define-library" to
lispwords on CHICKEN. Update MAINTAINERS.

closes: #15063

Signed-off-by: Evan Hanson <evhan@foldling.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-21 07:49:39 +02:00
Christian Brabandt
6bc11c06d2 patch 9.1.0510: CI: test_gettext fails on MacOS14 + MSVC Win
Problem:  CI: test_gettext fails on MacOS14 + MSVC Win
          (after v9.1.0509)
Solution: Skip the test for now

related: #12447

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-21 07:31:04 +02:00
Christ van Willegen
ce0ef910df patch 9.1.0509: not possible to translate Vim script messages
Problem:  not possible to translate Vim script messages
          (RestorerZ)
Solution: implement bindtextdomain() and gettext() to support Vim script
          message translations (Christ van Willegen)

fixes: #11637
closes: #12447

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-20 23:41:59 +02:00
Ubaldo Tiberi
f7f8f0b76d patch 9.1.0508: termdebug plugin can be further improved
Problem:  termdebug plugin can be further improved
Solution: add sanity-check, timeout config, change vars to bool
          update docs, add more tests (Ubaldo Tiberi)

fixes: #15061
closes: #15057

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-20 22:24:26 +02:00
yu-yk
6ccf6da7a2 runtime(gomod): add gomod filetype plugin
closes: #15060

Signed-off-by: yu-yk <yukkuen.yu@linktivity.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-20 22:08:48 +02:00
Shougo Matsushita
d09521476f patch 9.1.0507: hard to detect cursor movement in the command line
Problem:  hard to detect cursor movement in the command line
Solution: Add the CursorMovedC autocommand
          (Shougo Matsushita)

closes: #15040

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-20 22:05:16 +02:00
Aliaksei Budavei
beb02ed674 runtime(java): Optionally highlight parameterised types
In the presence of parameterised types whose names begin
with a capital letter and end with a less-than sign "<" that
introduces a type argument or a list of comma-separated type
arguments, followed by a greater-than sign ">", a variable
"g:java_highlight_generics" can be defined to have some
components of such types uniformly coloured (by picking
highlight groups for javaGenericsC{1,2}, javaWildcardBound).

For example,
------------------------------------------------------------
java.io.InputStream stream = java.io.InputStream.nullInputStream();
java.util.function.Function<String,
    java.util.function.BiFunction<String, String, String>> updater =
	property -> (oldValue, newValue) -> oldValue;
java.util.logging.LogManager.getLogManager()
    .updateConfiguration(stream, updater);
------------------------------------------------------------

Note that the diamond form and explicit type arguments do
not qualify for this kind of recognition.

For example,
------------------------------------------------------------
new java.util.HashSet<>().<String>toArray(new String[0]);
------------------------------------------------------------

References:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-4.html#jls-4.5
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.9
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.12.2.1

closes: #15050

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-20 21:00:53 +02:00
Tyler Miller
49012cd8c2 patch 9.1.0506: filetype: .envrc & .prettierignore not recognized
Problem:  filetype: .envrc & .prettierignore not recognized
Solution: Detect '.envrc' as shell and '.prettierignore' as gitignore
          filetype (Tyler Miller)

Support ft detection for `.envrc` files used by direnv, and
`.prettierignore` files used by prettier.

closes: #15053
resolves: neovim/neovim#29405

Signed-off-by: Tyler Miller <tmillr@proton.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-20 20:31:32 +02:00
PowerUser64
aa61b8a908 patch 9.1.0505: filetype: Faust files are not recognized
Problem:  filetype: Faust files are not recognized
Solution: Detect '*.lib' files as Faust filetype, add detection for
          '*.dsp' files (Faust or Make), remove '*.lib' from Cobol
          filetype (PowerUser64)

closes: #14894

Signed-off-by: PowerUser64 <blake@blakenorth.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:32:11 +02:00
Christian Brabandt
ca7f93e6f3 patch 9.1.0504: inner-tag textobject confused about ">" in attributes
Problem:  inner-tag textobject confused about ">" in attributes
Solution: Skip over quoted '>' when determining the start position

fixes: #15043
closes: #15049

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:26:51 +02:00
glepnir
43eef882ff patch 9.1.0503: cannot use fuzzy keyword completion
Problem:  cannot use fuzzy keyword completion
          (Maxim Kim)
Solution: add the "fuzzycollect" value for the 'completeopt'
          setting, to gather matches using fuzzy logic (glepnir)

fixes: #14912
closes: #14976

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:25:01 +02:00
Aliaksei Budavei
94c5d8a5e2 runtime(java): Remove the group exclusion list from @javaTop
Instances of anonymous classes can be passed as method
arguments and should be subject to line folding as well.

closes: #15048

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:10:47 +02:00
Marius Gedminas
c98bfb9f59 runtime(doc): wrong return type for execute() function
The description clearly explains that this function returns a string.  I
think the 'Number' here is a copy/paste error.

closes: #15045

Signed-off-by: Marius Gedminas <marius@gedmin.as>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 20:00:00 +02:00
K.Takata
56f587b3f8 patch 9.1.0502: MS-Windows: too much legacy code
Problem:  MS-Windows: too much legacy code
Solution: Clean up old code
          (Ken Takata)

* Remove very old codes for Cygwin version of GCC.
  Nowadays Cygwin GCC cannot be used for building Win32 Vim.
  (The `-mno-cygwin` option was removed in Cygwin GCC4.)
* Remove old codes for old versions of MinGW.
  Remove `__MINGW32__` as much as possible.
* Adjust makefile.

closes: #15044

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 19:56:03 +02:00
Ubaldo Tiberi
46f2823807 patch 9.1.0501: too complicated mapping restore in termdebug
Problem:  too complicated mapping restore in termdebug
Solution: simplify unmapping logic, add a few more tests
          (Ubaldo Tiberi)

closes: #15046

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 19:50:32 +02:00
Maxim Kim
aeca7176f3 runtime(nohlsearch): simplify mapping
Use <cmd> instead of <expr> with execute(...)[-1]

closes: #15047

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-19 19:42:47 +02:00
Christian Brabandt
fbc37f138a patch 9.1.0500: cannot switch buffer in a popup
Problem:  cannot switch buffer in a popup
          (Yggdroot)
Solution: add popup_setbuf() function

fixes: #15006
closes: #15026

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 21:01:23 +02:00
LemonBoy
23c5ebeb95 patch 9.1.0499: MS-Windows: doesn't handle symlinks properly
Problem:  MS-Windows: doesn't handle symlinks properly
          (Timothy Madden)
Solution: Implement lstat() on MS-Windows
          (author)

lstat() differs from stat() in how it handles symbolic links, the former
doesn't resolve the symlink while the latter does so.

Implement a simple yet effective fallback using Win32 APIs.

fixes #14933
closes: #15014

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 20:43:51 +02:00
zeertzjq
a821b609f9 patch 9.1.0498: getcmdcompltype() interferes with cmdline completion
Problem:  getcmdcompltype() interferes with cmdline completion.
Solution: Don't set expand context when it's already set.
          (zeertzjq)

closes: #15036

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 20:31:08 +02:00
Ubaldo Tiberi
a48637c105 patch 9.1.0497: termdebug can be further improved
Problem:  termdebug can be further improved
Solution: refactor save/restore, update docs,
          add a new save/restore test (Ubaldo Tiberi)

closes: #15032

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 20:24:54 +02:00
Afiq Nazrie
9718ed7ab9 runtime(filetype): update htmldjango detection
- update tags to detect djangohtml based on
  https://docs.djangoproject.com/en/5.0/ref/templates/builtins/#built-in-tag-reference

- increase the lines to inspect to 40 lines

  10 lines is too few and might result in high false negative.
  Increasing it to 40 lines should reduce the false negative.

closes: #15037

Signed-off-by: Afiq Nazrie <afnazrie@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:59:53 +02:00
Emir SARI
2dadf5304a translation(tr): Improve Turkish documentation
closes: #15041

Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:50:14 +02:00
Maxim Kim
1ce65e35ac runtime(csv): include a simple csv filetype and syntax plugin
fixes: #15038

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:48:15 +02:00
Maxim Kim
26de90c631 runtime(nohlsearch): include the the simple nohlsearch package
fixes: #15039
closes: #15042

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-18 19:32:39 +02:00
glepnir
f189138b39 patch 9.1.0496: matched text is highlighted case-sensitively
Problem:  matched text is highlighted case-sensitively
Solution: use MB_STRNICMP, update highlighting when the base changes
          (glepnir)

fixes: #15021
closes: #15023

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 18:35:25 +02:00
zeertzjq
d8c9340fc6 patch 9.1.0495: Matched text isn't highlighted in cmdline pum
Problem:  Matched text isn't highlighted in cmdline pum.
Solution: Use cmdline completion pattern in cmdline mode.
          (zeertzjq)

closes: #15029

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 18:25:32 +02:00
h-east
84ac2126f4 runtime(doc): Fix typos in several documents
closes: #15034

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 18:12:51 +02:00
Christian Brabandt
946f61c405 runtime(doc): clarify when text properties are cleared
related: #15030

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 13:17:58 +02:00
Christian Brabandt
ca47114532 runtime(doc): improve the vim-shebang example
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 13:09:25 +02:00
Christian Brabandt
c52a856079 runtime(doc): revert unintended formatting changes for termdebug
fixes: #15028

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-17 05:30:37 +02:00
Doug Kearns
0ddab582fa runtime(java): Add a config variable for commonly used compiler options
The value of g:javac_makeprg_params, if set, is added to the value of
'makeprg' as an option string.

closes: #14999

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:58:09 +02:00
zeertzjq
63901e8963 patch 9.1.0494: Wrong matched text highlighted in pum with 'rightleft'
Problem:  Wrong matched text highlighted in pum with 'rightleft'.
Solution: Match using the original text instead of the reversed text.
          (zeertzjq)

closes: #15020

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:51:25 +02:00
Mohamed Akram
917ff8a19d runtime(html): bump length of character references in syntax script (#15022)
This allows handling longer references such as
`&CounterClockwiseContourIntegral;`.

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:47:36 +02:00
shane.xb.qian
a5af73ae34 runtime(termdebug): properly check mapping variables using null_dict
closes: #15013

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 16:44:53 +02:00
Yinzuo Jiang
79da22de75 runtime(kdl): fix KdlIndent and kdlComment in indent script (#15019)
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:47:47 +02:00
zeertzjq
acc8746941 patch 9.1.0493: Test for patch 9.1.0489 doesn't fail without the fix
Problem:  Test for patch 9.1.0489 doesn't fail without the fix.
Solution: Use "!" flag of feedkeys() so that ex_normal_busy is not set
          and ins_compl_check_keys() is not skipped (zeertzjq).

closes: #15018

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:44:05 +02:00
Aliaksei Budavei
371bab0594 runtime(java): Fold multi-line comments with the syntax kind of &fdm (#15016)
Also:

- Restore the capability to mark as an error braces nested
  in parens with g:javaInParen.
- Try not to fold top-level-type bodies.  (Defining multiple
  package-private top level types in a single source file is
  not recommended as it can impose order among compilation
  units; so it is assumed that only one such top level type
  is usually defined.)
- Compose ‘method header’ highlighting and block braces
  folding.
- Do not highlight block braces whenever ‘method header’
  highlighting is requested.

This bundling of ‘method headers’ and block braces for
highlighting can be traced back to Vim v5.0; however, no
comment or documentation entry conveys any justification.
For example, it is hard to discover the connection between
block braces for "while", "if", etc., statements and method
body block braces.  The former behaviour can be attained in,
e.g. ~/.vim/after/syntax/java.vim:

------------------------------------------------------------
if exists("g:java_highlight_functions")
    syn clear javaBlock javaInParen
    syn match javaBlockOther "[{}]"
    syn region javaBlock transparent matchgroup=javaBlockStart
	\ start="\%(^\|^\S[^:]\+\)\@120<!{" end="}" fold
    hi def link javaBlockStart javaFuncDef
    hi def link javaBlockOther javaBlockStart

    if exists("g:java_mark_braces_in_parens_as_errors")
	syn match javaInParen contained "[{}]"
    endif
endif
------------------------------------------------------------

Note: Read ‘a method header omitting a _throws_ clause’ for
every ‘method header’ appellation used above.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:42:55 +02:00
shane.xb.qian
f127dce188 runtime(termdebug): using wrong type for PlaceSign()
Make sure to convert them to numbers.

fixes: #14994
closes: #15015

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:37:23 +02:00
Doug Kearns
0d4d23dac0 patch 9.1.0492: filetype: Vim-script files not detected by shebang line
Problem:  Vim-script files may not be recognised
Solution: Add shebang line detection (Doug Kearns)

closes: #15012

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:32:15 +02:00
Christian Brabandt
52f2ff0363 runtime(zip): revert unintended change to zip#Write()
This was wrongly included as of patch 1c67342912
because apparently I messed up the use of git apply :/

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 16:05:35 +02:00
Christian Brabandt
f4bc59c4f6 runtime(doc): add another tag for vim-shebang feature
related: #15011

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:52:53 +02:00
zeertzjq
883018feff patch 9.1.0491: Cmdline pum doesn't work properly with 'rightleft'
Problem:  Cmdline pum doesn't work properly with 'rightleft'.
Solution: Don't use curwin->w_p_rl in cmdline mode in pum_redraw().  Use
          a static variable since pum_may_redraw() may be called in any
          mode.  Also correct position of other popups with 'rightleft'.
          (zeertzjq)

closes: #15005

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:37:11 +02:00
glepnir
105f741fac patch 9.1.0490: minor style problems with patch 9.1.0487
Problem:  minor style problems with patch 9.1.0487
Solution: use shown_compl instead of after_first_compl variable
          (glepnir)

closes: #15008

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
fix(completion): use exist shown_compl instead after_first_compl
2024-06-15 15:32:22 +02:00
glepnir
aced8c2f4f patch 9.1.0489: default completion may break with fuzzy
Problem:  default completion may break with fuzzy
Solution: check that completion_match_array is not null
          (glepnir)

closes: #15010

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:27:09 +02:00
zeertzjq
a2324373eb patch 9.1.0488: Wrong padding for pum "kind" with 'rightleft'
Problem:  Wrong padding for pum "kind" with 'rightleft'.
Solution: Fix off-by-one error (zeertzjq).

The screen_fill() above is end-exclusive, and
- With 'rightleft' it fills `pum_col - pum_base_width - n + 1` to `col`,
  so the next `col` should be `pum_col - pum_base_width - n`.
- With 'norightleft' it fills `col` to `pum_col - pum_base_width + n - 1`,
  so the next `col` should be `pum_col - pum_base_width + n`.

closes: #15004

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:08:27 +02:00
dkearns
ae321b51f7 runtime(vim): Update base-syntax, match shebang lines (#15011)
Match shebang lines in Vim9 and legacy script.

Mark these as an error if they appear anywhere other than the first line
of a legacy-script file.  In Vim9 script these match as normal line
comments rather than an error.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 15:06:17 +02:00
Christian Brabandt
1c67342912 runtime(zip): MS-Windows: handle files with spaces properly
This change does the following 3 things:

1) non need to quote the file to be extracted

The zipfile plugin used to quote and fnameescape() the path to the
file to be extracted. However testing with unzip showed, that while this
works on Linux on Windows you shall not escape the blanks in filenames.

As long as the pathname is properly quoted, this words on Linux and
Windows.

2) reset shellslash (MS-Windows only)

When shellslash is set, filenames to the zip archive will be forward
quoted. However since the filename is eventually handed over to the
unzip command, we need to make sure to use native paths so that the
command will understand what file to open. Therefore, if shellslash is
set (and the shell is cmd.exe), replace any forward slashes by the
expected backslashes

3) style:
Use tabs for the Header, remove a few comments in the s:Escape() and
zip#read() functions

fixes: #14998

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-15 14:51:07 +02:00
Doug Kearns
6dd5840fdf runtime(html): Restore HTML syntax file tests
Rendered element content results in test failures on macOS and FreeBSD.

The included content for these elements was incidental to the primary
intent of the test to check element tag highlighting so set
g:html_no_rendering to disable content rendering.

FreeBSD fails for even an empty <strike> element.

See #13591 and #14215.

closes: #13595

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 21:18:33 +02:00
glepnir
f94c9c482a patch 9.1.0487: completed item not update on fuzzy completion
Problem:  completed item not update on fuzzy completion
Solution: reset compl_shown_match when at original match position
          (glepnir)

closes: #14955

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 21:11:56 +02:00
Riley Bruins
82a579e15a patch 9.1.0486: filetype: Snakemake files are not recognized
Problem:  filetype: Snakemake files are not recognized
Solution: Detect '*.smk' and Snakefile files as snakemake filetype
          (Riley Bruins)

See:
https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html#distribution-and-reproducibility

closes: #14992

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:47:05 +02:00
Damien Riegel
17e702a51a runtime(termdebug): make TermDebugSendCommand() a global function again
TermDebugSendCommand lost it's global visibility when converted to
vim9script. Restore it.

Fixes: 23f29ffc64 ("runtime(termdebug): convert termdebug plugin to
       Vim9 script")
closes: #14997

Signed-off-by: Damien Riegel <damien@riegel.io>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:42:35 +02:00
Damien Riegel
fce324f557 runtime(termdebug): close all buffers in the same way
For ASM and Variables buffer, check were done to make sure they existed
before attempting to close them, but not for debugged program or gdb
communication. The debugged program window is a user-facing one and
user might close it manually, so it's better to check if it exists.

Signed-off-by: Damien Riegel <damien@riegel.io>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:41:36 +02:00
zeertzjq
afbe5359e9 patch 9.1.0485: Matched text shouldn't be highlighted in "kind" and "menu"
Problem:  Matched text shouldn't be highlighted in "kind" and "menu".
Solution: Pass hlf_T instead of the attribute.  Fix indent.
          (zeertzjq)

closes: #14996

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:24:22 +02:00
Christian Brabandt
c509c009bb runtime(doc): fix wrong helptag for :defer
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:23:00 +02:00
Doug Kearns
262e25e5a1 runtime(vim): Update base-syntax, match :sleep arg
Match :sleep arg properly including a lone "m" with a leading count.

closes: #15003

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:16:35 +02:00
Misho
79a14c061b runtime(keymap): include Georgian keymap
closes: #15002

Signed-off-by: Misho <nnamper@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:13:39 +02:00
zeertzjq
8e56747fd2 patch 9.1.0484: Sorting of completeopt+=fuzzy is not stable
Problem:  Sorting of completeopt+=fuzzy is not stable.
Solution: Compare original indexes when scores are the same.
          (zeertzjq)

closes: #14988

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 20:04:42 +02:00
Christian Brabandt
440746158c runtime(netrw): correctly test for windows in NetrwGlob()
use has("win32") instead of has("win64") otherwise it
won't work on x86 systems.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-14 08:19:22 +02:00
Christian Brabandt
1487947fb6 runtime(netrw): glob() on windows fails with [] in directory name
fixes: #14952
closes: #14991

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 21:25:35 +02:00
Christian Brabandt
d6d4e13336 runtime(doc): rewrite mkdir() doc and simplify {flags} meaning
related: #14991

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 21:24:51 +02:00
Christian Brabandt
8b34aea1b0 patch 9.1.0483: glob() not sufficiently tested
Problem:  glob() not sufficiently tested
Solution: Add more tests for directory containing [] chars

related: #14991

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 21:20:20 +02:00
Christian Brabandt
1cd31a4501 runtime(doc): update return type for job_info()
related: #14982

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 20:46:23 +02:00
Patrick Brinich-Langlois
4225f28855 README.md: Update link to release archives
The releases page doesn't have anything listed.

closes: #14990

Signed-off-by: Patrick Brinich-Langlois <pbrinichlanglois@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 20:22:13 +02:00
Ubaldo Tiberi
ef8eab86e2 patch 9.1.0482: termdebug plugin needs more love
Problem:  termdebug plugin needs more love
Solution: start with some more Vim9 refactoring
          to improve maintenance and readability
          (Ubaldo Tiberi)

List of Changes and the Reasoning Behind Them:

1) Introduction of InitScriptVariables() Function:

Reasoning: This function has been introduced to ensure that when you open and
close Termdebug, and then open it again, there are no leftover script variable
values from the previous session. Leftover values could potentially cause
issues. The goal is for each Termdebug session to be independent of previous
sessions. At startup, all script variables are initialized. The only exception
is g:termdebug_loaded located at the very beginning of the script to prevent
sourcing the script twice. The variables are declared at script level and
defined in InitScriptVariables().

2) More Descriptive Variable Names:

Reasoning: The names of variables have been made more comprehensive. Almost
every Termdebug buffer now has a variable to indicate its name and another
variable to indicate its number, improving code readability and
maintainability. Due to the latest discussion around the &mousemodel option
save/restore mechanism, perhaps some other variables shall be prepended with
saved_.

3) Consistent Naming for GDB Terminal Buffers:

Reasoning: The name of the GDB terminal buffer now matches the name of the GDB
program being used, e.g., 'gdb', 'mygdb', 'arm-eabi-none-gdb', etc. This
ensures clarity and consistency in identifying buffers.

4) Other minor improvements:
Moved EchoErr() on top, added another test, some refactoring, mainly changed
several 0 and 1 to true and false

closes: #14980

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 19:23:07 +02:00
Christian Brabandt
1a946044fe runtime(doc): correct return types for job_start() and job_status()
fixes: #14982

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 19:13:28 +02:00
dkearns
a3bddb759e runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Match :catch /{pattern}/ and :throw {expr1}.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:48:10 +02:00
Aliaksei Budavei
902b766858 runtime(java): Include element values in non-marker annotations (#14979)
Make a formal definition for normal and single-element kinds
of annotations that otherwise require for their containment
to repeat each time all syntax groups that describe element
values.

Reference:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.7

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:30:09 +02:00
Ernie Rael
a78eb25db3 patch 9.1.0481: Vim9: term_getjob() throws an exception on error
Problem:  Vim9: term_getjob() throws an exception on error
Solution: Return null_job instead, when there is no job
          (Ernie Rael)

closes: #14984

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:24:54 +02:00
glepnir
1c29602662 patch 9.1.0480: fuzzy string matching executed when not needed
Problem:  fuzzy string matching executed when not needed
Solution: when no leader is available, can skip fuzzy logic, so return
          early (glepnir)

closes: #14986

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:21:24 +02:00
zeertzjq
2f95ca9fce patch 9.1.0479: fuzzy_match_str_with_pos() does unnecessary list operations
Problem:  fuzzy_match_str_with_pos() does unnecessary list operations.
Solution: Use fuzzy_match() directly (zeertzjq).

closes: #14987

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:14:27 +02:00
zeertzjq
d353d27820 runtime(doc): restore description of "$" in col() and virtcol() (#14981)
These are different from line() and getpos().

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-13 17:00:25 +02:00
zeertzjq
02f3ebacfb runtime(doc): deduplicate getpos(), line(), col(), virtcol()
Move the main description to getpos() and link to that from the other
functions.

closes: #14970

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 21:04:10 +02:00
Doug Kearns
31441d509a runtime(vim): Update g:vimsyn_comment_strings dump file tests
Leading whitespace is no longer matched as part of the line comment as
of #13936.

closes: #14971

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 20:44:10 +02:00
Yegappan Lakshmanan
83d0028026 runtime(termdebug): Use string interpolation instead of string concat
closes: #14972

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 20:37:05 +02:00
glepnir
7c57940e3b patch 9.1.0478: potential deref of NULL pointer in fuzzy_match_str_with_pos
Problem:  potential deref of NULL pointer in fuzzy_match_str_with_pos()
          on cleanup (after v9.1.0476)
Solution: Only free the pointer if it is non-NULL (glepnir)

closes: #14973

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-12 20:31:13 +02:00
Christian Brabandt
1fb9eae579 patch 9.1.0477: block_editing errors out when using <enter>
Problem:  block_editing errors out when using <enter>
          (Ali Rizvi-Santiago, after v9.1.0274)
Solution: Change ins_len from size_t to int so that the test
          if ins_len is negative actually works properly

Add a test, so that this doesn't regress.

fixes: #14960

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 20:37:59 +02:00
dkearns
959c3c887b runtime(vim): Update base-syntax, configurable comment string highlighting (#14931)
Allow highlighting of strings within comments to be disabled by setting
g:vimsyn_comment_strings to false.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 20:18:08 +02:00
Ken Takata
b4e648a006 runtime(doc): fix typos in syntax.txt
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:45:53 +02:00
glepnir
40c1c3317d patch 9.1.0476: Cannot see matched text in popup menu
Problem:  Cannot see matched text in popup menu
Solution: Introduce 2 new highlighting groups: PmenuMatch and
          PmenuMatchSel (glepnir)

ping @habamax, @neutaaaaan @romainl because vim/colorschemes may need
some updates, @lifepillar for updating vim-colortemplate

closes: #14694

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:40:50 +02:00
dkearns
059cbe8933 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Match multiline (continued) line comments.

Continued tail comments are not supported yet.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:27:53 +02:00
Peter Aronoff
210b39c2d6 runtime(doc): clarify documentation for "v" position at line()
Problem: the previous documentation falsely states that "v" always
refers to the start of a visual area.  In fact, the reference of "v" and
"." complement each other.  If the cursor is at the start of
a (characterwise) visual area, then "v" refers to the end of the area.

Solution: be more verbose and explicit about the connection between "."
and "v" and also refer to |v_o| which many vim users will be familiar
with for visual areas.

Signed-off-by: Peter Aronoff <peter@aronoff.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:23:08 +02:00
Yegappan Lakshmanan
4877cb411f patch 9.1.0475: cmod_split modifier is always reset in term_start()
Problem:  cmod_split modifier is always reset in term_start()
Solution: only clear the WSP_VERT flag, if it is not already in
          cmdmod.cmod_split (Yegappan Lakshmanan)

closes: #14961

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:18:12 +02:00
Yegappan Lakshmanan
971378eed9 runtime(termdebug): remove line-continuation characters
Those are no longer needed for Vim9.

related: #14961

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:17:36 +02:00
Yinzuo Jiang
2e3b2a8d89 runtime(kdl): use shiftwidth() instead of &tabstop in indent script
closes: #14962

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:07:16 +02:00
dkearns
6ea3dfe8de runtime(vim): Remove orphaned screen dump files (#14965)
These are no longer generated by the current test input files.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:04:46 +02:00
inzuo Jiang
2d88210b3c runtime(kdl): include syntax, indent and ftplugin files
closes: #14956

Co-authored-by: Aram Drevekenin <aram@poor.dev>
Signed-off-by: inzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 21:13:56 +02:00
Christian Brabandt
d03882baac patch 9.1.0474: CI: Test_ColonEight() fails on github runners
Problem:  CI: Test_ColonEight() fails on github runners
          (Ken Takata)
Solution: Run the test for files on the C: drive, where dos shortnames
          are still enabled, refactor the tests to use a single setup
          function for the preparation

fixes: #14954
closes: #14958

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 21:06:55 +02:00
Kentaro Hayashi
b8076f92a1 runtime(deb822sources): add missing Enabled field in syntax script
closes: #14898

It lacks the support of Enabled: boolean option field [1]:

e.g.

  Types: deb
  Uris: https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/
  Components: main
  Suites: vscodium
  Architectures: amd64 i386 arm64 armhf
  Enabled: yes
  Signed-By: /var/lib/extrepo/keys/vscodium.asc

This patch was also forwarded to upstream. [2]

[1] https://manpages.debian.org/unstable/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT
[2] https://salsa.debian.org/vim-team/vim-debian/-/merge_requests/16

Signed-off-by: Kentaro Hayashi <kenhys@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:22:31 +02:00
Igor
7e9a1a75b8 runtime(svelte): basic svelte ftplugin file
closes: #14949

Signed-off-by: Igor <igorlfs@ufmg.br>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:20:04 +02:00
Yegappan Lakshmanan
d603e95609 patch 9.1.0473: term_start() does not clear vertical modifier
Problem:  term_start() does not clear vertical modifier
Solution: Clear the flag after splitting the window
          (Yegappan Lakshmanan)

closes: #14953

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:16:34 +02:00
Ernie Rael
dfc21db0b0 runtime(termdebug): fix mousemodel restoration by comparing against null_string
closes: #14951

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 18:12:07 +02:00
Ubaldo Tiberi
c593b9ead9 runtime(doc): Added definitions of Vim scripts and plugins
closes: #14935

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:48:08 +02:00
Aliaksei Budavei
d6b4afb636 runtime(java): Exclude lambda expressions from _when_ _switch-case_ label clauses (#14945)
These guard clauses are always boolean expressions, whereas
lambda expressions can only appear in either an assignment,
a casting, or an invocation context.

References:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-14.html#jls-14.11.1
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.27

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:39:52 +02:00
laburnumT
477402ecf9 runtime(termdebug): Fix saved_mousemodel check
Fix issue introduced by 23f29ffc64 where
saved_mousemodel is introduced as a variable, so the exists check will
always be true.

Move to check the value of saved_mousemodel instead.

closes: #14946

Signed-off-by: laburnumT <laburnumtec@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:38:37 +02:00
zeertzjq
aa925eeb97 patch 9.1.0472: Inconsistencies between functions for option flags
Problem:  Inconsistencies between functions for option flags.
Solution: Consistently use "unsigned int" as return type and rename
          get_bkc_value() to get_bkc_flags() (zeertzjq).

closes: #14925

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 18:24:05 +02:00
zeertzjq
2d1d5c6c27 patch 9.1.0471: Crash when using autocmd_get() after removing event inside autocmd
Problem:  Crash when using autocmd_get() after removing event inside
          autocmd (Sergey Vlasov)
Solution: Check that the pattern is NULL (zeertzjq).

fixes: #14937
closes: #14939

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 16:44:33 +02:00
Yegappan Lakshmanan
03a3df15ca runtime(termdebug: Fix errors in using the latest termdebug.vim
closes: #14941

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 16:42:45 +02:00
h-east
9c4389acc3 runtime(doc): Fix small style issues
closes: #14942

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 16:32:48 +02:00
Christian Brabandt
5674c9a7de runtime(doc): add return type info for Vim function descriptions
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-09 00:19:16 +02:00
Antonio Giovanni Colombo
4032daaa11 translation(it): Update Italian Vim manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-07 13:32:22 +02:00
Christian Brabandt
6dcd7f1a4d runtime(man): disable the q mapping
fixes: #8210

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-06 19:27:17 +02:00
Luc Hermitte
ce47d32b03 runtime(cpp): Change 'cms' for C++ to '// %s'
fixes: #14911
closes: #14926

Signed-off-by: Luc Hermitte <luc.hermitte@csgroup.eu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-06 18:44:52 +02:00
Lars T. Kyllingstad
d9ec676911 runtime(ccomplete): fix type mismatch error
fixes: #14927
closes: #14928

Signed-off-by: Lars T. Kyllingstad <lars.kyllingstad@sintef.no>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-06 18:39:03 +02:00
Christian Brabandt
ae4641d68e runtime(termdebug): Fix wrong email address
related: #14903

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 22:24:24 +02:00
Ubaldo Tiberi
23f29ffc64 runtime(termdebug): convert termdebug plugin to Vim9 script
closes: #14903

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 21:37:53 +02:00
Christian Brabandt
7cbed350f8 patch 9.1.0470: tests: Test_ColonEight_MultiByte() fails sporadically
Problem:  tests: Test_ColonEight_MultiByte() fails on MS-Windows
Solution: mark test as flaky

This single line change should have happened as part of v9.1.469 (and I
mentioned it in the Commit message), but forgot to actually include the
change :facepalm

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 20:34:55 +02:00
zeertzjq
529b9ad62a patch 9.1.0469: Cannot have buffer-local value for 'completeopt'
Problem:  Cannot have buffer-local value for 'completeopt'
          (Nick Jensen).
Solution: Make 'completeopt' global-local (zeertzjq).

Also for some reason test Test_ColonEight_MultiByte seems to be failing
sporadically now. Let's mark it as flaky.

fixes: #5487
closes: #14922

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 20:27:06 +02:00
David Wagner
84d9611b67 patch 9.1.0468: GvimExt does not consult HKEY_CURRENT_USER
Problem:  GvimExt does not consult HKEY_CURRENT_USER
Solution: Make GvimExt first consult HKEY_CURRENT_USER and then fall
          back to HKEY_LOCAL_MACHINE to find gvim (David Wagner)

fixes: #14904
closes: #14917

Signed-off-by: David Wagner <dwagner@rydia.us>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 20:01:19 +02:00
Philip H
9c60890518 CI: update FreeBSD runner to 14.1 (#13937)
closes: #14918

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 19:57:48 +02:00
zeertzjq
551d8c372e patch 9.1.0467: typos in some comments
Problem:  typos in some comments
          (after v9.1.0466)
Solution: fix comments
          (zeertzjq)

closes: #14919

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 19:53:32 +02:00
Doug Kearns
92f4e91590 runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Allow whitespace between the :substitute command and its pattern
argument.  Although unusual, it is supported and there are examples in
the wild.

Match Vi compatible :substitute commands like :s\/{string}/.  See :help
E1270.

fixes: #14920
closes: #14923

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-05 19:47:04 +02:00
glepnir
dca57fb542 patch 9.1.0466: Missing comments for fuzzy completion
Problem:  Missing comments for fuzzy completion (after 9.1.0463)
Solution: Add more comments, adjust indentation slightly
          (glepnir)

closes: #14910

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 22:01:21 +02:00
Christian Brabandt
ce6fe84db2 runtime(man): update Vim manpage
fixes: #14916

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 21:58:32 +02:00
Christian Brabandt
98fb81846d runtime(comment): clarify the usage of 'commentstring' option value
fixes: #14905

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 20:59:08 +02:00
Christian Brabandt
2a2c4fffd7 runtime(doc): clarify how fuzzy 'completeopt' should work
related: #14912

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 20:27:18 +02:00
Christian Brabandt
98b73eb645 runtime(netrw): prevent accidental data loss
fixes: #14915

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-04 18:18:16 +02:00
Shougo Matsushita
60c8743ab6 patch 9.1.0465: missing filecopy() function
Problem:  missing filecopy() function
Solution: implement filecopy() Vim script function
          (Shougo Matsushita)

closes: #12346

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 23:01:40 +02:00
Riley Bruins
0a0830624a patch 9.1.0464: no whitespace padding in commentstring option in ftplugins
Problem:  no whitespace padding in commentstring option in ftplugins
Solution: Change default to include whitespace padding, update
          existing filetype plugins with the new default value
          (Riley Bruins)

closes: #14843

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 20:40:45 +02:00
glepnir
a218cc6cda patch 9.1.0463: no fuzzy-matching support for insert-completion
Problem:  no fuzzy-matching support for insert-completion
Solution: enable insert-mode completion with fuzzy-matching
          using :set completopt+=fuzzy (glepnir).

closes: #14878

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 19:46:13 +02:00
Yegappan Lakshmanan
734286e4c6 patch 9.1.0462: eval5() and eval7 are too complex
Problem:  eval5() and eval7 are too complex
Solution: Refactor eval5() and eval7() in eval.c
          (Yegappan Lakshmanan)

closes: #14900

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-03 18:52:22 +02:00
John Marriott
f51ff96532 patch 9.1.0461: too many strlen() calls in drawline.c
Problem:  too many strlen() calls in drawline.c
Solution: Refactor code to avoid strlen()
          (John Marriott)

closes: #14890

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 19:44:11 +02:00
İlyas Akın
7577afd5ef patch 9.1.0460: filetype: lintstagedrc files are not recognized
Problem:  filetype: lintstagedrc files are not recognized
Solution: recognize '.lintstagedrc' files as json filetype
          (İlyas Akın)

see: https://github.com/lint-staged/lint-staged

closes: #14897

Signed-off-by: İlyas Akın <ilyas.akin@kuika.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 16:57:00 +02:00
nwounkn
36b6676719 patch 9.1.0459: Vim9: import autoload does not work with symlink
Problem:  Vim9: import autoload does not work with symlink
          (Olivier Dormond)
Solution: set sn_autoload_prefix in check_script_symlink
          (nwounkn)

fixes: #14775
closes: #14885

Signed-off-by: nwounkn <nwounkn@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 16:10:07 +02:00
Christian Brabandt
7737ce519b patch 9.1.0458: Coverity complains about division by zero
Problem:  Coverity complains about division by zero
Solution: Check explicitly for sw_val being zero

Shouldn't happen, since tabstop value should always be larger than zero.
So just add this as a safety measure.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-02 16:04:43 +02:00
Christian Brabandt
e5bc2e4bc9 patch 9.1.0457: tests: test_gui fails on Wayland
v:windowid is set in GUI buils with Wayland

Problem:  tests: test_gui fails on Wayland
          (after: 9.1.0064, Gary Johnson)
Solution: drop the "empty($WAYLAND_DISPLAY)" condition in the test

fixes: #14886

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 20:59:14 +02:00
Gary Johnson
88d4f255b7 patch 9.1.0456: Left shift is incorrect with vartabstop and shiftwidth=0
Problem:  Left shift is incorrect with vartabstop and shiftwidth=0
Solution: make tabstop_at() function aware of shift direction
          (Gary Johnson)

The problem was that with 'vartabstop' set and 'shiftwidth' equal 0,
left shifts using << were shifting the line to the wrong column.  The
tabstop to the right of the first character in the line was being used
as the shift amount instead of the tabstop to the left of that first
character.

The reason was that the tabstop_at() function always returned the value
of the tabstop to the right of the given column and was not accounting
for the direction of the shift.

The solution was to make tabstop_at() aware of the direction of the
shift and to choose the tabtop accordingly.

A test was added to check this behavior and make sure it doesn't
regress.

While at it, also fix a few indentation/alignment issues.

fixes: #14864
closes: #14887

Signed-off-by: Gary Johnson <garyjohn@spocom.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 20:51:33 +02:00
Christian Brabandt
e299591498 runtime(doc): clarify 'shortmess' flag "S"
fixes: #14893

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 20:43:47 +02:00
Mike Williams
16b63bd002 patch 9.1.0455: MS-Windows: compiler warning for size_t to int conversion
Problem:  MS-Windows: compiler warning for size_t to int conversion
Solution: Add a few type casts to resolve warning on Windows
          (Mike Williams)

closes: #14884

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-01 11:33:40 +02:00
Christian Brabandt
bad9577b9a runtime(doc): include some vim9 script examples in the help
closes: #14848

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 15:09:42 +02:00
Christian Brabandt
f3dd6f617c patch 9.1.0454: minor issues in test_filetype with rasi test
Problem:  minor issues in test_filetype with rasi test
          (after 9.1.0453)
Solution: re-sort test_filetype, fix wrong syntax.txt help tags

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 12:26:12 +02:00
Pierrick Guillaume
280e5b13ca patch 9.1.0453: filetype: rasi files are not recognized
Problem:  filetype: rasi files are not recognized
Solution: regonize '*.rasi' files as rasi filetype,
          include a filetype and syntax plugin
          (Pierrick Guillaume)

ported from: https://github.com/Fymyte/rasi.vim

closes: #14821

Signed-off-by: Pierrick Guillaume <pierguill@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 12:00:49 +02:00
Aliaksei Budavei
7129f2ad2f runtime(java): Improve the matching of lambda expressions (#14880)
- Distinguish some formal parameters.
- Support multi-line definitions.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-31 11:11:34 +02:00
youcai
1acc67ac44 patch 9.1.0452: Configure checks for libelf unnecessarily
Problem:  Configure checks for libelf unnecessarily
Solution: Remove configure check (youcai)

closes: #14879

Signed-off-by: youcai <omegacoleman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 19:31:36 +02:00
zeertzjq
88c8c547d5 patch 9.1.0451: No test for escaping '<' with shellescape()
Problem:  No test for escaping '<' with shellescape()
Solution: Add a test.  Use memcpy() in code to make it easier to
          understand.  Fix a typo (zeertzjq).

closes: #14876

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 19:27:25 +02:00
Christian Brabandt
32a5faa6d7 check.vim complains about overlong comment lines
Problem:  check.vim complains about overlong comment lines
Solution: only check the length of non-commented lines

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 09:51:47 +02:00
Antonio Giovanni Colombo
ed43711b66 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 09:49:40 +02:00
Yegappan Lakshmanan
51c45e89b5 patch 9.1.0450: evalc. code too complex
Problem:  eval.c code too complex
Solution: refactor eval6() and eval9() functions into several smaller
          functions (Yegappan Lakshmanan)

closes: #14875

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 07:52:44 +02:00
Mike Williams
51024bbc1a patch 9.1.0449: MS-Windows: Compiler warnings
Problem:  MS-Windows: Compiler warnings
Solution: Resolve size_t to int warnings

closes: #14874

A couple of warnings in ex_docmd.c have been resolved by modifying their
function argument types, followed by some changes in various function
call sites.  This also allowed removal of some casts to cope with
size_t/int conversion.

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-30 07:46:30 +02:00
Yegappan Lakshmanan
8904d672be patch 9.1.0448: compiler warning in eval.c
Problem:  compiler warning in eval.c (after v9.1.0429)
Solution: refactor code (Yegappan Lakshmanan)

fixes: #14847
closes: #14867

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-29 07:51:50 +02:00
zeertzjq
0b74eeceb8 runtime(stylus): remove remaining css code (#14866)
This seems to be a forgotten fixup in 2d919d2744 (r141568461)

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-28 07:23:41 +01:00
h-east
0bdc5d8241 runtime(doc): Add ft_hare.txt to Reference Manual TOC
while at it, also re-align ft_context.txt with the rest of the
list.

closes: #14863

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 17:14:17 +02:00
Christian Brabandt
393708cff6 runtime(vim): re-generate vim syntax from generator
related: #14861

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 15:50:07 +02:00
h_east
c984b2fd9d runtime(vim): fix syntax vim bug (Close #14858) (#14861)
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 15:40:25 +02:00
glepnir
53387c55a1 patch 9.1.0447: completion may be wrong when deleting all chars
Problem:  completion may be wrong when deleting all chars
Solution: reset compl_shown_match

closes: #14854

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-27 15:14:51 +02:00
zeertzjq
ef73374dc3 patch 9.1.0446: getregionpos() inconsistent for partly-selected multibyte char
Problem:  getregionpos() behaves inconsistently for a partly-selected
          multibyte char.
Solution: Always use column of the first byte for a partly-selected
          multibyte char (zeertzjq).

closes: #14851

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:42:18 +02:00
Linda_pp
86071925ed runtime(typescriptreact): fix highlighting nested and escaped quotes in string props (#14852)
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:22:26 +02:00
Christian Brabandt
76174e7110 runtime(asm): remove the indent plugin since it has too many issues
fixes: #14791

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:04:19 +02:00
James McCoy
0076ddc07d runtime(debian): update Debian runtime files (#14849)
* Add space in template for 'commentstring'
* Add 'comments' and 'commentstring' support to debcontrol
* debversions: Move Ubuntu releases outside of standard support to unsupported
  Although trust, xenial, and bionic are not EOL yet, their standard support period has ended.

Reported-by: Riley Bruins <ribru17@gmail.com>
Co-authored-by: Riley Bruins <ribru17@gmail.com>
Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 20:56:49 +02:00
Yegappan Lakshmanan
dbac0da631 patch 9.1.0445: Coverity warning after 9.1.0440
Problem:  Coverity warning after 9.1.0440
Solution: Fix Coverity warning, add a test and
          reduce the calls to clear_tv()
          (Yegappan Lakshmanan).

closes: #14845

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 20:23:54 +02:00
zeertzjq
dff55a3358 patch 9.1.0444: Not enough tests for getregion() with multibyte chars
Problem:  Not enough tests for getregion() with multibyte chars.
Solution: Add a few more tests (zeertzjq).

closes: #14844

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 10:25:36 +02:00
zeertzjq
afc2295c22 patch 9.1.0443: Can't use blockwise selection with width for getregion()
Problem:  Can't use a blockwise selection with a width for getregion().
Solution: Add support for blockwise selection with width like the return
          value of getregtype() or the "regtype" value of TextYankPost
          (zeertzjq).

closes: #14842

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 19:07:12 +02:00
rhysd
5e45715084 runtime(typescript): update outdated syntax files
fixes: #14721
fixes: HerringtonDarkholme/yats.vim#277
closes: #14840

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 19:03:03 +02:00
Josef Litoš
b1ffc52694 runtime(i3config/swayconfig): fix floating_modifier highlight (#14841)
Signed-off-by: JosefLitos <litosjos@fit.cvut.cz>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 17:31:36 +02:00
Amelia Clarke
35dfe58a54 patch 9.1.0442: hare runtime files outdated
Problem:  hare runtime files outdated
Solution: runtime(hare): update hare.vim to match upstream
          (Amelia Clarke)

closes: #14836

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 08:05:00 +02:00
zeertzjq
2b09de9104 patch 9.1.0441: getregionpos() can't properly indicate positions beyond eol
Problem:  getregionpos() can't properly indicate positions beyond eol.
Solution: Add an "eol" flag that enables handling positions beyond end
          of line like getpos() does (zeertzjq).

Also fix the problem that a position still has the coladd beyond the end
of the line when its column has been clamped.  In the last test case
with TABs at the end of the line the old behavior is obviously wrong.

I decided to gate this behind a flag because returning positions that
don't correspond to actual characters in the line may lead to mistakes
for callers that want to calculate the length of the selected text, so
the behavior is only enabled if the caller wants it.

closes: #14838

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:48:51 +02:00
Yegappan Lakshmanan
44cadaa18c patch 9.1.0440: function get_lval() is too long
Problem:  function get_lval() is too long
Solution: factor out the get_lval_subscript() function
          (Yegappan Lakshmanan)

closes: #14839

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:44:10 +02:00
Christian Brabandt
42a5b5a6d0 patch 9.1.0439: Cannot filter the history
Problem:  Cannot filter the history
Solution: Implement :filter :history

closes: #14835

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:39:34 +02:00
zeertzjq
3074137542 patch 9.1.0438: Wrong Ex command executed when :g uses '?' as delimiter
Problem:  Wrong Ex command executed when :g uses '?' as delimiter and
          pattern contains escaped '?'.
Solution: Don't use "*newp" when it's not allocated (zeertzjq).

closes: #14837

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:37:36 +02:00
James Eapen
22ac941208 runtime(i3config/swayconfig): support floating_modifier none; revert broken highlighting
- fix floating_modifier $mod normal|inverse was being hightlighted as error
  reverting the floating_modifier change from dd83b63
- will currently allow invalid syntax after floating_modifier

fixes: #14826
closes: #14827

Co-authored-by: JosefLitos <litosjos@fit.cvut.cz>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 20:48:54 +02:00
Drew Vogel
742062f31f patch 9.1.0437: Motif requires non-const char pointer for XPM data
Problem:  Motif requires non-const char pointer for XPM data shared with
          GTK (Tony Mechelynck, after v9.1.0432)
Solution: Cast non-const to const char pointer for GTK (Drew Vogel).

closes: #14834

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:49:39 +02:00
zeertzjq
789679cfc4 patch 9.1.0436: Crash when using '?' as separator for :s
Problem:  Crash when using '?' as separator for :s and pattern contains
          escaped '?'s (after 9.1.0409).
Solution: Always compute startplen. (zeertzjq).

related: neovim/neovim#28935
closes: 14832

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:41:26 +02:00
K.Takata
cd79f8fbd3 patch 9.1.0435: filetype: cygport files are not recognized
Problem:  filetype: cygport files are not recognized
Solution: Recognize '*.cygport' files as sh filetype
          (Ken Takata)

https://cygwin.github.io/cygport/cygport_in.html

closes: #14833

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:31:26 +02:00
Derek Schrock
3554d9bfcc patch 9.1.0434: make errors trying to access autoload/zig
Problem:  make errors trying to access autoload/zig
Solution: Remove autoload/zig from Makefile, adjust Filelist
          (Derek Schrock)

Commit d1d9316c6 removed autoload/zig/ files and install/uninstall target
of the Makefile fail since the directory doesn't exist any longer.

closes: #14828

Signed-off-by: Derek Schrock <dereks@lifeofadishwasher.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:27:05 +02:00
zeertzjq
701ad50a9e patch 9.1.0433: Wrong yanking with exclusive selection and ve=all
Problem:  Wrong yanking with exclusive selection and virtualedit=all,
          and integer overflow when using getregion() on it.
Solution: Set coladd when decreasing column and 'virtualedit' is active.
          Add more tests for getregion() with 'virtualedit' (zeertzjq).

closes: #14830

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 07:47:55 +02:00
Christian Brabandt
f2d74e3b63 runtime(comment): add missing help tags file
fixes: #14829

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 07:24:29 +02:00
Drew Vogel
5090f838bb patch 9.1.0432: Ancient XPM preprocessor hack may cause build errors
Problem:  Ancient XPM preprocessor hack may cause build errors.
Solution: Simplify XPM includes and get rid of complicated #ifdef magic
          (Drew Vogel).

closes: #14816

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:51:53 +02:00
Riley Bruins
802fc04a78 runtime(rescript): include basic rescript ftplugin file (#14822)
Reference: https://rescript-lang.org/docs/manual/latest/overview#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:49:17 +02:00
Yegappan Lakshmanan
25536f415e patch 9.1.0431: eval.c is too long
Problem:  eval.c is too long
Solution: Move garbage collection code to new gc.c file
          (Yegappan Lakshmanan)

closes: #14824

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:45:04 +02:00
zeertzjq
52a6f34887 patch 9.1.0430: getregionpos() doesn't handle one char selection
Problem:  getregionpos() doesn't handle one char selection.
Solution: Handle startspaces differently when is_oneChar is set.
          Also add a test for an exclusive charwise selection with
          multibyte chars (zeertzjq)

closes: #14825

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:42:44 +02:00
Christian Brabandt
95ff39f8e3 CI: disable -O2 for Coverity after v9.1.0429
gcc -O2 outputs this warning and turns it into an error when running
Coverity action:

```
eval.c: In function ‘echo_string_core’:
cc1: warning: function may return address of local variable [-Wreturn-local-addr]
eval.c:6495:12: note: declared here
 6495 |     char_u buf[MAX_FUNC_NAME_LEN];
      |            ^~~
```

This seems to be a false positive, so disable -O2 for Coverity
specifically.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 07:56:24 +02:00
Ubaldo Tiberi
62ccaa60d5 runtime(termdebug): check for gdb file/dir before using as buffer name
Add test so that this doesn't regress.

fixes: #12718
closes: #14792

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 23:33:03 +02:00
Tiseno
d1d9316c66 runtime(zig): refactor zig ftplugin, remove auto format
Refactored zig ftplugin, removed upstream comment, aucmd and
auto formatting support. Updated documentation for zig configuration
settings and added new maintainer.

closes: #13803

Signed-off-by: Tiseno <mathias.lindgren@stabelo.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 23:27:03 +02:00
Christian Brabandt
b335a9312c patch 9.1.0429: Coverity complains about eval.c refactor
Problem:  Coverity complains about eval.c refactor
          (after v9.1.0422)
Solution: Check that buf is not used un-initialized,
          add explicit conditions for save and restore
          of copyID

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 18:39:10 +02:00
zeertzjq
42cd192daa patch 9.1.0428: Tag guessing leaves wrong search history with very short names
Problem:  Tag guessing leaves wrong search history with very short names
          (after 9.1.0426).
Solution: Use the correct variable for pattern length (zeertzjq).

closes: #14817

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 17:19:58 +02:00
Ken Takata
ffed1540f3 patch 9.1.0427: tests: some issues with termdebug mapping test
Problem:  tests: some issues with termdebug mapping test
Solution: Use assert_{true,false} if suitable, change
          order of expected and actual arguments in assert() calls.
          (Ken Takata)

closes: #14818
related: 7fbbd7f

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 17:14:56 +02:00
Christian Brabandt
8cf29e4c4a runtime(matchit): update matchit plugin to v1.20
fixes: #14814

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 20:02:16 +02:00
John Marriott
8c85a2a49a patch 9.1.0426: too many strlen() calls in search.c
Problem:  too many strlen() calls in search.c
Solution: refactor code and remove more strlen() calls,
          use explicit variable to remember strlen
          (John Marriott)

closes: #14796

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 19:18:26 +02:00
Riley Bruins
69dff00dfb runtime(verilog): set commentstring option
closes: #14810

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 18:14:25 +02:00
Michael Soyka
af2254d2f3 runtime(vb): update vb indent plugin as vim9script
Include an updated vb indent script using vim9script.
Also update the runtime indent test files

Signed-off-by: Michael Soyka <mssr953@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:38:10 +02:00
Riley Bruins
155583a5c3 patch 9.1.0425: filetype: purescript files are not recognized
Problem:  filetype: purescript files are not recognized
Solution: recognize '*.purs' files as purescript filetype,
          include basic purescript filetype plugin
          (Riley Bruins)

Reference: https://github.com/purescript/documentation/blob/master/language/Syntax.md#comments

closes: #14813

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:21:53 +02:00
Riley Bruins
aa3104b07a patch 9.1.0424: filetype: slint files are not recognized
Problem:  filetype: slint files are not recognized
Solution: Detect '*.slint' files as slint filetype,
          include basic sling filetype plugin
          (Riley Bruins)

closes: #14808

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:20:09 +02:00
Riley Bruins
f295050fa5 runtime(nim): basic nim ftplugin file for comments (#14812)
Reference: https://nim-by-example.github.io/comments/#:~:text=Comments%20in%20Nim%20begin%20with%20the%20hash%20character.&text=Multiline%20or%20block%20comments%20begin,line%20comments%20can%20be%20nested.

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:16:17 +02:00
K.Takata
957d903cb7 runtime(arduino): Add Arduino ftplugin and indent files (#14811)
We already have Arduino syntax file, but we didn't have ftplugin and
indent files.

This commit adds a basic ftplugin file and a basic indent file.
Both of them are derived from {ftplugin,indent}/c.vim.

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:13:35 +02:00
Riley Bruins
c3d5c2fc87 runtime(typst): include basic typst ftplugin file (#14809)
Reference: https://typst.app/docs/reference/syntax/#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:08:49 +02:00
Riley Bruins
9c4d14dbb4 runtime(prisma): include basic prisma ftplugin file (#14807)
Reference: https://www.prisma.io/docs/orm/prisma-schema/overview#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:07:30 +02:00
Riley Bruins
1b5e3d21f6 runtime(v): include basic v ftplugin for comment support (#14806)
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:03:46 +02:00
zeertzjq
c95e64f41f patch 9.1.0423: getregionpos() wrong with blockwise mode and multibyte
Problem:  getregionpos() wrong with blockwise mode and multibyte.
Solution: Use textcol and textlen instead of start_vcol and end_vcol.
          Handle coladd properly (zeertzjq).

Also remove unnecessary buflist_findnr() in add_regionpos_range(), as
getregionpos() has already switched buffer.

closes: #14805

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:00:31 +02:00
Yegappan Lakshmanan
22029edb6c patch 9.1.0422: function echo_string_core() is too long
Problem:  function echo_string_core() is too long
Solution: Refactor into several smaller functions
          (Yegappan Lakshmanan)

closes: #14804

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 13:57:11 +02:00
Riley Bruins
5f1b115afd patch 9.1.0421: filetype: hyprlang files are not recognized
Problem:  filetype: hyprlang files are not recognized
Solution: recognize 'hypr{land,paper,idle,lock}.conf' files
          as 'hyprlang' filetype, add hyprlang ftplugin
          (Riley Bruins)

closes: #14803

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 11:26:44 +02:00
Riley Bruins
4d7892bfb1 runtime(dart): add basic dart ftplugin file
fixes #14793
closes #14802

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:31:46 +02:00
Riley Bruins
36e974fdf3 runtime(graphql): basic ftplugin file for graphql
closes: #14801

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:30:12 +02:00
Christian Brabandt
d801edfb1b runtime(doc): mention comment plugin at :h 'commentstring'
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:29:02 +02:00
Riley Bruins
df859a36d3 runtime(sql): set commentstring for sql files in ftplugin
closes: #14800

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:24:17 +02:00
Christian Brabandt
0b0f7d6be0 patch 9.1.0420: :browse oldfiles prompts even with single entry
Problem:  :browse oldfiles prompts even with single entry
Solution: Do not prompt, but edit the file directly,
          also when using :filter /pat/ browse oldfiles

closes: #14794

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:11:09 +02:00
Yegappan Lakshmanan
4776e64e72 patch 9.1.0419: eval.c not sufficiently tested
Problem:  eval.c not sufficiently tested
Solution: Add a few more additional tests for eval.c,
          (Yegappan Lakshmanan)

closes: #14799

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:06:50 +02:00
Christian Brabandt
5f75714730 runtime(doc): clarify why E195 is returned
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 19:11:29 +02:00
Christian Brabandt
5cf5301e28 runtime(doc): clarify temporary file clean up
related: #14770

Co-authored-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 10:15:04 +02:00
zeertzjq
9404378019 runtime(matchparen): fix :NoMatchParen not working (#14797)
fixes: neovim/neovim#28828

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 08:55:49 +02:00
Christ van Willegen - van Noort
8e4c4c7d87 patch 9.1.0418: Cannot move to previous/next rare word
Problem:  Cannot move to previous/next rare word
          (Colin Kennedy)
Solution: Add the ]r and [r motions (Christ van Willegen)

fixes: #14773
closes: #14780

Signed-off-by: Christ van Willegen - van Noort <github.com@vanwillegen-vannoort.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:52:45 +02:00
Yinzuo Jiang
cf78d0df51 runtime(sshdconfig): add basic ftplugin file for sshdconfig (#14790)
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:39:24 +02:00
Christian Brabandt
f0905a8613 patch 9.1.0417: if_py: find_module has been removed in Python 3.12.0a7
Problem:  if_py: find_module has been removed in Python 3.12.0a7
          (@Ghost-LZW)
Solution: Do not include find_module for Python >= 3.12.0a7

fixes: #14776
closes: #14781

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:30:26 +02:00
Luuk van Baal
2e642734f4 patch 9.1.0416: some screen dump tests can be improved
Problem:  some screen dump tests can be improved (after 9.1.0414)
Solution: Make sure screen state changes properly and is captured in the
          screen dumps (Luuk van Baal)

closes: #14788

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:28:02 +02:00
Yegappan Lakshmanan
fe424d13ef patch 9.1.0415: Some functions are not tested
Problem:  Some functions are not tested
Solution: Add a few more tests, fix a few minor problems
          (Yegappan Lakshmanan)

closes: #14789

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:20:43 +02:00
Christian Brabandt
e595e9c31b runtime(doc): clarify instal instructions for comment package
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 17:30:04 +02:00
Luuk van Baal
b32055e504 patch 9.1.0414: Unable to leave long line with 'smoothscroll' and 'scrolloff'
Problem:  Unable to leave long line with 'smoothscroll' and 'scrolloff'.
          Corrupted screen near the end of a long line with 'scrolloff'.
          (Ernie Rael, after 9.1.0280)
Solution: Only correct cursor in case scroll_cursor_bot() was not itself
          called to make the cursor visible. Avoid adjusting for
          'scrolloff' beyond the text line height (Luuk van Baal)

fixes: #14726
closes: #14783

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-16 20:44:09 +02:00
jbm950
f5c8f520ba runtime(doc): fix typo in vim9script help file (#14782)
This commit fixes a typo in the first example of the vim9script help
file. Trying to execute the given example before resulted in a "trailing
characters" error.

Signed-off-by: jbm950 <jmilam343@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-16 19:53:39 +02:00
K.Takata
c0e038b59f runtime(doc): Remove trailing spaces (#14784)
Fix the issues introduced by #14770.
2024-05-16 12:39:01 +09:00
Enno
5faeb60480 runtime(doc): clarify {special} argument for shellescape()
closes: #14770

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:54:19 +02:00
Christian Brabandt
8314de8fd4 CI: Upload failed screendump tests when run in github actions
It's a bit of a pain to debug failing screendump tests without knowing
exactly what went wrong. Therefore include actions/upload-artifact for
the Github CI runners and have them uploaded those failing screen dump
tests automatically.

Let's add this step to each of the Linux/MacOS/Windows workflows but do
not duplicate the code, factor it out to a single file
.github/actions/screendump/action.yml and reference this one from the
main ci.yml file

Example:
https://github.com/chrisbra/vim/actions/runs/9085493619

closes: #14771

Co-authored-by: dundargoc <gocdundar@gmail.com>
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:48:11 +02:00
Christian Brabandt
eff20eb35d patch 9.1.0413: smoothscroll may cause infinite loop
Problem:  smoothscroll may cause infinite loop, with
          very narrow windows
          (Jaehwang Jung, after v9.1.0280)
Solution: Check for width1 being negative, verify
          that win_linetabsize does not overflow

fixes: #14750
closes: #14772

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:35:36 +02:00
Christian Brabandt
fed01960d2 runtime(doc): add missing entries for the keys CTRL-W g<Tab> and <C-Tab>
fixes: #14777
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:05:23 +02:00
Cthulhux
93e0d2e815 runtime(doc): update vi_diff.txt: add default value for 'flash'
The "flash" option was added relatively late and seems to be exclusive
to System V. (It's not in 4.4BSD and it's not in V8 UNIX, checked [on
TUHS](https://www.tuhs.org/cgi-bin/utree.pl).) The oldest occurrence of
`flash` in "a vi" I could find is in SysV R2 for the VAX, where it
[defaults to
1](https://github.com/ryanwoodsmall/oldsysv/blob/master/sysvr2-vax/src/cmd/vi/vax/ex_data.c)
= on.

closes: #14778

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 20:54:35 +02:00
Christian Brabandt
6043024cd4 patch 9.1.0412: typo in regexp_bt.c in DEBUG code
Problem:  typo in regexp_bt.c in DEBUG code, causing
          compile error (@kfleong7, after v9.1.0409)
Solution: Replace bulen by buflen

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-14 11:19:47 +02:00
Josef Litoš
679f5abb99 runtime(i3config/swayconfig): allow indented commands (#14757)
fixes: #14752

Co-authored-by: jamespeapen <jamespeapen@users.noreply.github.com>
Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 22:03:42 +02:00
Tom Picton
7961210b86 runtime(python): Fix wrong define regex in ftplugin (#14763)
Signed-off-by: Tom Picton <tom@tompicton.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 22:00:40 +02:00
Aliaksei Budavei
2f5ff73827 runtime(syntax-tests): Filter out non-Latin-1 characters for syntax tests (#14767)
Syntax tests are run with the LC_ALL=C environment variable
passed to "make".  Occasionally, there are CI failures for
such test files containing non-Latin-1 characters with error
messages pointing to multi-byte characters:

https://github.com/vim/vim/actions/runs/8824925004/job/24228298023#step:10:16370 ,
https://github.com/vim/vim/actions/runs/8840856619/job/24276935260#step:10:16347 ,
https://github.com/vim/vim/actions/runs/8854043458/job/24316210645#step:10:16362 ,
https://github.com/vim/vim/actions/runs/8856501136/job/24322848765#step:10:16354 ,
https://github.com/vim/vim/actions/runs/9038417238/job/24839482152#step:11:16980 .

But since the very same unchanged tests pass at other times:

https://github.com/vim/vim/actions/runs/8827593571/job/24235935458#step:10:16353 ,
https://github.com/vim/vim/actions/runs/9065214647/job/24905321661#step:11:17002 ;

these failures are unrelated to the nature of syntax tests
and should be considered false positives.

As a temporary workaround, all bytes of known non-Latin-1
characters can be replaced in memory with an arbitrary ASCII
byte (?) by applying a filter

> " To ignore part of the dump, provide a "dumps/{filename}.vim" file with
> " Vim commands to be applied to both the reference and the current dump, so
> " that parts that are irrelevant are not used for the comparison.  The result
> " is NOT written, thus "term_dumpdiff()" shows the difference anyway.

before lines are compared between files.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 21:06:05 +02:00
Christian Brabandt
43f2edc096 runtime(netrw): prefer scp over pscp
regression introduced in ce2ad9ffd7

The current logic is a bit funny, in that it checks for an executable of
scp, then pscp and if neither exists, it uses: scp :/
Anyway, let's fall back to the logic used before the above commit.

related: #14739

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 21:01:06 +02:00
Christian Brabandt
b7258738f8 runtime(doc): fix typo in usr_52.txt
fixes: #14758

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 19:04:47 +02:00
Yegappan Lakshmanan
4ceb4dc825 patch 9.1.0411: too long functions in eval.c
Problem:  too long functions in eval.c
Solution: refactor functions (Yegappan Lakshmanan)

closes: #14755

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 09:24:35 +02:00
John Marriott
d01e699348 patch 9.1.0410: warning about uninitialized variable
Problem:  warning about uninitialized variable
          (Tony Mechelynck, after 9.1.0409)
Solution: initialize variable (John Marriott)

closes: #14754

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 09:01:38 +02:00
John Marriott
82792db631 patch 9.1.0409: too many strlen() calls in the regexp engine
Problem:  too many strlen() calls in the regexp engine
Solution: refactor code to retrieve strlen differently, make use
          of bsearch() for getting the character class
          (John Marriott)

closes: #14648

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 00:07:17 +02:00
Tom Picton
86f6e2c2ee ftplugin(python): E16 fix, async keyword support for define (#14751)
This change includes the following changes:
- Fix "E16: Invalid range" when using a count with jump to start/end of class/method
- Update define with optional async keyword
- Update maintainer email

Signed-off-by: Tom Picton <tom@tompicton.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 20:26:06 +02:00
Christian Brabandt
9c0ff47098 patch 9.1.0408: configure fails on Fedora when including perl
Problem:  configure fails on Fedora when including perl
          (chesheer-smile)
Solution: Filter out -spec=<path> from $LIBS and $LDFLAGS to avoid
          linking relocation errors for unrelated autoconf tests.

closes: #14526

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 20:22:32 +02:00
Luuk van Baal
58448e09be patch 9.1.0407: Stuck with long line and half-page scrolling
Problem:  No scrolling happens with half-page scrolling with line
          filling entire window when 'smoothscroll' is disabled.
          (Mathias Rav, after v9.1.0285)
Solution: Adjust amount to move cursor by so that it is moved the same
          number of lines as was scrolled, even when scrolling different
          number of lines than requested with 'nosmoothscroll'.

fixes: #14743
closes: #14746

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:27:52 +02:00
zeertzjq
031a745608 patch 9.1.0406: Divide by zero with getmousepos() and 'smoothscroll'
Problem:  Divide by zero with getmousepos() and 'smoothscroll'.
Solution: Don't compute skip_lines when width1 is zero.
          (zeertzjq)

closes: #14747

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:23:37 +02:00
Christian Brabandt
1c5728e0c4 runtime(doc): update and remove some invalid links
closes: #14748

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:16:21 +02:00
Antonio Giovanni Colombo
9e4bfb219f translation(it): update translation of xxd manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:53:58 +02:00
Nir Lichtman
c16c4a21eb runtime(netrw): Recursively delete directories by default with netrw delete command
closes: #14742

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:43:29 +02:00
Aliaksei Budavei
d3952e8cfe runtime(java): Strive to remain compatible for at least Vim 7.0 (#14744)
Also:

- Limit all look-behind regexp patterns.
- Cache regexp capabilities for [:upper:] and [:lower:].

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:39:31 +02:00
Christian Brabandt
b7deb1b69e patch 9.1.0405: tests: xxd buffer overflow fails on 32-bit
Problem:  tests: xxd buffer overflow fails on 32-bit
Solution: Skip test on 32-bit architecture

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 20:03:21 +02:00
Aliaksei Budavei
06bdac1580 runtime(java): Stop handpicking syntax groups for @javaTop (#14727)
* runtime(java): Stop handpicking syntax groups for @javaTop

Also:

- Remove the obsolete comment for g:java_allow_cpp_keywords.
- Remove the commented out groups java\%[Debug\]StringError.
- Infer and set the preferred formatting Vim options from
  the modeline.

Since vim-6-0u, non-contained syntax groups can be referred
to by using the "contains=TOP..." argument.

* Set &encoding and &termencoding to "utf-8" for test files

* Limit non-ASCII charset to [§ƒɐɘʬʭΑ-Τα-μ] for test files

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 14:49:06 +02:00
Lennard Hofmann
67797191e0 patch 9.1.0404: [security] xxd: buffer-overflow with specific flags
Problem:  [security] xxd: buffer-overflow with specific flags
Solution: Correctly calculate the required buffer space
          (Lennard Hofmann)

xxd writes each output line into a global buffer before printing.
The maximum size of that buffer was not calculated correctly.

This command was crashing in AddressSanitizer:
$ xxd -Ralways -g1 -c256 -d -o 9223372036854775808 /etc/passwd

This prints a line of 6680 bytes but the buffer only had room for 6549 bytes.
If the output from "-b" was colored, the line could be even longer.

closes: #14738

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Lennard Hofmann <lennard.hofmann@web.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 14:41:18 +02:00
Yegappan Lakshmanan
8c35c26c1f patch 9.1.0403: Vim9: not able to import file from start dir
Problem:  Vim9: not able to import file from start dir
          (Danielle McLean)
Solution: Allow to import from start directory
          (Yegappan Lakshmanan)

fixes: #13313
closes: #14740

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 13:10:54 +02:00
Wu, Zhenyu
63f2a5b8ad patch 9.1.0402: filetype: mdd files detected as zsh filetype
Problem:  filetype: mdd files detected as zsh filetype
Solution: detect '*.mdd' files as sh filetype, add links
          to reference documentation (Wu, Zhenyu)

closes: #14741

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 13:01:54 +02:00
Wu, Zhenyu
887a38cee7 patch 9.1.0401: filetype: zsh module files are not recognized
Problem:  filetype: zsh module files are not recognized
Solution: Detect '*.mdh' and '*.epro' as C filetype, '*.mdd' as zsh
          filetype, determine zsh-modules '*.pro' from from it's content
          (Wu, Zhenyu)

closes: #14737

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 20:35:13 +02:00
Nir Lichtman
ce2ad9ffd7 runtime(netrw): Remove hardcoded private.ppk logic from netrw
closes: #14739

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 20:20:36 +02:00
Yegappan Lakshmanan
1b53172901 patch 9.1.0400: Vim9: confusing error message for unknown type
Problem:  Vim9: confusing error message for unknown type
          (Doug Kearns)
Solution: For an unknown type, display only the type name in the error
          message (Yegappan Lakshmanan)

fixes: #13153
closes: #14736

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 09:15:02 +02:00
Christian Brabandt
d5c8c0920e patch 9.1.0399: block_editing errors out when using del
Problem:  block_editing errors out when using del
          (@Jamarley)
Solution: Change ins_len from size_t to int and
          properly check that it doesn't become negative

There is a check in os.c that verifies that `ins_len` does not become
negative:
```
if (pre_textlen >= 0 && (ins_len = len - pre_textlen - offset) > 0)
```
However this only works, if ins_len can actually become negative and
unfortunately, ins_len has been declared as `size_t` so instead of
becoming negative it will wrap around and be very large.

So let's define it as integer, after which the condition above
properly catches this condition.

fixes: #14734
closes: #14735

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 22:17:19 +02:00
Maxwell G
cb3691811b runtime(spec): add new items to scripts section in syntax plugin
- %generate_buildrequires — added in RPM 4.15
- %conf — added in RPM 4.18

closes: #14723

Ref: https://rpm-software-management.github.io/rpm/manual/spec.html#build-scriptlets

Signed-off-by: author
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:28:51 +02:00
Yegappan Lakshmanan
9937d8b619 patch 9.1.0398: Vim9: imported vars are not properly type checked
Problem:  Vim9: imported vars are not properly type checked
Solution: Check the imported variable type properly
          (Yegappan Lakshmanan)

closes: #14729

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:24:33 +02:00
zeertzjq
c7a8eb5ff2 patch 9.1.0397: Wrong display with 'smoothscroll' when changing quickfix list
Problem:  Wrong display with 'smoothscroll' when changing quickfix list.
Solution: Reset w_skipcol when replacing quickfix list (zeertzjq).

closes: #14730

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:22:40 +02:00
Gregory Anders
6a4ea471d2 patch 9.1.0396: filetype: jj files are not recognized
Problem:  jj files are not recognized
Solution: recognize '*.jjdescription' files as jj filetype
          (Gregory Anders)

See: https://github.com/martinvonz/jj

closes: #14733

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:17:43 +02:00
Christian Brabandt
b8ecedce79 patch 9.1.0395: getregionpos() may leak memory on error
Problem:  regionpos may leak memory on error, coverity
          complains about dereferencing Null pointer
Solution: free all list pointers (after v9.1.394),
          return early if buflist_findnr() returns NULL

closes: #14731

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:50:26 +02:00
Christian Brabandt
3ac83c7141 The CODEOWNERS File is not useful
Github is complaining about "This file has errors" and is just noisy
and for that reason does not ping maintainers if a new issue/PR is
created.
Let's just rename it to MAINTAINERS file instead and update the
documentation.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:39:54 +02:00
Nir Lichtman
1e34b95e44 runtime(netrw): Remove and cleanup Win9x legacy from netrw
closes: #14732

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:19:34 +02:00
Christian Brabandt
fb745756db runtime(doc): add MsgArea to 'highlight' option description
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 21:21:30 +02:00
Shougo Matsushita
b4757e627e patch 9.1.0394: Cannot get a list of positions describing a region
Problem:  Cannot get a list of positions describing a region
          (Justin M. Keyes, after v9.1.0120)
Solution: Add the getregionpos() function
          (Shougo Matsushita)

fixes: #14609
closes: #14617

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 20:49:24 +02:00
Wu Yongwei
c5def6561d runtime(cpp): Fix digit separator in syntax script for octals and floats
Also fix the incorrect rendering of floats that start with ".".

closes: #14724

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 18:33:30 +02:00
Christian Brabandt
4e9adfa3d1 README.md: Update link to Wikipedia Vi page
fixes: #14725

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 18:17:00 +02:00
D. Ben Knoble
8d8cb45756 runtime(sh,zsh): clear $MANPAGER in ftplugin before shelling out
Say you use Vim and set MANPAGER='vim -M +MANPAGER --not-a-term -'; then
:{Zs,S}hKeywordPrg (or K) will crap out and spew terminal garbage into
less when bash's "help" fails. This was introduced by 2f25e40b1
(runtime: configure keywordpg for some file types (#5566), 2023-08-23)
and may be present in other files touched by that commit.

Make the "man" invocation sensible by unsetting MANPAGER in the
environment.

Note that changing MANPAGER for `:terminal` is not needed; Vim within
Vim is perfectly fine.

closes: #14679

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-06 19:55:23 +02:00
h-east
53753f6a49 runtime(doc): Fix typos in help documents
closes: #14720

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-05 18:42:31 +02:00
Christian Brabandt
c3e6e393cb patch 9.1.0393: 'viewdir' not respecting $XDG_CONFIG_HOME
Problem:  'viewdir' not respecting $XDG_CONFIG_HOME
          (Danilo Rezende, after v9.1.327)
Solution: adjust 'viewdir' option when enabling XDG config mode

fixes: #14680
closes: #14708

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:48:15 +02:00
Christian Brabandt
7edde3f39e patch 9.1.0392: tests: Vim9 debug tests may be flaky
Problem:  tests: Vim9 debug tests may be flaky
          (Shane-XB-Qian)
Solution: Give a few more lines so that line-wrapping won't
          cause a hit-enter prompt

The two tests Run_Test_debug_running_out_of_lines() and
Run_Test_debug_with_lambda() test debugging of Vim script functions.

Depending from what file-path the tests are run, it may cause
line wrapping to occur on the following output:

Entering Debug mode.  Type "cont" to continue.
command line..script
/home/chrisbra/code/vim-upstream/src/testdir/XdebugFunc[15]..function
<SNR>9_Crash

and if the window is too small, this will cause a hit-enter prompt and so
the WaitForAssert() fails, causing failure of the following tests.

So increase the (internal) Vim window by a few more lines, so that even
if line-wrapping occurs, no hit-enter prompts happens and so the tests
can finish.

fixes: #14596
closes: #14691

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:38:59 +02:00
zeertzjq
ad4881cb3c runtime(doc): correct getscriptinfo() example (#14718)
When "sid" is specified, it returns a List with a single item.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:35:30 +02:00
Yegappan Lakshmanan
5715a72628 patch 9.1.0391: Vim9: could improve testing
Problem:  Vim9: could improve testing
          (Ernie Rael)
Solution: Support defcompile for test_override() to
          improve testing (Yegappan Lakshmanan)

fixes: #14553
closes: #14712

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-03 18:27:51 +02:00
ichizok
c8330b8fff CI: test_sound fails on macos-12 (#14715)
Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-03 18:22:35 +02:00
Oleg Zadorozhnyi
5bf7446ba2 translation(sr): update Serbian menu
closes: #14669
closes: #10722

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:17:05 +02:00
Oleg Zadorozhnyi
75c3161f8f translation(sk): update Slovak menu
closes: #14671
closes: #10721

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:10:41 +02:00
Oleg Zadorozhnyi
dfbf6f3ae5 translation(sl): update Slovenian menu
closes: #14673

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:08:13 +02:00
Oleg Zadorozhnyi
d88a39e0d6 translation(pt): update Portuguese menu
closes: #10718
closes: #10717
closes: #14674

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:05:45 +02:00
Oleg Zadorozhnyi
c3016a8bf0 translation(nl): update Dutch menu
closes: #14682

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:02:30 +02:00
Oleg Zadorozhnyi
f2211cb1ca translation(ko): update Korean menu
closes: #14683

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:59:58 +02:00
Oleg Zadorozhnyi
247dbd0e7b translation(is): update Icelandic menu
closes: #14685

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:56:45 +02:00
Oleg Zadorozhnyi
5ba554011e translation(CZ): update Czech menu
closes: #14704

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:44:56 +02:00
Oleg Zadorozhnyi
e0d0ad675e translation(af): update Afrikaans menu
closes: #14706

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:40:43 +02:00
Oleg Zadorozhnyi
f1d3913a80 translation(de): update German menu
closes: #14702

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:16:21 +02:00
Yorick Peterse
a01968448a patch 9.1.0390: filetype: inko files are not recognized
Problem:  filetype: inko files are not recognized
Solution: Detect '*.inko' as ink filetype
          (Yorick Peterse)

See:
- https://github.com/inko-lang/inko.vim
- https://inko-lang.org/

closes: #14699

Signed-off-by: Yorick Peterse <git@yorickpeterse.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:11:44 +02:00
tris203
54e79157c5 patch 9.1.0389: filetype: templ files are not recognized
Problem:  filetype: templ files are not recognized
Solution: Detect '*.templ' files as filetype templ
          (Tristan Knight)

See:
- https://github.com/a-h/templ
- https://templ.guide/

closes: #14697

Signed-off-by: tris203 <admin@snappeh.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:08:25 +02:00
zeertzjq
2ffdae7948 patch 9.1.0388: cursor() and getregion() don't handle v:maxcol well
Problem:  cursor() and getregion() don't handle v:maxcol well.
Solution: Add special handling for v:maxcol like setpos() does.
          (zeertzjq)

closes: #14698

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:06:24 +02:00
Yegappan Lakshmanan
da9d345b3d patch 9.1.0387: Vim9: null value tests not sufficient
Problem:  Vim9: null value tests not sufficient
Solution: Add a more comprehensive test for null values
          (Yegappan Lakshmanan)

closes: #14701

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:02:36 +02:00
Oleg Zadorozhnyi
3ca2ae180a translation(ca): update Catalan menu
closes: #14705

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:00:37 +02:00
Philip H
2d919d2744 patch 9.1.0386: filetype: stylus files not recognized
Problem:  filetype: stylus files not recognized
Solution: Detect '*.styl' and '*.stylus' as stylus filetype,
          include indent, filetype and syntax plugin
          (Philip H)

closes: #14656

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:42:11 +02:00
Oleg Zadorozhnyi
94a05d5545 translation(es): update spanish menu localization
closes: #14690

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:08:34 +02:00
Philip H
370e36829b runtime(doc): regenerate helptags (#14695)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 16:52:40 +02:00
2272 changed files with 126748 additions and 55316 deletions

View File

@@ -5,9 +5,9 @@ env:
freebsd_task:
name: FreeBSD
matrix:
- name: FreeBSD 14.0
- name: FreeBSD 14.2
freebsd_instance:
image_family: freebsd-14-0
image_family: freebsd-14-2
timeout_in: 20m
install_script:
- pkg install -y gettext
@@ -21,3 +21,11 @@ freebsd_task:
- pw useradd cirrus -m
- chown -R cirrus:cirrus .
- sudo -u cirrus make test
on_failure:
test_artifacts:
name: "Cirrus-CI-freebsd-failed-tests"
path: |
runtime/indent/testdir/*.fail
runtime/syntax/testdir/failed/*
src/testdir/failed/*
type: application/octet-stream

254
.clang-format Normal file
View File

@@ -0,0 +1,254 @@
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCaseColons: false
AlignEscapedNewlines: DontAlign
AlignOperands: Align
AlignTrailingComments:
Kind: Leave
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowBreakBeforeNoexceptSpecifier: Never
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: true
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: All
AlwaysBreakAfterReturnType: AllDefinitions
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: true
BinPackParameters: false
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterExternBlock: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: false
BeforeWhile: true
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakAdjacentStringLiterals: true
BreakAfterAttributes: Leave
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Custom
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: AfterHash
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertBraces: false
InsertNewlineAtEOF: false
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
KeepEmptyLinesAtEOF: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 4
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 1000000000
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakScopeResolution: 500
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
PPIndentWidth: 1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: false
RemoveBracesLLVM: false
RemoveParentheses: Leave
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SkipMacroDefinitionBody: false
SortIncludes: CaseSensitive
SortJavaStaticImport: Before
SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeJsonColon: false
SpaceBeforeParens: ControlStatementsExceptControlMacros
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInContainerLiterals: true
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParens: Never
SpacesInParensOptions:
InCStyleCasts: false
InConditionalStatements: false
InEmptyParentheses: false
Other: false
SpacesInSquareBrackets: false
Standard: c++03
TabWidth: 8
UseTab: Never
VerilogBreakBetweenInstancePorts: true
WhitespaceSensitiveMacros:
- BOOST_PP_STRINGIZE
- CF_SWIFT_NAME
- NS_SWIFT_NAME
- PP_STRINGIZE
- STRINGIZE
# Taken from:
# git grep '^#define *FOR_*' src | cut -d':' -f2 | grep -o '[A-Z]*_.*(' \
# | tr -d '(' | LC_ALL=C sort -u
ForEachMacros:
- 'FOR_ALL_AUTOCMD_PATTERNS'
- 'FOR_ALL_BUFFERS'
- 'FOR_ALL_BUFS_FROM_LAST'
- 'FOR_ALL_BUF_WININFO'
- 'FOR_ALL_CHANNELS'
- 'FOR_ALL_CHILD_MENUS'
- 'FOR_ALL_DIFFBLOCKS_IN_TAB'
- 'FOR_ALL_FRAMES'
- 'FOR_ALL_HASHTAB_ITEMS'
- 'FOR_ALL_JOBS'
- 'FOR_ALL_LIST_ITEMS'
- 'FOR_ALL_MENUS'
- 'FOR_ALL_NODE_SIBLINGS'
- 'FOR_ALL_POPUPWINS'
- 'FOR_ALL_POPUPWINS_IN_TAB'
- 'FOR_ALL_QFL_ITEMS'
- 'FOR_ALL_SIGNS'
- 'FOR_ALL_SIGNS_IN_BUF'
- 'FOR_ALL_SPELL_LANGS'
- 'FOR_ALL_SYNSTATES'
- 'FOR_ALL_TABPAGES'
- 'FOR_ALL_TAB_WINDOWS'
- 'FOR_ALL_TERMS'
- 'FOR_ALL_TIMERS'
- 'FOR_ALL_WATCHERS'
- 'FOR_ALL_WINDOWS'
- 'FOR_ALL_WINDOWS_IN_TAB'
...

29
.editorconfig Normal file
View File

@@ -0,0 +1,29 @@
# https://spec.editorconfig.org/#supported-pairs
root = true
[*]
indent_style = tab
tab_width = 8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{c,h,proto}]
indent_size = 4
[*.{md,yml,sh,bat}]
# This will become the default after we migrate the codebase
indent_style = space
indent_size = 2
[*.md]
# Markdown uses trailing whitespaces to do an hard line break
# https://spec.commonmark.org/0.31.2/#hard-line-breaks
trim_trailing_whitespace = false
[runtime/doc/**.txt]
# It can mess up some documentation by trying to strip trailing whitespaces
trim_trailing_whitespace = false
[src/testdir/test*.vim]
# Some tests need trailing whitespaces, for example `set showbreak=>>\ `
trim_trailing_whitespace = false

15
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1,15 @@
# When making commits that are strictly formatting/style changes, add the
# commit hash here, so git blame can ignore the change. See docs for more details:
#
# https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile
#
# Run this command to always ignore formatting commits in git blame
# git config blame.ignoreRevsFile .git-blame-ignore-revs
# Patch v9.1.0829 expanded tabs to spaces in sound.c
8ce738de3fd7192fa6274730594305cde780074c
# Patch v9.1.0879 reformated sound.c and sign.c
3cf094edaff815141d9941b8dba52b9e77d8dfc1
# change indentation style of netrw plugin
c363ca1ecd1f8db03663ef98dcf41eeacc3c22c7
c673b805ad80d0aef07e745d412a2bf298ba1c07

View File

@@ -11,12 +11,15 @@
nsis/lang/russian.nsi @RestorerZ
runtime/autoload/freebasic.vim @dkearns
runtime/autoload/hare.vim @selenebun
runtime/autoload/haskell.vim @alx741
runtime/autoload/hcl.vim @gpanders
runtime/autoload/javascript.vim @jsit
runtime/autoload/modula2.vim @dkearns
runtime/autoload/php.vim @david-szabo97
runtime/autoload/rubycomplete.vim @segfault @dkearns
runtime/autoload/rust.vim @lilyball
runtime/autoload/typst.vim @saccarosium
runtime/autoload/xmlformat.vim @chrisbra
runtime/autoload/dist/json.vim @habamax
runtime/colors/blue.vim @habamax @romainl @neutaaaaan
@@ -62,8 +65,9 @@ runtime/compiler/gawk.vim @dkearns
runtime/compiler/gjs.vim @dkearns
runtime/compiler/gm2.vim @dkearns
runtime/compiler/go.vim @dbarnett
runtime/compiler/groff.vim @Konfekt
runtime/compiler/haml.vim @tpope
runtime/compiler/hare.vim @rsaihe
runtime/compiler/hare.vim @selenebun
runtime/compiler/icon.vim @dkearns
runtime/compiler/javac.vim @dkearns
runtime/compiler/jest.vim @dkearns
@@ -72,6 +76,7 @@ runtime/compiler/jshint.vim @dkearns
runtime/compiler/jsonlint.vim @dkearns
runtime/compiler/jq.vim @vito-c
runtime/compiler/lazbuild.vim @dkearns
runtime/compiler/pandoc.vim @Konfekt
runtime/compiler/perl.vim @petdance @heptite
runtime/compiler/perlcritic.vim @petdance @dkearns
runtime/compiler/php.vim @dkearns
@@ -99,30 +104,57 @@ runtime/compiler/tidy.vim @dkearns
runtime/compiler/ts-node.vim @dkearns
runtime/compiler/tsc.vim @dkearns
runtime/compiler/typedoc.vim @dkearns
runtime/compiler/typst.vim @saccarosium
runtime/compiler/xmllint.vim @dkearns
runtime/compiler/xo.vim @dkearns
runtime/compiler/yamllint.vim @romainl
runtime/compiler/zsh.vim @dkearns
runtime/doc/ft_hare.txt @selenebun
runtime/doc/ps1.txt @heaths
runtime/doc/evim-ru.1 @RestorerZ
runtime/doc/evim-ru.UTF-8.1 @RestorerZ
runtime/doc/vim-ru.1 @RestorerZ
runtime/doc/vim-ru.UTF-8.1 @RestorerZ
runtime/doc/vimdiff-ru.1 @RestorerZ
runtime/doc/vimdiff-ru.UTF-8.1 @RestorerZ
runtime/doc/vimtutor-ru.1 @RestorerZ
runtime/doc/vimtutor-ru.UTF-8.1 @RestorerZ
runtime/doc/xxd-ru.1 @RestorerZ
runtime/doc/xxd-ru.UTF-8.1 @RestorerZ
runtime/ftplugin/abaqus.vim @costerwi
runtime/ftplugin/apache.vim @dubgeiser
runtime/ftplugin/antlr4.vim @jiangyinzuo
runtime/ftplugin/apache.vim @dubgeiser
runtime/ftplugin/arduino.vim @k-takata
runtime/ftplugin/asciidoc.vim @saccarosium
runtime/ftplugin/astro.vim @romainl
runtime/ftplugin/asy.vim @avidseeker
runtime/ftplugin/autohotkey.vim @telemachus
runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/basic.vim @dkearns
runtime/ftplugin/bst.vim @tpope
runtime/ftplugin/c3.vim @ttytm
runtime/ftplugin/cabal.vim @ribru17
runtime/ftplugin/cedar.vim @ribru17
runtime/ftplugin/cfg.vim @chrisbra
runtime/ftplugin/chatito.vim @ObserverOfTime
runtime/ftplugin/chicken.vim @evhan
runtime/ftplugin/clojure.vim @axvr
runtime/ftplugin/cmakecache.vim @ribru17
runtime/ftplugin/cook.vim @ribru17
runtime/ftplugin/cs.vim @nickspoons
runtime/ftplugin/csh.vim @dkearns
runtime/ftplugin/css.vim @dkearns
runtime/ftplugin/csv.vim @habamax
runtime/ftplugin/cucumber.vim @tpope
runtime/ftplugin/cuda.vim @ribru17
runtime/ftplugin/dart.vim @ribru17
runtime/ftplugin/deb822sources.vim @jamessan
runtime/ftplugin/debchangelog.vim @jamessan
runtime/ftplugin/debcontrol.vim @jamessan
runtime/ftplugin/debsources.vim @jamessan
runtime/ftplugin/desktop.vim @e-kwsm
runtime/ftplugin/dosbatch.vim @mrdubya
runtime/ftplugin/editorconfig.vim @ribru17
runtime/ftplugin/eiffel.vim @dkearns
runtime/ftplugin/elixir.vim @mhanberg
runtime/ftplugin/erlang.vim @hcs42
@@ -144,45 +176,71 @@ runtime/ftplugin/gitconfig.vim @tpope
runtime/ftplugin/gitignore.vim @ObserverOfTime
runtime/ftplugin/gitrebase.vim @tpope
runtime/ftplugin/gitsendemail.vim @tpope
runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/gleam.vim @trilowy
runtime/ftplugin/go.vim @dbarnett
runtime/ftplugin/goaccess.vim @meonkeys
runtime/ftplugin/gomod.vim @yu-yk
runtime/ftplugin/gprof.vim @dpelle
runtime/ftplugin/graphql.vim @jparise
runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hare.vim @rsaihe
runtime/ftplugin/hare.vim @selenebun
runtime/ftplugin/haredoc.vim @selenebun
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hcl.vim @gpanders
runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/hlsplaylist.vim @avidseeker
runtime/ftplugin/hog.vim @wtfbbqhax
runtime/ftplugin/html.vim @dkearns
runtime/ftplugin/http.vim @ribru17
runtime/ftplugin/hyprlang.vim @ribru17
runtime/ftplugin/i3config.vim @hiqua
runtime/ftplugin/icon.vim @dkearns
runtime/ftplugin/indent.vim @dkearns
runtime/ftplugin/ishd.vim @dkearns
runtime/ftplugin/j.vim @glts
runtime/ftplugin/java.vim @zzzyxwvut
runtime/ftplugin/javacc.vim @ribru17
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
runtime/ftplugin/jjdescription.vim @gpanders
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/kivy.vim @ribru17
runtime/ftplugin/kotlin.vim @udalov
runtime/ftplugin/ldapconf.vim @ribru17
runtime/ftplugin/leo.vim @ribru17
runtime/ftplugin/less.vim @genoma
runtime/ftplugin/lex.vim @ribru17
runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/lua.vim @dkearns
runtime/ftplugin/lc.vim @ribru17
runtime/ftplugin/lynx.vim @dkearns
runtime/ftplugin/m3build.vim @dkearns
runtime/ftplugin/m3quake.vim @dkearns
runtime/ftplugin/markdown.vim @tpope
runtime/ftplugin/mediawiki.vim @avidseeker
runtime/ftplugin/meson.vim @Liambeguin
runtime/ftplugin/modula2.vim @dkearns
runtime/ftplugin/modula3.vim @dkearns
runtime/ftplugin/mojo.vim @ribru17
runtime/ftplugin/mss.vim @Freed-Wu
runtime/ftplugin/nginx.vim @chr4
runtime/ftplugin/nim.vim @ribru17
runtime/ftplugin/nroff.vim @a-vrma
runtime/ftplugin/nsis.vim @k-takata
runtime/ftplugin/nu.vim @mrcjkb
runtime/ftplugin/octave.vim @dkearns
runtime/ftplugin/ondir.vim @jparise
runtime/ftplugin/opencl.vim @Freed-Wu
runtime/ftplugin/openvpn.vim @ObserverOfTime
runtime/ftplugin/org.vim @saccarosium
runtime/ftplugin/pascal.vim @dkearns
runtime/ftplugin/pbtxt.vim @lakshayg
runtime/ftplugin/pdf.vim @tpope
@@ -191,40 +249,60 @@ runtime/ftplugin/php.vim @dkearns
runtime/ftplugin/pod.vim @petdance @dkearns
runtime/ftplugin/poefilter.vim @ObserverOfTime
runtime/ftplugin/postscr.vim @mrdubya
runtime/ftplugin/prisma.vim @ribru17
runtime/ftplugin/proto.vim @Limero
runtime/ftplugin/ps1.vim @heaths
runtime/ftplugin/ps1xml.vim @heaths
runtime/ftplugin/ptx.vim @jiangyinzuo
runtime/ftplugin/purescript.vim @ribru17
runtime/ftplugin/pymanifest.vim @ObserverOfTime
runtime/ftplugin/python.vim @tpict
runtime/ftplugin/qb64.vim @dkearns
runtime/ftplugin/qml.vim @ChaseKnowlden
runtime/ftplugin/racket.vim @benknoble
runtime/ftplugin/rasi.vim @fymyte
runtime/ftplugin/readline.vim @dkearns
runtime/ftplugin/rescript.vim @ribru17
runtime/ftplugin/routeros.vim @zainin
runtime/ftplugin/rst.vim @marshallward
runtime/ftplugin/ruby.vim @tpope @dkearns
runtime/ftplugin/rust.vim @lilyball
runtime/ftplugin/sass.vim @tpope
runtime/ftplugin/scala.vim @derekwyatt
runtime/ftplugin/scheme.vim @evhan
runtime/ftplugin/scss.vim @tpope
runtime/ftplugin/sdoc.vim @gpanders
runtime/ftplugin/sed.vim @dkearns
runtime/ftplugin/sh.vim @dkearns
runtime/ftplugin/shaderslang.vim @mTvare6
runtime/ftplugin/slint.vim @ribru17
runtime/ftplugin/snakemake.vim @ribru17
runtime/ftplugin/solidity.vim @cothi
runtime/ftplugin/solution.vim @dkearns
runtime/ftplugin/spec.vim @ignatenkobrain
runtime/ftplugin/squirrel.vim @ribru17
runtime/ftplugin/ssa.vim @ObserverOfTime
runtime/ftplugin/sshdconfig.vim @jiangyinzuo
runtime/ftplugin/svelte.vim @igorlfs
runtime/ftplugin/sway.vim @ribru17
runtime/ftplugin/swayconfig.vim @jamespeapen
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/swig.vim @jmarrec
runtime/ftplugin/tap.vim @petdance
runtime/ftplugin/tcsh.vim @dkearns
runtime/ftplugin/terraform.vim @JannoTjarks
runtime/ftplugin/tf.vim @ribru17
runtime/ftplugin/thrift.vim @jiangyinzuo
runtime/ftplugin/tiasm.vim @Freed-Wu
runtime/ftplugin/tidy.vim @dkearns
runtime/ftplugin/tmux.vim @ericpruitt
runtime/ftplugin/toml.vim @averms
runtime/ftplugin/tt2html.vim @petdance
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/typst.vim @saccarosium
runtime/ftplugin/unison.vim @chuwy
runtime/ftplugin/v.vim @ribru17
runtime/ftplugin/vdf.vim @ObserverOfTime
runtime/ftplugin/vim.vim @dkearns
runtime/ftplugin/wast.vim @rhysd
@@ -233,8 +311,10 @@ runtime/ftplugin/wget2.vim @dkearns
runtime/ftplugin/xcompose.vim @ObserverOfTime
runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/xs.vim @petdance
runtime/ftplugin/yacc.vim @ribru17
runtime/ftplugin/zsh.vim @chrisbra
runtime/import/dist/vimhighlight.vim @lacygoill
runtime/indent/arduino.vim @k-takata
runtime/indent/astro.vim @wuelnerdotexe
runtime/indent/basic.vim @dkearns
runtime/indent/bst.vim @tpope
@@ -260,10 +340,13 @@ runtime/indent/freebasic.vim @dkearns
runtime/indent/gdscript.vim @habamax
runtime/indent/gitconfig.vim @tpope
runtime/indent/gitolite.vim @sitaramc
runtime/indent/glsl.vim @gpanders
runtime/indent/go.vim @dbarnett
runtime/indent/graphql.vim @jparise
runtime/indent/gyp.vim @ObserverOfTime
runtime/indent/haml.vim @tpope
runtime/indent/hare.vim @rsaihe
runtime/indent/hare.vim @selenebun
runtime/indent/hcl.vim @gpanders
runtime/indent/hog.vim @wtfbbqhax
runtime/indent/idlang.vim @dkearns
runtime/indent/j.vim @glts
@@ -272,6 +355,8 @@ runtime/indent/javascript.vim @bounceme
runtime/indent/json.vim @elzr
runtime/indent/jsonc.vim @izhakjakov
runtime/indent/julia.vim @carlobaldassi
runtime/indent/just.vim @pbnj
runtime/indent/kdl.vim @imsnif @jiangyinzuo
runtime/indent/kotlin.vim @udalov
runtime/indent/krl.vim @KnoP-01
runtime/indent/ld.vim @dkearns
@@ -281,6 +366,7 @@ runtime/indent/lua.vim @marcuscf
runtime/indent/make.vim @dkearns
runtime/indent/meson.vim @Liambeguin
runtime/indent/mma.vim @dkearns
runtime/indent/mojo.vim @ribru17
runtime/indent/nginx.vim @chr4
runtime/indent/nsis.vim @k-takata
runtime/indent/occam.vim @dkearns
@@ -288,6 +374,7 @@ runtime/indent/perl.vim @petdance
runtime/indent/php.vim @2072
runtime/indent/postscr.vim @mrdubya
runtime/indent/prolog.vim @dkearns
runtime/indent/proto.vim @Limero
runtime/indent/ps1.vim @heaths
runtime/indent/qb64.vim @dkearns
runtime/indent/qml.vim @ChaseKnowlden
@@ -297,6 +384,7 @@ runtime/indent/readline.vim @dkearns
runtime/indent/ruby.vim @AndrewRadev @dkearns
runtime/indent/sass.vim @tpope
runtime/indent/scala.vim @derekwyatt
runtime/indent/scheme.vim @evhan
runtime/indent/scss.vim @tpope
runtime/indent/sh.vim @chrisbra
runtime/indent/solidity.vim @cothi
@@ -304,7 +392,10 @@ runtime/indent/systemverilog.vim @Kocha
runtime/indent/tcl.vim @dkearns
runtime/indent/tcsh.vim @dkearns
runtime/indent/teraterm.vim @k-takata
runtime/indent/terraform.vim @gpanders
runtime/indent/thrift.vim @jiangyinzuo
runtime/indent/typescript.vim @HerringtonDarkholme
runtime/indent/typst.vim @saccarosium
runtime/indent/vroom.vim @dbarnett
runtime/indent/wast.vim @rhysd
runtime/indent/xml.vim @chrisbra
@@ -320,17 +411,20 @@ runtime/lang/menu_ru_ru.utf-8.vim @RestorerZ
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
runtime/pack/dist/opt/comment/ @habamax
runtime/pack/dist/opt/matchit/ @chrisbra
runtime/pack/dist/opt/nohlsearch/ @habamax
runtime/plugin/manpager.vim @Konfekt
runtime/syntax/shared/hgcommitDiff.vim @vegerot
runtime/syntax/abaqus.vim @costerwi
runtime/syntax/aidl.vim @dpelle
runtime/syntax/ant.vim @dkearns
runtime/syntax/antlr4.vim @jiangyinzuo
runtime/syntax/arduino.vim @johshoff
runtime/syntax/asciidoc.vim @aerostitch
runtime/syntax/asm.vim @dkearns
runtime/syntax/asmh8300.vim @dkearns
runtime/syntax/asterisk.vim @jaunis
runtime/syntax/astro.vim @wuelnerdotexe
runtime/syntax/asy.vim @avidseeker
runtime/syntax/autohotkey.vim @mmikeww
runtime/syntax/awk.vim @dkearns
runtime/syntax/basic.vim @dkearns
@@ -342,9 +436,11 @@ runtime/syntax/cabalconfig.vim @coot
runtime/syntax/cabalproject.vim @coot
runtime/syntax/cf.vim @ernstvanderlinden
runtime/syntax/chatito.vim @ObserverOfTime
runtime/syntax/chicken.vim @evhan
runtime/syntax/chuck.vim @gacallea
runtime/syntax/clojure.vim @axvr
runtime/syntax/cs.vim @nickspoons
runtime/syntax/csv.vim @habamax
runtime/syntax/cucumber.vim @tpope
runtime/syntax/d.vim @JesseKPhillips
runtime/syntax/dart.vim @pr3d4t0r
@@ -384,21 +480,28 @@ runtime/syntax/gitconfig.vim @tpope
runtime/syntax/gitignore.vim @ObserverOfTime
runtime/syntax/gitolite.vim @sitaramc
runtime/syntax/gitrebase.vim @tpope
runtime/syntax/glsl.vim @gpanders
runtime/syntax/go.vim @bhcleek
runtime/syntax/goaccess.vim @meonkeys
runtime/syntax/godoc.vim @dbarnett
runtime/syntax/gp.vim @KBelabas
runtime/syntax/gprof.vim @dpelle
runtime/syntax/graphql.vim @jparise
runtime/syntax/groff.vim @jmarshall
runtime/syntax/gyp.vim @ObserverOfTime
runtime/syntax/haml.vim @tpope
runtime/syntax/hare.vim @rsaihe
runtime/syntax/hare.vim @selenebun
runtime/syntax/haredoc.vim @selenebun
runtime/syntax/haskell.vim @coot
runtime/syntax/hcl.vim @gpanders
runtime/syntax/help_ru.vim @RestorerZ
runtime/syntax/hgcommit.vim @k-takata
runtime/syntax/hitest.vim @lacygoill
runtime/syntax/hog.vim @wtfbbqhax
runtime/syntax/hollywood.vim @sodero
runtime/syntax/html.vim @dkearns
runtime/syntax/htmlangular.vim @dlvandenberg
runtime/syntax/hyprlang.vim @saccarosium
runtime/syntax/i3config.vim @hiqua
runtime/syntax/icon.vim @dkearns
runtime/syntax/indent.vim @dkearns
@@ -406,14 +509,21 @@ runtime/syntax/j.vim @glts
runtime/syntax/jargon.vim @h3xx
runtime/syntax/java.vim @zzzyxwvut
runtime/syntax/javascript.vim @fleiner
runtime/syntax/jinja.vim @gpanders
runtime/syntax/jjdescription.vim @gpanders
runtime/syntax/json.vim @vito-c
runtime/syntax/jsonc.vim @izhakjakov
runtime/syntax/julia.vim @carlobaldassi
runtime/syntax/just.vim @pbnj
runtime/syntax/jq.vim @vito-c
runtime/syntax/karel.vim @kirillmorozov
runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/kivy.vim @prophittcorey
runtime/syntax/kotlin.vim @udalov
runtime/syntax/kdl.vim @imsnif @jiangyinzuo
runtime/syntax/krl.vim @KnoP-01
runtime/syntax/less.vim @genoma
runtime/syntax/lf.vim @andis-sprinkis
runtime/syntax/liquid.vim @tpope
runtime/syntax/lua.vim @marcuscf
runtime/syntax/lyrics.vim @ObserverOfTime
@@ -425,19 +535,24 @@ runtime/syntax/make.vim @rohieb
runtime/syntax/mallard.vim @jhradilek
runtime/syntax/markdown.vim @tpope
runtime/syntax/mason.vim @petdance
runtime/syntax/mediawiki.vim @avidseeker
runtime/syntax/meson.vim @Liambeguin
runtime/syntax/modula2.vim @dkearns
runtime/syntax/modula2/opt/iso.vim @trijezdci
runtime/syntax/modula2/opt/pim.vim @trijezdci
runtime/syntax/modula2/opt/r10.vim @trijezdci
runtime/syntax/modula3.vim @dkearns
runtime/syntax/mss.vim @Freed-Wu
runtime/syntax/n1ql.vim @pr3d4t0r
runtime/syntax/nginx.vim @chr4
runtime/syntax/ninja.vim @nico
runtime/syntax/nix.vim @equill
runtime/syntax/nroff.vim @jmarshall
runtime/syntax/nsis.vim @k-takata
runtime/syntax/ondir.vim @jparise
runtime/syntax/opencl.vim @Freed-Wu
runtime/syntax/openvpn.vim @ObserverOfTime
runtime/syntax/org.vim @saccarosium
runtime/syntax/pacmanlog.vim @rpigott
runtime/syntax/pascal.vim @dkearns
runtime/syntax/pbtxt.vim @lakshayg
@@ -449,10 +564,12 @@ runtime/syntax/pod.vim @petdance
runtime/syntax/poefilter.vim @ObserverOfTime
runtime/syntax/postscr.vim @mrdubya
runtime/syntax/privoxy.vim @dkearns
runtime/syntax/progress.vim @rdnlsmith
runtime/syntax/prolog.vim @XVilka
runtime/syntax/ps1.vim @heaths
runtime/syntax/ps1xml.vim @heaths
runtime/syntax/psl.vim @danielkho
runtime/syntax/ptx.vim @jiangyinzuo
runtime/syntax/pymanifest.vim @ObserverOfTime
runtime/syntax/qb64.vim @dkearns
runtime/syntax/qml.vim @ChaseKnowlden
@@ -460,6 +577,7 @@ runtime/syntax/racket.vim @benknoble
runtime/syntax/raml.vim @in3d
runtime/syntax/rapid.vim @KnoP-01
runtime/syntax/ratpoison.vim @trapd00r
runtime/syntax/rasi.vim @fymyte
runtime/syntax/rc.vim @chrisbra
runtime/syntax/rcs.vim @hdima
runtime/syntax/rebol.vim @mrdubya
@@ -469,12 +587,15 @@ runtime/syntax/rng.vim @jhradilek
runtime/syntax/routeros.vim @zainin
runtime/syntax/rst.vim @marshallward
runtime/syntax/ruby.vim @dkearns
runtime/syntax/salt.vim @gpanders
runtime/syntax/sass.vim @tpope
runtime/syntax/scala.vim @derekwyatt
runtime/syntax/scheme.vim @evhan
runtime/syntax/scss.vim @tpope
runtime/syntax/sdoc.vim @gpanders
runtime/syntax/sed.vim @dkearns
runtime/syntax/shared/debversions.vim @jamessan
runtime/syntax/shaderslang.vim @mTvare6
runtime/syntax/solidity.vim @cothi
runtime/syntax/spec.vim @ignatenkobrain
runtime/syntax/sqloracle.vim @chrisbra
@@ -491,15 +612,19 @@ runtime/syntax/systemverilog.vim @Kocha
runtime/syntax/tap.vim @petdance
runtime/syntax/tcsh.vim @dkearns
runtime/syntax/teraterm.vim @k-takata
runtime/syntax/terraform.vim @gpanders
runtime/syntax/thrift.vim @jiangyinzuo
runtime/syntax/tiasm.vim @Freed-Wu
runtime/syntax/tidy.vim @dkearns
runtime/syntax/tmux.vim @ericpruitt
runtime/syntax/toml.vim @averms
runtime/syntax/tt2.vim @petdance
runtime/syntax/tt2html.vim @petdance
runtime/syntax/tt2js.vim @petdance
runtime/syntax/typescript.vim @HerringtonDarkholme
runtime/syntax/typescriptcommon.vim @HerringtonDarkholme
runtime/syntax/typescriptreact.vim @HerringtonDarkholme
runtime/syntax/typescript.vim @HerringtonDarkholme @rhysd
runtime/syntax/typescriptreact.vim @HerringtonDarkholme @rhysd
runtime/syntax/typst.vim @gpanders
runtime/syntax/shared/typescriptcommon.vim @HerringtonDarkholme @rhysd
runtime/syntax/unison.vim @chuwy
runtime/syntax/vdf.vim @ObserverOfTime
runtime/syntax/vroom.vim @dbarnett
@@ -523,6 +648,7 @@ runtime/tutor/tutor.ru.cp1251 @RestorerZ
runtime/tutor/tutor.ru.utf-8 @RestorerZ
src/iscygpty.* @k-takata
src/libvterm/ @leonerd
src/po/am.po @gagikh
src/po/ca.po @nfdisco
src/po/de.po @chrisbra
src/po/eo.po @dpelle

View File

@@ -0,0 +1,27 @@
name: 'test_artifacts'
description: "Upload failed test artifacts"
runs:
using: "composite"
steps:
- name: Upload failed tests
uses: actions/upload-artifact@v4
with:
# Name of the artifact to upload.
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-tests
# A file, directory or wildcard pattern that describes what
# to upload.
path: |
${{ github.workspace }}/runtime/indent/testdir/*.fail
${{ github.workspace }}/runtime/syntax/testdir/failed/*
${{ github.workspace }}/src/testdir/failed/*
# The desired behavior if no files are found using the
# provided path.
if-no-files-found: ignore
# Duration after which artifact will expire in days. 0 means
# using repository settings.
retention-days: 0
# If true, an artifact with a matching name will be deleted
overwrite: true

View File

@@ -17,12 +17,12 @@ permissions:
jobs:
linux:
runs-on: ubuntu-22.04
runs-on: ${{ matrix.architecture == 'arm64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
env:
CC: ${{ matrix.compiler }}
GCC_VER: 13
CLANG_VER: 18
CLANG_VER: 19
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
@@ -48,6 +48,10 @@ jobs:
- features: tiny
compiler: gcc
extra: [nogui]
- features: tiny
compiler: gcc
extra: [nogui]
architecture: arm64
- features: normal
shadow: ./src/shadow
compiler: gcc
@@ -73,6 +77,11 @@ jobs:
compiler: gcc
coverage: true
extra: [unittests]
- features: huge
compiler: gcc
coverage: true
extra: [unittests]
architecture: arm64
- features: normal
compiler: gcc
extra: [vimtags]
@@ -105,6 +114,7 @@ jobs:
libtool-bin \
libncurses-dev:${{ matrix.architecture }} \
libxt-dev:${{ matrix.architecture }} \
locales-all \
)
if ${{ matrix.features == 'huge' }}; then
LUA_VER=${{ matrix.lua_ver || '5.4' }}
@@ -170,7 +180,7 @@ jobs:
normal)
;;
huge)
echo "TEST=scripttests test_libvterm"
echo "TEST=scripttests test_libvterm indenttest syntaxtest"
INTERFACE=${{ matrix.interface || 'yes' }}
if ${{ matrix.python3 == 'stable-abi' }}; then
PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
@@ -193,9 +203,9 @@ jobs:
echo "TEST=unittests"
fi
if ${{ contains(matrix.extra, 'asan') }}; then
echo "SANITIZER_CFLAGS=-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
echo "ASAN_OPTIONS=print_stacktrace=1 log_path=${LOG_DIR}/asan"
echo "UBSAN_OPTIONS=print_stacktrace=1 log_path=${LOG_DIR}/ubsan"
echo "SANITIZER_CFLAGS=-g -O0 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
echo "ASAN_OPTIONS=print_stacktrace=1:log_path=${LOG_DIR}/asan"
echo "UBSAN_OPTIONS=print_stacktrace=1:log_path=${LOG_DIR}/ubsan"
echo "LSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/src/testdir/lsan-suppress.txt"
fi
if ${{ contains(matrix.extra, 'vimtags') }}; then
@@ -214,21 +224,6 @@ jobs:
sudo usermod -a -G audio "${USER}"
sudo bash ci/setup-xvfb.sh
- name: Set up snd-dummy
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
env:
DEST_DIR: ${{ env.TMPDIR }}/linux-modules-extra-${{ env.LINUX_VERSION }}
uses: tecolicom/actions-use-apt-tools@main
with:
tools: linux-modules-extra-${{ env.LINUX_VERSION }}
path: "${DEST_DIR}"
- name: modprobe snd-dummy
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
run: |
sudo depmod --verbose
sudo modprobe --verbose snd-dummy || true
- name: Check autoconf
if: contains(matrix.extra, 'unittests')
run: |
@@ -265,11 +260,22 @@ jobs:
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
- name: Test
if: matrix.architecture != 'arm64'
timeout-minutes: 25
run: |
do_test() { sg audio "sg $(id -gn) '$*'"; }
do_test() { echo "$*"; sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
# `sg audio` does not work on arm64 runner due to permission ('Incorrect password' error).
- name: Test on arm64
if: matrix.architecture == 'arm64'
timeout-minutes: 25
run: |
make ${SHADOWOPT} ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts
- name: Vim tags
if: contains(matrix.extra, 'vimtags')
run: |
@@ -291,15 +297,16 @@ jobs:
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ join(matrix.extra, '-') }}
token: ${{ secrets.CODECOV_TOKEN }}
- name: ASan logs
if: contains(matrix.extra, 'asan') && !cancelled()
run: |
for f in $(grep -lR '#[[:digit:]]* *0x[[:xdigit:]]*' "${LOG_DIR}"); do
echo "$f"
asan_symbolize -l "$f"
false # in order to fail a job
done
@@ -318,7 +325,7 @@ jobs:
fail-fast: false
matrix:
features: [tiny, normal, huge]
runner: [macos-12, macos-14]
runner: [macos-13, macos-15]
steps:
- name: Checkout repository from github
@@ -330,11 +337,11 @@ jobs:
brew install lua libtool
echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
- name: Grant microphone access for macos-14
if: matrix.runner == 'macos-14'
- name: Set up Xcode
if: matrix.runner == 'macos-15'
run: |
# Temporary fix to fix microphone permission issues for macos-14 when playing sound.
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
# Xcode 16 has compiler bugs which are fixed in 16.2+
sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
- name: Set up environment
run: |
@@ -384,10 +391,13 @@ jobs:
brew install diffutils
- name: Test
timeout-minutes: 20
timeout-minutes: 25
run: |
make ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts
windows:
runs-on: windows-2022
@@ -407,19 +417,22 @@ jobs:
PYTHON_VER_DOT: '2.7'
PYTHON_DIR: 'C:\Python27'
# Python 3
PYTHON3_VER: 311
PYTHON3_VER_DOT: '3.11'
PYTHON3_VER: 313
PYTHON3_VER_DOT: '3.13'
# Other dependencies
# winpty
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
# libsodium
SODIUM_VER: '1.0.19'
SODIUM_VER: '1.0.20'
# SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip
SODIUM_MSVC_VER: v143
# SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
SODIUM_MINGW_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-mingw.tar.gz
SODIUM_MINGW_VER: 26
# Gettext-tools, iconv and libraries
GETTEXT32_URL: https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-32.zip
GETTEXT64_URL: https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip
# Escape sequences
COL_RED: "\x1b[31m"
COL_GREEN: "\x1b[32m"
@@ -487,6 +500,7 @@ jobs:
echo "SODIUM_DIR_SLASH=${SODIUM_DIR_SLASH}" >> $GITHUB_ENV
fi
echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV
echo "GETTEXT_PATH=D:\gettext${{ matrix.arch == 'x64' && '64' || '32' }}" >> $GITHUB_ENV
- uses: msys2/setup-msys2@v2
if: matrix.toolchain == 'mingw'
@@ -508,6 +522,8 @@ jobs:
echo %LUA_RELEASE%>> urls.txt
echo %WINPTY_URL%>> urls.txt
echo %SODIUM_VER%>> urls.txt
echo %GETTEXT32_URL%>> urls.txt
echo %GETTEXT64_URL%>> urls.txt
- name: Cache downloaded files
uses: actions/cache@v4
@@ -541,6 +557,12 @@ jobs:
mklink %SODIUM_LIB%\libsodium.dll %SODIUM_LIB%\libsodium-%SODIUM_MINGW_VER%.dll
)
echo %COL_GREEN%Download Gettext%COL_RESET%
call :downloadfile %GETTEXT${{ env.BITS }}_URL% downloads\gettext${{ env.BITS }}.zip
7z e -y downloads\gettext${{ env.BITS }}.zip -oD:\gettext${{ env.BITS }} > nul || exit 1
copy /y D:\gettext${{ env.BITS }}\libintl-8.dll src\ || exit 1
copy /y D:\gettext${{ env.BITS }}\libiconv-2.dll src\ || exit 1
goto :eof
:downloadfile
@@ -683,6 +705,9 @@ jobs:
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
)
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts
- name: Generate gcov files
if: matrix.coverage
shell: msys2 {0}
@@ -693,7 +718,7 @@ jobs:
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
directory: src
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}

View File

@@ -63,6 +63,9 @@ jobs:
# Append various warning flags to CFLAGS.
sed -i -f ci/config.mk.sed src/auto/config.mk
sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
# -O2 gives false warning and turns it into an error:
# warning: function may return address of local variable [-Wreturn-local-addr]
sed -i 's/-O2 \?//' src/auto/config.mk
- name: Build/scan vim
if: env.TOKEN

4
.gitignore vendored
View File

@@ -8,6 +8,8 @@ src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/po/big5corr
src/po/sjiscorr
src/types.vim
# We do need src/auto/configure.
@@ -109,6 +111,8 @@ src/shadow
src/shadow-*
src/runtime
src/pixmaps
src/LICENSE
src/README.txt
# other files possibly created by tools
src/cscope.out

View File

@@ -10,6 +10,8 @@ src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/po/big5corr
src/po/sjiscorr
src/types.vim
# We do need src/auto/configure.

View File

@@ -46,17 +46,30 @@ Or open [the todo file][todo list] on GitHub to see the latest version.
# Syntax, indent and other runtime files
The latest version of these files can be obtained from the repository.
They are usually not updated with numbered patches.
They are usually not updated with numbered patches. However, they may
or may not work with older Vim releases (since they may contain new features).
If you find a problem with one of these files or have a suggestion for
improvement, please first try to contact the maintainer directly.
Look in the header of the file for the name and email address.
Look in the header of the file for the name, email address, github handle and/or
upstream repository. You may also check the [MAINTAINERS][11] file.
The maintainer will take care of issues and send updates to the Vim project for
distribution with Vim.
If the maintainer does not respond, contact the [vim-dev][0] mailing list.
## Contributing new runtime files
If you want to contribute new runtime files for Vim or Neovim, please create a
PR with your changes against this repository here. For new filetypes, do not forget:
* to add a new [filetype test][12] (keep it similar to the other filetype tests).
* all configuration switches should be documented
(check [filetype.txt][13] and/or [syntax.txt][14] for filetype and syntax plugins)
* add yourself as Maintainer to the top of file (again, keep the header similar to
other runtime files)
* add yourself to the [MAINTAINERS][11] file.
# Translations
Translating messages and runtime files is very much appreciated! These things
@@ -66,7 +79,7 @@ can be translated:
* Menus, see [runtime/lang/README.txt][2]
* Vim tutor, see [runtime/tutor/README.txt][3]
* Manual pages, see [runtime/doc/\*.1][4] for examples
* Installer, see [nsis/lang/\*.nsi][5] for examples
* Installer, see [nsis/lang/README.txt][5]
The help files can be translated and made available separately.
See https://www.vim.org/translations.php for examples.
@@ -90,9 +103,13 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi
[5]: https://github.com/vim/vim/blob/master/nsis/lang/README.txt
[6]: https://github.com/vim/vim/discussions/13087
[7]: https://github.com/vim/vim/blob/master/runtime/doc/develop.txt
[8]: https://vi.stackexchange.com
[9]: http://www.vim.org/maillist.php#vim-use
[10]: https://github.com/vim/vim/discussions
[11]: https://github.com/vim/vim/blob/master/.github/MAINTAINERS
[12]: https://github.com/vim/vim/blob/master/src/testdir/test_filetype.vim
[13]: https://github.com/vim/vim/blob/master/runtime/doc/filetype.txt
[14]: https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt

View File

@@ -5,17 +5,21 @@
SRC_ALL = \
.cirrus.yml \
.gitattributes \
.github/CODEOWNERS \
.git-blame-ignore-revs \
.github/MAINTAINERS \
.github/ISSUE_TEMPLATE/bug_report.yml \
.github/ISSUE_TEMPLATE/feature_request.md \
.github/workflows/ci.yml \
.github/workflows/codeql-analysis.yml \
.github/workflows/coverity.yml \
.github/actions/test_artifacts/action.yml \
.github/dependabot.yml \
.gitignore \
.hgignore \
.appveyor.yml \
.clang-format \
.codecov.yml \
.editorconfig \
ci/appveyor.bat \
ci/config.mk*.sed \
ci/if_ver*.vim \
@@ -48,6 +52,7 @@ SRC_ALL = \
src/debugger.c \
src/dict.c \
src/diff.c \
src/linematch.c \
src/digraph.c \
src/drawline.c \
src/drawscreen.c \
@@ -72,6 +77,7 @@ SRC_ALL = \
src/float.c \
src/fold.c \
src/getchar.c \
src/gc.c \
src/globals.h \
src/gui.c \
src/gui.h \
@@ -183,6 +189,7 @@ SRC_ALL = \
src/testdir/sautest/autoload/*.vim \
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
src/testdir/check.vim \
src/testdir/commondumps.vim \
src/testdir/gui_init.vim \
src/testdir/gui_preinit.vim \
src/testdir/mouse.vim \
@@ -196,6 +203,7 @@ SRC_ALL = \
src/testdir/summarize.vim \
src/testdir/term_util.vim \
src/testdir/view_util.vim \
src/testdir/viewdumps.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test77a.ok \
src/testdir/test77a.com \
@@ -212,13 +220,20 @@ SRC_ALL = \
src/testdir/pyxfile/*.py \
src/testdir/dumps/*.dump \
src/testdir/dumps/*.vim \
src/testdir/samples/*.html \
src/testdir/samples/*.txt \
src/testdir/samples/*.vim \
src/testdir/samples/test000 \
src/testdir/samples/test.zip \
src/testdir/samples/test_undo.txt.undo \
src/testdir/samples/testa.zip \
src/testdir/color_ramp.vim \
src/testdir/silent.wav \
src/testdir/popupbounce.vim \
src/testdir/crash/* \
src/testdir/ru_RU/LC_MESSAGES/Makefile \
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.po \
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.mo \
src/proto.h \
src/protodef.h \
src/proto/alloc.pro \
@@ -263,6 +278,7 @@ SRC_ALL = \
src/proto/float.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
src/proto/gc.pro \
src/proto/gui.pro \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
@@ -273,6 +289,7 @@ SRC_ALL = \
src/proto/insexpand.pro \
src/proto/job.pro \
src/proto/json.pro \
src/proto/linematch.pro \
src/proto/list.pro \
src/proto/locale.pro \
src/proto/logfile.pro \
@@ -594,6 +611,8 @@ SRC_DOS = \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
nsis/gvim_version.nsh \
nsis/Makefile \
nsis/Make_mvc.mak \
nsis/README.txt \
nsis/lang/*.nsi \
nsis/lang/README.txt \
@@ -751,8 +770,17 @@ RT_ALL = \
runtime/tools/README.txt \
runtime/tools/[a-z]*[a-z0-9] \
runtime/tutor/README.txt \
runtime/tutor/tutor \
runtime/tutor/tutor1 \
runtime/tutor/en/vim-01-beginner.tutor \
runtime/tutor/en/vim-01-beginner.tutor.json \
runtime/tutor/it/vim-01-beginner.tutor \
runtime/tutor/it/vim-01-beginner.tutor.json \
runtime/tutor/sr/vim-01-beginner.tutor \
runtime/tutor/sr/vim-01-beginner.tutor.json \
runtime/tutor/tutor.tutor \
runtime/tutor/tutor.tutor.json \
runtime/tutor/tutor.vim \
runtime/tutor/tutor2 \
runtime/vimrc_example.vim \
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
runtime/pack/dist/opt/comment/plugin/comment.vim \
@@ -774,14 +802,26 @@ 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/helptoc/autoload/helptoc.vim \
runtime/pack/dist/opt/helptoc/plugin/helptoc.vim \
runtime/pack/dist/opt/justify/plugin/justify.vim \
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
runtime/pack/dist/opt/matchit/doc/tags \
runtime/pack/dist/opt/matchit/autoload/*.vim \
runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim \
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
runtime/pack/dist/opt/netrw/LICENSE.txt \
runtime/pack/dist/opt/netrw/README.md \
runtime/pack/dist/opt/netrw/autoload/netrw.vim \
runtime/pack/dist/opt/netrw/autoload/netrw/own.vim \
runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim \
runtime/pack/dist/opt/netrw/autoload/netrw_gitignore.vim \
runtime/pack/dist/opt/netrw/doc/netrw.txt \
runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim \
runtime/pack/dist/opt/netrw/syntax/netrw.vim
# Runtime files for all distributions without CR/LF translation.
RT_ALL_BIN = \
@@ -803,7 +843,6 @@ RT_SCRIPTS = \
runtime/autoload/dist/*.vim \
runtime/autoload/rust/*.vim \
runtime/autoload/xml/*.vim \
runtime/autoload/zig/*.vim \
runtime/colors/*.vim \
runtime/colors/README.txt \
runtime/colors/lists/*.vim \
@@ -830,10 +869,13 @@ RT_SCRIPTS = \
runtime/syntax/Makefile \
runtime/syntax/testdir/README.txt \
runtime/syntax/testdir/runtest.vim \
runtime/syntax/testdir/viewdumps.vim \
runtime/syntax/testdir/ftplugin/*.* \
runtime/syntax/testdir/input/*.* \
runtime/syntax/testdir/input/selftestdir/* \
runtime/syntax/testdir/input/setup/*.* \
runtime/syntax/testdir/dumps/*.dump \
runtime/syntax/testdir/dumps/*.vim \
runtime/syntax/generator/Makefile \
runtime/syntax/generator/README.md \
runtime/syntax/generator/gen_syntax_vim.vim \
@@ -1006,7 +1048,8 @@ IN_README_DIR = \
# Generic language files.
LANG_GEN = \
README.??x.txt \
lang/README.*.txt \
lang/LICENSE.*.txt \
runtime/doc/*-da.1 \
runtime/doc/*-da.UTF-8.1 \
runtime/doc/*-de.1 \
@@ -1022,7 +1065,6 @@ LANG_GEN = \
runtime/doc/*-ru.UTF-8.1 \
runtime/doc/*-tr.1 \
runtime/doc/*-tr.UTF-8.1 \
runtime/doc/uganda.??x \
runtime/lang/README.txt \
runtime/lang/Makefile \
runtime/lang/Make_all.mak \
@@ -1032,19 +1074,22 @@ LANG_GEN = \
runtime/tutor/README.*.txt \
runtime/tutor/Makefile \
runtime/tutor/Make_all.mak \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.??.utf-8 \
runtime/tutor/tutor.??.euc \
runtime/tutor/tutor.??.sjis \
runtime/tutor/tutor.??.iso9 \
runtime/tutor/tutor.??.big5 \
runtime/tutor/tutor.??.cp1250 \
runtime/tutor/tutor.??.cp1251 \
runtime/tutor/tutor.??.cp737 \
runtime/tutor/tutor.??_??.utf-8 \
runtime/tutor/tutor.bar \
runtime/tutor/tutor.bar.utf-8 \
runtime/tutor/tutor1.utf-8 \
runtime/tutor/tutor1.?? \
runtime/tutor/tutor1.??.utf-8 \
runtime/tutor/tutor1.??.euc \
runtime/tutor/tutor1.??.sjis \
runtime/tutor/tutor1.??.iso9 \
runtime/tutor/tutor1.??.big5 \
runtime/tutor/tutor1.??.cp1250 \
runtime/tutor/tutor1.??.cp1251 \
runtime/tutor/tutor1.??.cp737 \
runtime/tutor/tutor1.??_??.utf-8 \
runtime/tutor/tutor1.bar \
runtime/tutor/tutor1.bar.utf-8 \
runtime/tutor/tutor2.utf-8 \
runtime/tutor/tutor2.?? \
runtime/tutor/tutor2.??.utf-8 \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \

View File

@@ -56,11 +56,14 @@ VIM_FOR_INDENTTEST = ../../src/vim
indenttest:
cd runtime/indent && \
$(MAKE) clean && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
$(MAKE) test VIMPROG="$(VIM_FOR_INDENTTEST)"
# Executable used for running the syntax tests.
VIM_FOR_SYNTAXTEST = ../../src/vim
# (For local testing only with GNU Make.)
VIM_SYNTAX_TEST_FILTER =
syntaxtest:
cd runtime/syntax && \
$(MAKE) clean && \
@@ -153,17 +156,17 @@ MINOR = 1
# - > make dossrc
# > make dosrt
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
# This creates the directory vim/vim90 and puts all files in there.
# This creates the directory vim/vim91 and puts all files in there.
# Win32 console version build:
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:
# > cd src
# > msvc2015.bat
# > msvc-latest.bat
# - Build the console binary:
# > nmake -f Make_mvc.mak
# > nmake.exe -f Make_mvc.mak
# - Run the tests and check the output:
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak test
# > nmake.exe -f Make_mvc.mak testclean
# > nmake.exe -f Make_mvc.mak test
# - Rename (using ../tools/rename.bat):
# vim.exe to vimw32.exe
# tee/tee.exe to teew32.exe
@@ -173,10 +176,10 @@ MINOR = 1
# uninstall.exe to uninstallw32.exe
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
# > nmake.exe -f Make_mvc.mak "GUI=yes"
# - Run the tests and check the output:
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# > nmake.exe -f Make_mvc.mak testclean
# > nmake.exe -f Make_mvc.mak testgvim
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move gvim.pdb to here.
# - Copy "GvimExt/gvimext.dll" to here.
@@ -188,8 +191,8 @@ MINOR = 1
# > cd src
# > bigvim.bat
# - Run the tests:
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# > nmake.exe -f Make_mvc.mak testclean
# > nmake.exe -f Make_mvc.mak testgvim
# - check the output.
# - Rename "gvim.exe" to "gvim_ole.exe".
# - Rename gvim.pdb to "gvim_ole.pdb".
@@ -209,13 +212,13 @@ MINOR = 1
# gvimext64.dll in src/GvimExt
# gvimext64.dll can be obtained from:
# https://github.com/vim/vim-win32-installer/releases
# It is part of gvim_9.0.*_x64.zip as vim/vim90/GvimExt/gvimext64.dll.
# It is part of gvim_9.1.*_x64.zip as vim/vim91/GvimExt/gvimext64.dll.
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
# version). Also put winpty32.dll and winpty-agent.exe there.
# - go to ../nsis and do:
# > unzip icons.zip
# > makensis gvim.nsi (takes a few minutes).
# ignore warning for libwinpthread-1.dll
# > nmake.exe -f Make_mvc.mak all
# (takes a few minutes).
# See nsis/README.txt for details.
# - Copy gvim##.exe to the dist directory.
#
# 64 bit builds (these are not in the normal distribution, the 32 bit build
@@ -223,9 +226,9 @@ MINOR = 1
# Like the console and GUI version, but first run vcvars64.bat or
# "..\VC\vcvarsall.bat x86_amd64".
# - Build the console version:
# > nmake -f Make_mvc.mak
# > nmake.exe -f Make_mvc.mak
# - Build the GUI version:
# > nmake -f Make_mvc.mak GUI=yes
# > nmake.exe -f Make_mvc.mak "GUI=yes"
# - Build the OLE version with interfaces:
# > bigvim64.bat
#
@@ -249,9 +252,6 @@ VERSION = $(MAJOR)$(MINOR)
VDOT = $(MAJOR).$(MINOR)
VIMRTDIR = vim$(VERSION)
# Vim used for conversion from "unix" to "dos"
VIM = vim
# How to include Filelist depends on the version of "make" you have.
# If the current choice doesn't work, try the other one.
@@ -266,8 +266,8 @@ dist:
# Clean up some files to avoid they are included.
# Copy README files to the top directory.
prepare:
if test -f runtime/doc/uganda.nsis.txt; then \
rm runtime/doc/uganda.nsis.???; fi
if test -f lang/LICENSE.nsis.txt; then \
rm -f lang/LICENSE*.nsis.txt; fi
for name in $(IN_README_DIR); do \
cp READMEdir/"$$name" .; \
done
@@ -288,10 +288,10 @@ dist/$(COMMENT_RT): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
dist/$(COMMENT_W32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows" > dist/$(COMMENT_W32)
dist/$(COMMENT_GVIM): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows" > dist/$(COMMENT_GVIM)
dist/$(COMMENT_OLE): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
@@ -408,8 +408,7 @@ amisrc: dist prepare
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
# MS-DOS sources
dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
nsis/gvim_version.nsh
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
@@ -420,23 +419,19 @@ dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
$(SRC_DOS_BIN) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.??? \
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
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.???
cd runtime/doc && $(MAKE) uganda.nsis.txt
license:
cd nsis && $(MAKE) -f Makefile $@
nsis/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 "!endif" >> $@
cd nsis && $(MAKE) -f Makefile $(@F)
dosrt: dist dist/$(COMMENT_RT) dosrt_files
-rm -rf dist/vim$(VERSION)rt.zip

View File

@@ -18,7 +18,7 @@ or one of the [Maillists](https://www.vim.org/community.php).
## What is Vim?
Vim is a greatly improved version of the good old UNIX editor
[Vi](https://en.wikipedia.org/wiki/Vi). Many new
[Vi](https://en.wikipedia.org/wiki/Vi_(text_editor)). Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
@@ -55,7 +55,7 @@ an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from [GitHub](https://github.com/vim/vim).
* Get the source code as an [archive](https://github.com/vim/vim/releases).
* Get the source code as an [archive](https://github.com/vim/vim/tags).
* Get a Windows executable from the
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.

View File

@@ -37,7 +37,7 @@ an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from github: https://github.com/vim/vim.
* Get the source code as an archive: https://github.com/vim/vim/releases.
* Get the source code as an archive: https://github.com/vim/vim/tags.
* Get a Windows executable from the vim-win32-installer repository:
https://github.com/vim/vim-win32-installer/releases.

View File

@@ -2,7 +2,7 @@ README_amibin.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim90rt.tgz).
These files are in the runtime archive (vim91rt.tgz).
The Amiga "bin" archive contains the Vim executable for the Amiga. It was

View File

@@ -2,7 +2,7 @@ README_amisrc.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim90rt.tgz).
These files are in the runtime archive (vim91rt.tgz).
The Amiga source archive contains the files needed to compile Vim on the

View File

@@ -2,15 +2,15 @@ README_bindos.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim90rt.zip).
These files are in the runtime archive (vim91rt.zip).
There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
vim91w32.zip Windows 95/98/NT/etc. console version
gvim91.zip Windows 95/98/NT/etc. GUI version
gvim91ole.zip Windows 95/98/NT/etc. GUI version with OLE
vim91w32.zip Windows console version
gvim91.zip Windows GUI version
gvim91ole.zip Windows GUI version with OLE
You MUST also get the runtime archive (vim91rt.zip).
The sources are also available (vim91src.zip).

View File

@@ -120,30 +120,6 @@ Remarks:
entry, you can remove it by running the "uninstall.exe". See
":help win32-popup-menu".
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
DOS and Win32 console versions. For the console version this gives you the
opportunity to set defaults for the Console where Vim runs in.
1. On the desktop, click right to get a menu. Select New/Shortcut.
2. In the dialog, enter Command line: "C:\command.com". Click "Next".
3. Enter any name. Click "Finish".
The new shortcut will appear on the desktop.
4. With the mouse pointer on the new shortcut, click right to get a menu.
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim91\vim.exe
C:\command.com /c D:\editors\vim\vim91\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".
7. Click OK.
For gvim, you can use a normal shortcut on the desktop, and set the size of
the Window in your $VIM/_gvimrc:
set lines=30 columns=90
For further information, type one of these inside Vim:
:help dos
:help win32

View File

@@ -27,7 +27,7 @@ src/gui_w32.* Files for the Win32 GUI.
src/gui_w48.* Files for the Win32 and Win16 GUI.
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
src/if_ole.* OLE automation interface, for MS Windows.
src/GvimExt/* DLL for the "Edit with Vim" context menu entry

View File

@@ -3,7 +3,7 @@ README_ole.txt for version 9.1 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface.
This version of gvim.exe can also load a number of interface dynamically (you
can optionally install the .dll files for each interface).
It is only for MS-Windows 95/98/ME/NT/2000/XP.
It is only for MS-Windows.
Also see the README_bindos.txt, README_dos.txt and README.txt files.

View File

@@ -2,7 +2,7 @@ README_srcdos.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-Windows.
These files are in the runtime archive (vim90rt.zip).
These files are in the runtime archive (vim91rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-Windows.

View File

@@ -1,15 +1,20 @@
@echo off
:: Batch file for building/testing Vim on AppVeyor
set target=%1
set "GETTEXT_PATH=c:\gettext64\bin"
setlocal ENABLEDELAYEDEXPANSION
cd %APPVEYOR_BUILD_FOLDER%
:: Python3
set PYTHON3_VER=311
set PYTHON3_RELEASE=3.11.1
set PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe
set PYTHON3_DIR=C:\python%PYTHON3_VER%-x64
set "PYTHON3_VER=311"
set "PYTHON3_RELEASE=3.11.1"
set "PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe"
set "PYTHON3_DIR=C:\python%PYTHON3_VER%-x64"
:: Gettext-tools, iconv and libraries
set "GETTEXT64_URL=https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip"
set "GETTEXT64_DIR=c:\gettext64"
set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
@@ -43,6 +48,18 @@ if not exist %PYTHON3_DIR% (
AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^
InstallLauncherAllUsers=0
)
:: GETTEXT
if not exist %GETTEXT64_DIR% (
mkdir %GETTEXT64_DIR%
call :downloadfile %GETTEXT64_URL% downloads\gettext64.zip
cmd /c powershell.exe -NoLogo -NoProfile -Command ^
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; ^
[System.IO.Compression.ZipFile]::ExtractToDirectory^('downloads\gettext64.zip', ^
'%GETTEXT64_DIR%'^)
copy /y %GETTEXT64_DIR%\bin\libintl-8.dll C:\projects\vim\src\ || exit 1
copy /y %GETTEXT64_DIR%\bin\libiconv-2.dll C:\projects\vim\src\ || exit 1
)
@echo off
goto :eof
@@ -92,7 +109,7 @@ goto :eof
@echo on
cd src/testdir
:: Testing with MSVC gvim
path %PYTHON3_DIR%;%PATH%
path %PYTHON3_DIR%;%GETTEXT_PATH%;%PATH%
nmake -f Make_mvc.mak VIMPROG=..\gvim
nmake -f Make_mvc.mak clean
:: Testing with MSVC console version

99
lang/LICENSE.it.txt Normal file
View File

@@ -0,0 +1,99 @@
LICENZA VIM
Nota: Agli effetti legali ha valore non la seguente traduzione italiana, ma
l'originale inglese su cui è basata. È alla versione inglese che si fa
riferimento qui sotto quando si parla di "questa licenza" (NdT).
I) Non ci sono restrizioni alla distribuzione di copie non modificate di Vim,
alla condizione che esse includano il testo di questa licenza. Si possono
anche distribuire parti non modificate di Vim, sempre senza restrizioni,
alla condizione che esse includano il testo di questa licenza. È anche
consentito includere programmi eseguibili da voi preparati a partire dai
file sorgenti Vim non modificati, più i vostri esempi di utilizzo e i
vostri script Vim.
II) È consentito distribuire una versione modificata (o estesa) di Vim,
contenente programmi eseguibile e/o codice sorgente, quando siano
rispettare le seguenti quattro condizioni:
1) Il testo di questa licenza deve essere incluso senza modifiche.
2) La versione modificata di Vim dev'essere distribuita in una della
seguenti cinque maniere:
a) Se voi personalmente modificate a Vim, dovete descrivere
chiaramente nella distribuzione come è possibile mettersi in
contatto con voi. Quando il manutentore vi chiede (in qualsiasi
forma) una copia della versione modificata di Vim da voi
distribuita, dovete rendere disponibili le vostre modifiche,
compreso il codice sorgente, al manutentore, senza alcuna spesa.
Il manutentore si riserva il diritto di includere le vostre
modifiche nella versione ufficiale di Vim. Quel che il manutentore
potrà fare con le vostre modifiche e sotto quale licenza esse
verranno distribuite può essere oggetto di negoziazione. Se non c'è
stata alcuna negoziazione, questa licenza, o una versione successiva
della stessa è anche applicabile alle vostre modifiche.
I manutentori correnti sono elencati qui:
https://github.com/orgs/vim/people.
Se dovessero cambiare, ne sarò dato annuncio nei luoghi appropriati
(verosimilmente vim.sf.net, www.vim.org e/o comp.editors). Quando
sia completamente impossibile contattare il manutentore, l'obbligo
di spedirgli le vostre modifiche viene meno. Una volta che il
manutentore abbia confermato di aver ricevuto le vostre modifiche,
non sarà necessario spedirle ulteriormente.
b) Se avete ricevuto un Vim modificato che era stato distribuito come
descritto al punto a) potete ulteriormente distribuirlo senza
modificarlo, come menzionato al punto I). Se fate ulteriori
modifiche, il testo al punto a) si applica a queste modifiche.
c) Includete tutte le modifiche, compreso il codice sorgente, con ogni
copia del Vim modificato da voi distribuito. Questo può essere
fatto sotto forma dell'output di un comando "diff", che contenga
anche il contesto [ossia anche le linee non modificate di sorgente
che vengono prima o dopo le modifiche - NdT]. Potete scegliere
quale licenza volete utilizzare per il nuovo codice sorgente che voi
aggiungere. Le modifiche e la relativa licenza non devono impedire
a terze parti di apportare le loro proprie modifiche a Vim.
d) Quando avete un Vim modificato che comprende modifiche quali quelle
menzionate al punto c), potete distribuirlo senza il codice sorgente
che descrive le modifiche, se le seguenti tre condizioni sono
soddisfatte:
- La licenza applicabile alle modifiche vi consente di distribuire
le modifiche al manutentore Vim senza alcun costo o restrizione, e
permette al manutentore Vim di includere le modifiche nella
versione ufficiale di Vim senza alcun costo o restrizione.
- Le modifiche da voi fatte sono conservate per almeno tre anni,
dopo che avrete distribuito per l'ultima volta il Vim modificato
corrispondente alle modifiche stesse. Quando il manutentore o
qualcuno a cui voi avete distribuito il Vim modificato vi chiede
(in qualsiasi forma) le modifiche, entro il periodo qui indicato,
dovete fargliele avere.
- Dovete descrivere chiaramente nella distribuzione come è possibile
mettersi in contatto con voi. Questa informazione di contatto
deve rimanere valida per almeno tre anni dopo l'ultima data di
distribuzione della corrispondente modifica di Vim, oppure il più
a lungo possibile.
e) Quando al GNU General Public License (GPL) si applica alle
modifiche, potete distribuire il Vim modificato sotto la versione 2
della licenza GNU GPL versione 2 o una qualsiasi versione successiva
della stessa licenza.
3) Un messaggio deve essere aggiunto, almeno all'output del comando
":version" e nella schermata introduttiva, in modo che l'utilizzatore
del Vim modificato sia in grado di comprendere cosa è stato modificato.
Quando si distribuisca come menzionato al punto 2)e) l'aggiunta del
messaggio è richiesta solo se ciò non conduca a conflitti con la
licenza usata per le modifiche.
4) L'informazione di contatto, richiesta ai punto 2)a) e 2)d) non deve
essere rimossa o modificata, tranne che per il fatto che la persona
stessa può apportare delle correzioni.
III) Se distribuite una versione modificata di Vim, siete incoraggiati a
utilizzare la licenza Vim per le vostre modifiche, e a mettere le
modifiche a disposizione del manutentore, compreso il codice sorgente.
Il modo preferito in cui fare questo è tramite e-mail o caricando
i file su un server ed inviandone l'indirizzo (URL) tramite e-mail.
Se il numero di modifiche è piccolo (per esempio, una modifica a un
Makefile) inviare tramite email l'output del comando diff con contesto
può essere sufficiente. L'indirizzo e-mail da utilizzare è
<maintainer@vim.org>
IV) Non è consentito rimuovere questa licenza dalla distribuzione dei codici
sorgente Vim, anche in parte, o da una versione di Vim modificata.
Potete usare questa licenza per precedenti versioni di Vim, invece della
licenza con cui esse sono state distribuite, a vostra scelta.

109
lang/LICENSE.ru.txt Normal file
View File

@@ -0,0 +1,109 @@
ЛИЦЕНЗИЯ VIM
I) Неизменённые копии программы Vim могут распространяться без ограничения
при условии включения данного текста лицензии. Распространение
неизменённых копий отдельных частей программы Vim также возможно
при соблюдении условия о включении данного текста лицензии. Подобным
образом разрешается добавлять исполняемые файлы, скомпилированные
из неизменённого исходного кода программы Vim, а также собственные
примеры использования и командные файлы редактора Vim.
II) Изменённую (или дополненную) версию программы Vim, включающую
исполняемые файлы и/или исходный код, допускается распространять
при соблюдении следующих четырёх условий:
1) Текст настоящей лицензии должен включаться в состав распространяемой
версии программы Vim без изменений.
2) Изменённая версия программы Vim должна распространяться одним
из следующих пяти способов:
a) При внесении изменений в программу Vim, в дистрибутиве должны
быть явно указаны контактные данные лица, внёсшего эти изменения.
Ответственному разработчику по его запросу (в любой форме) должна
быть безвозмездно предоставлена копия распространяемой изменённой
версии программы Vim, включая её исходный код. Ответственный
разработчик оставляет за собой право включать сделанные изменения
в официальную версию программы Vim. Конкретные действия
ответственного разработчика, относительно переданных изменений,
а также лицензионные условия, на основании которых будет
осуществляться их распространение, могут быть дополнительно
согласованы. Если согласование не проводилось, сделанные изменения
будут распространяться на условиях настоящей лицензии или более
поздней её версии. Лица, в данное время являющиеся ответственными
за разработку, указаны в перечне, размещённом по адресу:
https://github.com/orgs/vim/people. В случае изменения этой
информации, актуальные данные будут опубликованы на
соответствующих ресурсах (вероятнее всего по интернет‐адресам
vim.sf.net, www.vim.org и/или comp.editors). В случае полной
невозможности установить контакт с ответственным разработчиком,
обязательства по отправке изменений утрачивают силу. После
передачи подтверждения о получении изменений от ответственного
разработчика, необходимость в повторной отправке копии изменённой
программы Vim неприменима.
b) Если лицом получена изменённая версия программа Vim,
распространяющаяся на условиях, указанных в ч. II) п. 2) пп. а)
допускается дальнейшее её распространение этим лицом без внесения
изменений и согласно ч. I) настоящей лицензии. В случае внесения
дополнительных изменений, на эти изменения будут распространяться
условия, указанные в ч. II) п. 2) пп. a).
c) Каждая копия распространяемой изменённой версии программы Vim
должна включать информацию обо всех произведённых изменениях,
включая исходный код. Эта информация может быть представлена
в виде построчного сравнения файлов. Выбор лицензии, по условиям
которой будет распространяться добавленный код, остаётся
за автором этих изменений. Изменения и лицензия на эти изменения
не должны запрещать другим лицам внесение своих собственных
изменений в официальную версию программы Vim.
d) Изменённая версия программы Vim, содержащая изменения в
соответствии с ч. II) п. 2 пп. c), может распространяться без
исходного кода для этих изменений, при соблюдении следующих трёх
условий:
- Лицензия, применяемая к внесённым изменениям, предоставляет
ответственному разработчику программы Vim возможность
безвозмездного и неограниченного распространения этих изменений,
а также право на безвозмездное и неограниченное включение этих
изменений в официальную версию программы Vim.
- Изменения должны сохраняться не менее трёх лет со времени
распространения соответствующей изменённой версии программы Vim.
В течение этого периода по запросу ответственного разработчика
или другого пользователя изменённой версии программы Vim
(в любой форме) необходимо предоставить исходный код данных
изменений.
- В дистрибутиве изменённой версии программы Vim должны быть явно
указаны контактные данные лица, внёсшего эти изменения.
Контактные данные должны сохранять актуальность в течение
не менее трёх лет со времени последнего распространения
соответствующей изменённой версии программы Vim или как можно
дольше.
e) Если к изменениям, внесённым в программу Vim, применимы условия
лицензии GNU General Public License (GNU GPL), допускается
распространение изменённой версия программы Vim на условиях
лицензии GNU GPL версии 2 или любой более поздней версии этой
лицензии.
3) Необходимо добавить соответствующую информацию, которая должна быть
выведена в результате выполнения команды ":version" в программе Vim,
а также на экране приветствия программы Vim, чтобы пользователь
изменённой версии программы Vim имел возможность определить,
что он пользуется изменённой версией. При распространении
на условиях, указанных в ч. II) п. 2) пп. e) такую информацию
требуется добавлять только в том случае, когда она не противоречит
лицензии, распространяющейся на эти изменения.
4) Контактная информация, которая указывается по требованию ч. II) п. 2)
пп. a) и ч. II) п. 2) пп. d) не должна удаляться или изменяться никем
другим, кроме лица, указавшего данную контактную информацию.
III) При распространении изменённой версии программы Vim рекомендуется
пользоваться лицензией Vim для произведённых изменений и обеспечить
доступ к этим изменениям ответственного разработчика, включая исходный
код изменений. Предпочтительным способом предоставления доступа
к произведённым изменениям является отправка этих изменений через
электронную почту или размещение файлов на сервер с отправкой
URL-адреса по электронной почте. Если количество изменений
незначительно (например, изменения в файле Makefile), достаточно будет
отправить через электронную почту файл построчного сравнения. Изменения
или URL-адреса должны быть направлены на адрес электронной почты
maintainer@vim.org
IV) Не допускается удаление настоящей лицензия из дистрибутива исходного
кода программы Vim, его отдельных частей или изменённой версии.
Допускается использование настоящей лицензию для предыдущих
изменённых выпусков программы Vim, взамен тех лицензий, с которыми
они распространялись.

167
lang/README.it.txt Normal file
View File

@@ -0,0 +1,167 @@
README.txt per la versione 9.1 di Vim: VI Migliorato.
COS'È VIM?
Vim è una versione migliorata del classico programma di videoscrittura UNIX
Vi. Molte nuove funzionalità sono state aggiunte: la possibilità di avere
multipli annullamenti di comando, l'evidenziazione sintattica, una storia dei
comandi immessi, file di aiuto facilmente consultabili, controlli ortografici,
completamento di nomi di file, operazioni su blocchi di dati, un linguaggio di
script, etc. È anche disponibile una versione grafica (GUI). Tuttavia è
possibile lavorare come se si stesse usando il Vi "classico". Chi avesse Vi
"sulle dita" si troverà a suo agio. Vedere il file "runtime/doc/vi_diff.txt"
[in inglese] per dettagli sulle differenze di Vim rispetto a Vi.
Questo editor è molto utile per modificare programmi e altri file di testo.
Tutti i comandi sono immessi usando i tasti presenti sulla tastiera, in modo
che chi è in grado di digitare usando tutte e dieci le dita può lavorare molto
velocemente. Inoltre, i tasti funzione possono essere mappati per inserire
comandi dell'utente, ed è possibile usare il mouse.
Vim è disponibile in ambiente MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS e
in quasi tutte le varianti di Unix. L'adattamento a nuovi sistemi operativi
non dovrebbe essere molto difficile.
Precedenti versioni di Vim funzionano in ambiente MS-DOS, MS-Windows
95/98/Me/NT/2000/XP/Vista, Amiga DOS, Atari MiNT, BeOS, RISC OS e OS/2.
Tali versioni non sono più supportate.
DISTRIBUZIONE
Spesso è possibile usare il vostro Gestore applicazioni preferito per
installare Vim. Negli ambienti Mac e Linux una versione base di Vim è inclusa
nel sistema operativo, ma può ancora essere necessario installare Vim se si
desiderano funzionalità ulteriori.
Ci sono distribuzioni separate di Vim per gli ambienti Unix, PC, Amiga e per
qualche altro sistema operativo. Questo file README.txt è contenuto nelle
directory che contengono i file usati da Vim in fase di esecuzione. Nelle
stesse directory sono presente la documentazione, i file usati per
l'evidenziazione sintattica e altri file usati da Vim in fase di esecuzione.
Per installare Vim occorre ottenere un archivio che contiene solo i file
eseguibili, o un archivio che permette di compilare Vim a partire dai file
sorgente. Quale alternativa preferire dipende dal sistema su cui si vuole
usare Vim, e dal preferire (o meno) di compilarlo direttamente a partire dai
file sorgente. Consultate "https://www.vim.org/download.php" per una
panoramica delle distribuzioni correntemente disponibili.
Alcuni siti da cui ottenere l'ultima versione di Vim:
* Consultare la repository git in github: https://github.com/vim/vim.
* Procurarsi il codice sorgente come archivio https://github.com/vim/vim/tags.
* Ottenere un file per installare Vim in ambiente Windows dalla repository
vim-win32-installer:
https://github.com/vim/vim-win32-installer/releases.
COMPILARE VIM
Se si è ottenuta una distribuzione di file eseguibili di Vim non è necessario
compilarlo. Se si è ottenuta una distribuzione di file sorgente, tutto ciò
che serve per compilare Vim è nella directory "src". Vedere src/INSTALL per
come procedere.
INSTALLAZIONE
Vedere uno dei file elencati più sotto per istruzioni riguardo a uno specifico
sistema operativo. Tali file sono (nella repository git) nella directory
READMEdir oppure nella directory principale se si scompatta un archivio:
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS e MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
Esistono altri file README_*.txt, a seconda della distribuzione in uso.
DOCUMENTAZIONE
Esiste un corso di introduzione a Vim per principianti, della durata di circa
un'ora. Normalmente si può accedervi tramite il comando "vimtutor". Vedere
":help tutor" per ulteriori informazioni.
Ma la cosa migliore è usare la documentazione disponibile in una sessione di
Vim, tramite il comando ":help". Se ancora non si ha a disposizione Vim, si
può leggere il file "runtime/doc/help.txt". Questo file contiene puntatori
agli altri file che costituiscono la documentazione.
All'interno della documentazione esiste anche uno User Manual (manuale utente)
che si legge come un libro ed è raccomandato per imparare a usare Vim.
Vedere ":help user-manual". Il manuale utente è stato interamente tradotto in
italiano, ed è disponibile, vedere:
https://www.vim.org/translations.php
COPIE
Vim è un Charityware (ossia eventuali offerte per il suo utilizzo vanno a
un'attività caritativa). Vim può essere usato e copiato liberamente, senza
limitazioni, ma è incoraggiata un'offerta a favore di orfani ugandesi. Si
prega di leggere il file "runtime/doc/uganda.txt" per dettagli su come fare
(il file si può visualizzare digitando ":help uganda" all'interno di Vim).
Sommario della licenza: Non ci sono restrizioni nell'uso e nella distribuzione
di una copia non modificata di Vim. Parti di Vim possono anche essere
distribuite, ma il testo della licenza va sempre incluso. Per versioni
modificate di Vim, valgono alcune limitazioni. La licenza di Vim è
compatibile con la licenza GPL, è possibile compilare Vim utilizzando librerie
con licenza GPL e distribuirlo.
SPONSORIZZAZIONI
Correggere errori e aggiungere nuove funzionalità richiede tempo e fatica.
Per mostrare la vostra stima per quest'attività e per fornire motivazioni
agli sviluppatori perché continuino a lavorare su Vim, siete invitati a
fare una donazione.
Le somme donate saranno usate principalmente per aiutare dei bambini in
Uganda. Vedere "runtime/doc/uganda.txt". Allo stesso tempo, le donazioni
aumentano la motivazione del gruppo di sviluppo a continuare a lavorare su
Vim!
Informazioni più aggiornate sulla sponsorizzazione, possono essere trovate
sul sito Internet di Vim:
https://www.vim.org/sponsor/
CONTRIBUIRE
Chi vuole contribuire a rendere Vim ancora migliore, può consultare
il file CONTRIBUTING.md (in inglese).
INFORMAZIONE
Se il vostro sistema operativo è macOS, potete usare MacVim:
https://macvim.org
Le ultime notizie riguardo a Vim si possono trovare sulla pagina Internet di
Vim:
https://www.vim.org/
Se avete problemi, è possibile consultare la documentazione Vim e i
suggerimenti su come utilizzarlo:
https://www.vim.org/docs.php
https://vim.fandom.com/wiki/Vim_Tips_Wiki
Se avete ancora problemi o qualsiasi altra richiesta, è possibile usare una
delle mailing list per discuterne con utenti e sviluppatori di Vim:
https://www.vim.org/maillist.php
Se nient'altro funziona, potete riferire direttamente i problemi incontrati
alla mailing list degli sviluppatori, vim-dev:
<vim-dev@vim.org>
AUTORE PRINCIPALE
La maggior parte di Vim è stata creata da Bram Moolenaar <Bram@vim.org>,
vedere ":help Bram-Moolenaar"
Spedire tutti gli altri commenti, modifiche al codice sorgente, fiori e
suggerimenti alla mailing list vim-dev:
<vim-dev@vim.org>

View File

@@ -1,4 +1,4 @@
README.rux.txt для версии 9.1 программы Vim — Vi IMproved.
README.ru.txt для версии 9.1 программы Vim — Vi IMproved.
ЧТО ТАКОЕ РЕДАКТОР VIM?
@@ -48,7 +48,7 @@ MS Windows 95/98/Me/NT/2000/XP/Vista, AmigaDOS, Atari MiNT, BeOS и RISC OS.
Несколько полезных мест, где можно получить последнюю версию редактора Vim:
* Посмотрите в git-хранилище на GitHub: https://github.com/vim/vim.
* Получить исходный код в виде архива: https://github.com/vim/vim/releases.
* Получить исходный код в виде архива: https://github.com/vim/vim/tags.
* Получить исполняемый файл для ОС Windows из хранилища vim-win32-installer:
https://github.com/vim/vim-win32-installer/releases.

134
nsis/Make_mvc.mak Normal file
View File

@@ -0,0 +1,134 @@
#
# Makefile for MS Windows for create self-installing exe of Vim.
# 05/04/2024, Restorer restorer@mail2k.ru
#
#!INCLUDE .\Make_all.mak
.SUFFIXES :
!IFDEF PROGRAMW6432
ProgFiles=%%PROGRAMFILES(x86)%%
!ELSE
ProgFiles=$(PROGRAMFILES)
!ENDIF
!IFDEF VIMSRC
MKNSISFLAGS = /D"VIMSRC=$(VIMSRC)"
!ENDIF
!IFDEF VIMRT
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMRT=$(VIMRT)"
!ENDIF
!IFDEF VIMTOOLS
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMTOOLS=$(VIMTOOLS)"
!ENDIF
!IFDEF GETTEXT
MKNSISFLAGS = $(MKNSISFLAGS) /D"GETTEXT=$(GETTEXT)"
!ENDIF
!IFDEF HAVE_UPX
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_UPX=$(HAVE_UPX)
!ENDIF
!IFDEF HAVE_NLS
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_NLS=$(HAVE_NLS)
!ENDIF
!IFDEF HAVE_MULTI_LANG
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
!ENDIF
!IFDEF WIN64
MKNSISFLAGS = $(MKNSISFLAGS) /DWIN64=$(WIN64)
!ENDIF
!IFDEF INCLUDE_LIBGCC
MKNSISFLAGS = $(MKNSISFLAGS) /DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
!ENDIF
!IFDEF X
XX = /X"$(X:;=" /X")"
!ENDIF
# If necessary, correct the full path of the NSIS compiler in the next line.
# Please do not enclose the path in quotation marks.
MKNSIS = $(ProgFiles)\NSIS
PS = powershell.exe
RM = del /f /q
RD = rmdir /s /q
MKNSISFLAGS = /INPUTCHARSET UTF8 $(MKNSISFLAGS)
PSFLAGS = -NoLogo -NoProfile -Command
# Read MAJOR and MINOR from version.h.
!IF ![for /F "tokens=2,3" %G in ( \
'findstr /rc:"VIM_VERSION_MINOR[ ^]*[0-9^]" \
/rc:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') do \
@if "VIM_VERSION_MAJOR"=="%G" (echo MAJOR=%H>>_ver.tmp) \
else echo MINOR=%H>>_ver.tmp]
! INCLUDE .\_ver.tmp
! IF [$(RM) .\_ver.tmp]
! ENDIF
!ENDIF
# Read PATCHLEVEL from version.c
!IF ![for /F %G in ( \
'findstr /nblc:"static int included_patches[^]" ..\src\version.c \
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
@cmd /q /c "for /F "skip=%G delims=, " %H in (..\src\version.c) do \
(echo PATCH=%H>_patchlvl.tmp & exit /b)"]
! INCLUDE .\_patchlvl.tmp
! IF [$(RM) .\_patchlvl.tmp]
! ENDIF
!ENDIF
!IF $(PATCH) < 10
PATCH = 000$(PATCH)
!ELSEIF $(PATCH) < 100
PATCH = 00$(PATCH)
!ELSEIF $(PATCH) < 1000
PATCH = 0$(PATCH)
!ENDIF
all : makeinst
makeinst : prepare
^"$(MKNSIS)\makensis.exe" $(MKNSISFLAGS) gvim.nsi $(XX)
prepare : unzipicons gvim_version.nsh 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 $(PATCH)
@ 1>> $@ echo:^!endif
license : ..\lang\LICENSE.*.txt ..\LICENSE
!@ $(PS) $(PSFLAGS) \
Get-Content -Path '$**' -Encoding UTF8 ^| \
Set-Content -Path '..\lang\$(**B).nsis.txt' -Enc Unicode -Force
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
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:

95
nsis/Makefile Normal file
View File

@@ -0,0 +1,95 @@
#
# Makefile for UNIX-like for create self-installing exe of Vim.
# 15/12/2024, Restorer restorer@mail2k.ru
#
.SUFFIXES:
.PHONY: all makeinst prepare rename clean
ifdef VIMSRC
MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)"
endif
ifdef VIMRT
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)"
endif
ifdef VIMTOOLS
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)"
endif
ifdef GETTEXT
MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)"
endif
ifdef HAVE_UPX
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX)
endif
ifdef HAVE_NLS
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS)
endif
ifdef HAVE_MULTI_LANG
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
endif
ifdef WIN64
MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64)
endif
ifdef INCLUDE_LIBGCC
MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
endif
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
makeinst: prepare
makensis $(MKNSISFLAGS) gvim.nsi $(XX)
prepare: unzipicons gvim_version.nsh 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` ; \
awk 'sub("$$", "\r")' < $$lic | \
iconv -f UTF-8 -t UTF-16 > ../lang/$$bn.nsis.txt ; \
done
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
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:

View File

@@ -3,22 +3,15 @@ Installation System (NSIS), available at http://nsis.sourceforge.net/
To build the installable .exe file:
1. Unpack three archives:
PC sources
PC runtime
PC language files
You can generate these from the Unix sources and runtime plus the extra
archive (see the Makefile in the top directory).
Preparatory stage
2. Go to the src directory and build:
gvim.exe (the OLE version),
vimrun.exe,
install.exe,
uninstall.exe,
tee/tee.exe,
xxd/xxd.exe
1. Clone using the git tool the Vim repository or download its zip file
available at:
https://github.com/vim/vim
Then execute tools/rename.bat to rename the executables.
2. Go to the "/src" directory and build the Vim editor, making sure to use the
following variable values: "GUI=yes"; "OLE=yes"; "VIMDLL=yes". See
INSTALLpc.txt and Make_mvc.mak for details.
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
archive). Both 64- and 32-bit versions are needed and should be placed
@@ -32,8 +25,8 @@ To build the installable .exe file:
https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
When will you have "diff.exe" put it in the "../.." directory (above the
"vim91" directory, it's the same for all Vim versions). However, you can
specify another directory by passing /DVIMTOOLS=<dir> option to the
"makensis.exe" program via the command line.
specify a different directory by specifying the appropriate makefile value.
How to do this is described below.
5. For the terminal window to work in Vim, the library winpty is required.
You can get it at the following url:
@@ -41,8 +34,8 @@ To build the installable .exe file:
For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
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 another directory by passing
/DVIMTOOLS=<dir> option to the "makensis.exe" program via the command line.
directory). However, you can specify a different directory by specifying
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
@@ -52,12 +45,7 @@ To build the installable .exe file:
"../.." directory (above the "vim91" directory, where "diff.exe" and
"winpty{32|64}.dll").
7. On MS Windows do "nmake.exe -f Make_mvc.mak uganda.nsis.txt" in runtime/doc.
On Unix-like system do "make runtime/doc/uganda.nsis.txt" in top directory
or "make uganda.nsis.txt" in runtime/doc. The created files
"uganda.nsis.???" will be automatically converted to DOS file format.
8. Get gettext and iconv DLLs from the following site:
7. Get gettext and iconv DLLs from the following site:
https://github.com/mlocati/gettext-iconv-windows/releases
Both 64- and 32-bit versions are needed.
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
@@ -74,35 +62,47 @@ To build the installable .exe file:
libintl-8.dll
libiconv-2.dll
The default <GETTEXT directory> is "..", however, you can specify another
directory by passing /DGETTEXT=<dir> option to "makensis.exe" program via
the command line.
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.
Install NSIS if you didn't do that already.
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
8. Install NSIS if you didn't do that already.
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
https://nsis.sourceforge.io/ShellExecAsUser_plug-in
and put ShellExecAsUser.dll to path\to\NSIS\Plugins\x86-unicode
and put "ShellExecAsUser.dll" to path\to\NSIS\Plugins\x86-unicode
Installer assembly stage
Unpack the images:
cd nsis
unzip icons.zip or 7z x icons.zip (on Unix-like or MS Windows)
WinRar.exe x icons.zip (on MS Windows)
On MS Windows, open the Developer Command Prompt for VS and go to the
"/nsis" directory and type the command
nmake.exe -lf Make_mvc.mak [variables] all
Then build gvim.exe:
cd nsis
makensis.exe [options] gvim.nsi
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
Options (not mandatory):
/DVIMSRC=<dir> — directory where location of gvim_ole.exe, vimw32.exe,
After the installer is created and you copy it to the desired location, run
the following command in the "/nsis" directory
make -f Makefile clean
Variables and their values available for building the installer (not mandatory):
"VIMSRC=<dir>" — directory where location of gvim_ole.exe, vimw32.exe,
GvimExt/*, etc.
/DVIMRT=<dir> — directory where location of runtime files
/DVIMTOOLS=<dir> — directory where location of extra tools: diff.exe,
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll
/DGETTEXT=<dir> — directory where location of gettext libraries
/DHAVE_UPX=1 — additional compression of the installer. UPX program
"VIMRT=<dir>" — directory where location of runtime files.
"VIMTOOLS=<dir>" — directory where location of extra tools: diff.exe,
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll.
"GETTEXT=<dir>" — directory where location of gettext libraries.
"HAVE_UPX=1" — additional compression of the installer. UPX program
must be installed.
/DHAVE_NLS=0 — do not add native language support
/DHAVE_MULTI_LANG=0 — to create an English-only the installer
/DWIN64=1 — to create a 64-bit the installer
"HAVE_NLS=0" — do not add native language support.
"HAVE_MULTI_LANG=0" — to create an English-only the installer.
"WIN64=1" — to create a 64-bit the installer.
"X=<scriptcmd>" — executes scriptcmd in script. If multiple scriptcmd
are specified, they are separated by a semicolon.
Example "X=OutFile MyVim.exe;XPMode on"
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is
located.

View File

@@ -1,6 +1,6 @@
# NSIS file to create a self-installing exe for Vim.
# It requires NSIS version 3.0 or later.
# Last Change: 2024 Mar 20
# Last Change: 2025 Jan 05
Unicode true
@@ -14,19 +14,19 @@ Unicode true
# Location of runtime files
!ifndef VIMRT
!define VIMRT ".."
!define VIMRT "..\runtime"
!endif
# Location of extra tools: diff.exe, winpty{32|64}.dll, winpty-agent.exe, etc.
!ifndef VIMTOOLS
!define VIMTOOLS ..\..
!define VIMTOOLS "..\.."
!endif
# Location of gettext.
# It must contain two directories: gettext32 and gettext64.
# See README.txt for detail.
!ifndef GETTEXT
!define GETTEXT ${VIMRT}
!define GETTEXT ${VIMTOOLS}
!endif
# If you have UPX, use the switch /DHAVE_UPX=1 on the command line makensis.exe.
@@ -53,6 +53,12 @@ Unicode true
!define WIN64 0
!endif
# if you don't want to include libgcc_s_sjlj-1.dll in the package, use the
# switch /DINCLUDE_LIBGCC=0 on the command line makensis.exe.
!ifndef INCLUDE_LIBGCC
!define INCLUDE_LIBGCC 1
!endif
!include gvim_version.nsh # for version number
# Definition of Patch for Vim.
@@ -68,6 +74,8 @@ Unicode true
!include "nsDialogs.nsh"
!include "Sections.nsh"
!include "x64.nsh"
!include "StrFunc.nsh"
${StrRep}
# See https://nsis.sourceforge.io/LogicLib
;FileExists is already part of LogicLib, but returns true for directories
@@ -240,6 +248,9 @@ Var vim_nsd_mouse
Var vim_compat_stat
Var vim_keymap_stat
Var vim_mouse_stat
!if ${HAVE_NLS}
Var lng_usr
!endif
# Reserve files
@@ -417,6 +428,7 @@ Section "$(str_section_exe)" id_section_exe
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
File ..\vimtutor.bat
File ..\README.txt
File /oname=LICENSE.txt ..\LICENSE
File ..\uninstall.txt
File ${VIMRT}\*.vim
@@ -615,110 +627,23 @@ SectionGroupEnd
Section "$(str_section_nls)" id_section_nls
SectionIn 1 3
#; FIXME: When adding new translations, do not forget to make changes here.
SetOutPath $0
!if /FileExists ..\README.dax.txt
${If} $Language = ${LANG_DANISH}
File ..\README.dax.txt
${EndIf}
SetOutPath $INSTDIR
!if /FileExists "..\lang\README.*.txt"
File ..\lang\README.*.txt
CopyFiles /SILENT /FILESONLY $INSTDIR\README.$lng_usr.txt \
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\README.$lng_usr.txt
Delete $INSTDIR\README.*.txt
!endif
!if /FileExists ..\README.nlx.txt
${If} $Language = ${LANG_DUTCH}
File ..\README.nlx.txt
${EndIf}
!if /FileExists "..\lang\LICENSE.??.txt"
File ..\lang\LICENSE.??.txt
!if /FileExists "..\lang\LICENSE.??_??.txt"
File ..\lang\LICENSE.??_??.txt
!endif
!if /FileExists ..\README.dex.txt
${If} $Language = ${LANG_GERMAN}
File ..\README.dex.txt
${EndIf}
!endif
!if /FileExists ..\README.itx.txt
${If} $Language = ${LANG_ITALIAN}
File ..\README.itx.txt
${EndIf}
!endif
!if /FileExists ..\README.jax.txt
${If} $Language = ${LANG_JAPANESE}
File ..\README.jax.txt
${EndIf}
!endif
!if /FileExists ..\README.rux.txt
${If} $Language = ${LANG_RUSSIAN}
File ..\README.rux.txt
${EndIf}
!endif
!if /FileExists ..\README.srx.txt
${If} $Language = ${LANG_SERBIAN}
File ..\README.srx.txt
${EndIf}
!endif
!if /FileExists ..\README.cnx.txt
${If} $Language = ${LANG_SIMPCHINESE}
File ..\README.cnx.txt
${EndIf}
!endif
!if /FileExists ..\README.twx.txt
${If} $Language = ${LANG_TRADCHINESE}
File ..\README.twx.txt
${EndIf}
!endif
!if /FileExists ..\README.trx.txt
${OrIf} $Language = ${LANG_TURKISH}
File ..\README.trx.txt
${EndIf}
!endif
#; FIXME: When adding new translations, do not forget to make changes here.
SetOutPath $0\doc
!if /FileExists "${VIMRT}\doc\uganda.dax"
${If} $Language = ${LANG_DANISH}
File ${VIMRT}\doc\uganda.dax
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.nlx"
${If} $Language = ${LANG_DUTCH}
File ${VIMRT}\doc\uganda.nlx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.dex"
${If} $Language = ${LANG_GERMAN}
File ${VIMRT}\doc\uganda.dex
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.itx"
${If} $Language = ${LANG_ITALIAN}
File ${VIMRT}\doc\uganda.itx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.jax"
${If} $Language = ${LANG_JAPANESE}
File ${VIMRT}\doc\uganda.jax
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.rux"
${If} $Language = ${LANG_RUSSIAN}
File ${VIMRT}\doc\uganda.rux
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.srx"
${If} $Language = ${LANG_SERBIAN}
File ${VIMRT}\doc\uganda.srx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.cnx"
${If} $Language = ${LANG_SIMPCHINESE}
File ${VIMRT}\doc\uganda.cnx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.twx"
${If} $Language = ${LANG_TRADCHINESE}
File ${VIMRT}\doc\uganda.twx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.trx"
${If} $Language = ${LANG_TURKISH}
File ${VIMRT}\doc\uganda.trx
${EndIf}
CopyFiles /SILENT /FILESONLY $INSTDIR\LICENSE.$lng_usr.txt \
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\LICENSE.$lng_usr.txt
Delete $INSTDIR\LICENSE.*.txt
!endif
SetOutPath $0\lang
File /r /x Makefile ${VIMRT}\lang\*.*
SetOutPath $0
@@ -728,12 +653,14 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libiconv-2.dll" \
"$0\libiconv-2.dll" "$0"
# Install libgcc_s_sjlj-1.dll only if it is needed.
# !if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
# !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
# "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
# "$0\libgcc_s_sjlj-1.dll" "$0"
# !endif
!if ${INCLUDE_LIBGCC}
!if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
"$0\libgcc_s_sjlj-1.dll" "$0"
!endif
!endif
${If} ${SectionIsSelected} ${id_section_editwith}
${If} ${RunningX64}
@@ -759,12 +686,14 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libiconv-2.dll" \
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
# Install libgcc_s_sjlj-1.dll only if it is needed.
# !if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
# !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
# "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
# "$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
# !endif
!if ${INCLUDE_LIBGCC}
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
!endif
!endif
${EndIf}
SectionEnd
!endif
@@ -873,6 +802,20 @@ Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
!endif
!if ${HAVE_NLS}
ClearErrors
System::Call 'kernel32::GetUserDefaultLocaleName(t.r19, *i${NSIS_MAX_STRLEN})'
StrCmp $R9 "zh-cn" coincide 0
StrCmp $R9 "zh-tw" 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:
!endif
${If} $INSTDIR == ${DEFAULT_INSTDIR}
# Check $VIM
ReadEnvStr $3 "VIM"

View File

@@ -3,4 +3,5 @@
!define __GVIM_VER__NSH__
!define VER_MAJOR 9
!define VER_MINOR 1
!define PATCHLEVEL 0
!endif

View File

@@ -18,17 +18,17 @@ allowable length of strings. For example:
drop-down lists on the .vimrc page - 55 characters.
Characters in this case mean characters of the English alphabet.
If you do not yet have a translated "uganda.txt" file and a main "README.txt"
If you do not yet have a translated "LICENSE" file and/or a main "README.txt"
file, set the following values:
for the license file
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
for the readme.txt file
LangString vim_readme_file 0 "README.txt"
Once you have the translations of these files, then set the values for these
variables similarly to what is done in the other translation files.
Also add the appropriate entries to the "gvim.nsi" file as done for other
languages.
Translation files should be located in the "lang" subdirectory of the root
directory. The name of the files is as follows: "README.xx.txt", where xx is the
language code according to ISO639.

View File

@@ -19,15 +19,15 @@ LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_DANISH} "${VIMRT}\doc\uganda.nsis.dax"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_DANISH} "..\lang\LICENSE.da.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_DANISH} "README.dax.txt"
#LangString vim_readme_file ${LANG_DANISH} "README.da.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_DUTCH} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_DUTCH} "${VIMRT}\doc\uganda.nsis.nlx"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_DUTCH} "..\lang\LICENSE.nl.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_DUTCH} "README.nlx.txt"
#LangString vim_readme_file ${LANG_DUTCH} "README.nl.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -21,7 +21,7 @@ LangString ^UninstallCaption ${LANG_ENGLISH} \
# License file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file ${LANG_ENGLISH} "${VIMRT}\doc\uganda.nsis.txt"
LicenseLangString page_lic_file ${LANG_ENGLISH} "..\lang\LICENSE.nsis.txt"
##############################################################################
# README.txt file, which is opened after installation {{{1

View File

@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_GERMAN} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_GERMAN} "${VIMRT}\doc\uganda.nsis.dex"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_GERMAN} "..\lang\LICENSE.de.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_GERMAN} "README.dex.txt"
#LangString vim_readme_file ${LANG_GERMAN} "README.de.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_GREEK} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_GREEK} "${VIMRT}\doc\uganda.nsis.elx"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_GREEK} "..\lang\LICENSE.el.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_GREEK} "README.elx.txt"
#LangString vim_readme_file ${LANG_GREEK} "README.el.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -21,15 +21,13 @@ LangString ^UninstallCaption ${LANG_ITALIAN} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_ITALIAN} "${VIMRT}\doc\uganda.nsis.itx"
LicenseLangString page_lic_file ${LANG_ITALIAN} "..\lang\LICENSE.it.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_ITALIAN} "README.itx.txt"
LangString vim_readme_file ${LANG_ITALIAN} "README.it.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -31,15 +31,15 @@ LangString ^InstallBtn ${LANG_JAPANESE} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_JAPANESE} "${VIMRT}\doc\uganda.nsis.jax"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_JAPANESE} "..\lang\LICENSE.ja.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_JAPANESE} "README.jax.txt"
#LangString vim_readme_file ${LANG_JAPANESE} "README.ja.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -21,13 +21,13 @@ LangString ^UninstallCaption ${LANG_RUSSIAN} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file ${LANG_RUSSIAN} "${VIMRT}\doc\uganda.nsis.rux"
LicenseLangString page_lic_file ${LANG_RUSSIAN} "..\lang\LICENSE.ru.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file ${LANG_RUSSIAN} "README.rux.txt"
LangString vim_readme_file ${LANG_RUSSIAN} "README.ru.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -21,15 +21,15 @@ LangString ^UninstallCaption ${LANG_SERBIAN} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_SERBIAN} "${VIMRT}\doc\uganda.nsis.srx"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_SERBIAN} "..\lang\LICENSE.sr.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_SERBIAN} "README.srx.txt"
#LangString vim_readme_file ${LANG_SERBIAN} "README.sr.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

@@ -22,16 +22,16 @@ LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
# "${VIMRT}\doc\uganda.nsis.cnx"
# "..\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.cnx.txt"
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.zh_cn.txt"
##############################################################################
# MUI Configuration Strings {{{1

View File

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

View File

@@ -20,15 +20,15 @@ LangString ^UninstallCaption ${LANG_TURKISH} \
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_TURKISH} "${VIMRT}\doc\uganda.nsis.trx"
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
#LicenseLangString page_lic_file ${LANG_TURKISH} "..\lang\LICENSE.tr.nsis.txt"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_TURKISH} "README.trx.txt"
#LangString vim_readme_file ${LANG_TURKISH} "README.tr.txt"
##############################################################################

View File

@@ -3,7 +3,7 @@ vim9script noclear
# Vim completion script
# Language: C
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2023 Aug 10
# Last Change: 2024 Jun 06
# Rewritten in Vim9 script by github user lacygoill
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
@@ -210,7 +210,7 @@ export def Complete(findstart: bool, abase: string): any # {{{1
# Find the variable in the tags file(s)
var diclist: list<dict<any>> = taglist('^' .. items[0] .. '$')
# Remove members, these can't appear without something in front.
->filter((_, v: dict<string>): bool =>
->filter((_, v: dict<any>): bool =>
v->has_key('kind') ? v.kind != 'm' : true)
res = []

View File

@@ -3,12 +3,14 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2024 Feb 18
# Last Change: 2025 Jan 25
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
# These functions are moved here from runtime/filetype.vim to make startup
# faster.
var prolog_pattern = '^\s*\(:-\|%\+\(\s\|$\)\|\/\*\)\|\.\s*$'
export def Check_inp()
if getline(1) =~ '%%'
setf tex
@@ -30,6 +32,10 @@ enddef
# This function checks for the kind of assembly that is wanted by the user, or
# can be detected from the first five lines of the file.
export def FTasm()
# tiasm uses `* commment`
if join(getline(1, 10), "\n") =~ '\%(\%(^\|\n\)\*\|Texas Instruments Incorporated\)'
setf tiasm
endif
# make sure b:asmsyntax exists
if !exists("b:asmsyntax")
b:asmsyntax = ""
@@ -142,6 +148,14 @@ export def FTcfg()
endif
enddef
export def FTcl()
if join(getline(1, 4), '') =~ '/\*'
setf opencl
else
setf lisp
endif
enddef
export def FTcls()
if exists("g:filetype_cls")
exe "setf " .. g:filetype_cls
@@ -167,6 +181,14 @@ export def FTcls()
endif
enddef
export def FTll()
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
setf llvm
else
setf lifelines
endif
enddef
export def FTlpc()
if exists("g:lpc_syntax_for_c")
var lnum = 1
@@ -376,18 +398,64 @@ export def FTfs()
endif
enddef
# Distinguish between HTML, XHTML and Django
# Recursively search for Hare source files in a directory and any
# subdirectories, up to a given depth.
def IsHareModule(dir: string, depth: number): bool
if depth <= 0
return !empty(glob(dir .. '/*.ha'))
endif
return reduce(sort(glob(dir .. '/*', true, true),
(a, b) => isdirectory(a) - isdirectory(b)),
(acc, n) => acc
|| n =~ '\.ha$'
|| isdirectory(n)
&& IsHareModule(n, depth - 1),
false)
enddef
# Determine if a README file exists within a Hare module and should be given the
# Haredoc filetype.
export def FTharedoc()
if exists('g:filetype_haredoc')
if IsHareModule('<afile>:h', get(g:, 'haredoc_search_depth', 1))
setf haredoc
endif
endif
enddef
# Distinguish between HTML, XHTML, Django and Angular
export def FThtml()
var n = 1
while n < 10 && n <= line("$")
# Test if the filename follows the Angular component template convention
# Disabled for the reasons mentioned here: #13594
# if expand('%:t') =~ '^.*\.component\.html$'
# setf htmlangular
# return
# endif
while n < 40 && n <= line("$")
# Check for Angular
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content'
setf htmlangular
return
endif
# Check for XHTML
if getline(n) =~ '\<DTD\s\+XHTML\s'
setf xhtml
return
endif
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
# Check for Django
if getline(n) =~ '{%\s*\(autoescape\|block\|comment\|csrf_token\|cycle\|debug\|extends\|filter\|firstof\|for\|if\|ifchanged\|include\|load\|lorem\|now\|query_string\|regroup\|resetcycle\|spaceless\|templatetag\|url\|verbatim\|widthratio\|with\)\>\|{#\s\+'
setf htmldjango
return
endif
# Check for SuperHTML
if getline(n) =~ '<extend\|<super>'
setf superhtml
return
endif
n += 1
endwhile
setf FALLBACK html
@@ -406,20 +474,24 @@ export def FTidl()
setf idl
enddef
# Distinguish between "default", Prolog and Cproto prototype file.
# Distinguish between "default", Prolog, zsh module's C and Cproto prototype file.
export def ProtoCheck(default: string)
# zsh modules use '#include "*.pro"'
# https://github.com/zsh-users/zsh/blob/63f086d167960a27ecdbcb762179e2c2bf8a29f5/Src/Modules/example.c#L31
if getline(1) =~ '/* Generated automatically */'
setf c
# Cproto files have a comment in the first line and a function prototype in
# the second line, it always ends in ";". Indent files may also have
# comments, thus we can't match comments to see the difference.
# IDL files can have a single ';' in the second line, require at least one
# chacter before the ';'.
if getline(2) =~ '.;$'
elseif getline(2) =~ '.;$'
setf cpp
else
# recognize Prolog by specific text in the first non-empty line
# require a blank after the '%' because Perl uses "%list" and "%translate"
var lnum = getline(nextnonblank(1))
if lnum =~ '\<prolog\>' || lnum =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || lnum =~ ':-'
if lnum =~ '\<prolog\>' || lnum =~ prolog_pattern
setf prolog
else
exe 'setf ' .. default
@@ -484,6 +556,25 @@ export def FTm()
endif
enddef
export def FTmake()
# Check if it is a Microsoft Makefile
unlet! b:make_microsoft
var n = 1
while n < 1000 && n <= line('$')
var line = getline(n)
if line =~? '^\s*!\s*\(ifn\=\(def\)\=\|include\|message\|error\)\>'
b:make_microsoft = 1
break
elseif line =~ '^ *ifn\=\(eq\|def\)\>' || line =~ '^ *[-s]\=include\s'
break
elseif line =~ '^ *\w\+\s*[!?:+]='
break
endif
n += 1
endwhile
setf make
enddef
export def FTmms()
var n = 1
while n < 20
@@ -598,7 +689,7 @@ export def FTpl()
# recognize Prolog by specific text in the first non-empty line
# require a blank after the '%' because Perl uses "%list" and "%translate"
var line = getline(nextnonblank(1))
if line =~ '\<prolog\>' || line =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || line =~ ':-'
if line =~ '\<prolog\>' || line =~ prolog_pattern
setf prolog
else
setf perl
@@ -915,6 +1006,14 @@ export def SQL()
endif
enddef
export def FTsa()
if join(getline(1, 4), "\n") =~# '\%(^\|\n\);'
setf tiasm
return
endif
setf sather
enddef
# This function checks the first 25 lines of file extension "sc" to resolve
# detection between scala and SuperCollider.
# NOTE: We don't check for 'Class : Method', as this can easily be confused
@@ -1235,7 +1334,57 @@ export def FTtyp()
setf typst
enddef
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 200
# Detect Microsoft Developer Studio Project files (Makefile) or Faust DSP
# files.
export def FTdsp()
if exists("g:filetype_dsp")
exe "setf " .. g:filetype_dsp
return
endif
# Test the filename
if expand('%:t') =~ '^[mM]akefile.*$'
setf make
return
endif
# Test the file contents
for line in getline(1, 200)
# Chech for comment style
if line =~ '^#.*'
setf make
return
endif
# Check for common lines
if line =~ '^.*Microsoft Developer Studio Project File.*$'
setf make
return
endif
if line =~ '^!MESSAGE This is not a valid makefile\..+$'
setf make
return
endif
# Check for keywords
if line =~ '^!(IF,ELSEIF,ENDIF).*$'
setf make
return
endif
# Check for common assignments
if line =~ '^SOURCE=.*$'
setf make
return
endif
endfor
# Otherwise, assume we have a Faust file
setf faust
enddef
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 500
# lines.
export def FTv()
if did_filetype()
@@ -1248,7 +1397,7 @@ export def FTv()
endif
var in_comment = 0
for lnum in range(1, min([line("$"), 200]))
for lnum in range(1, min([line("$"), 500]))
var line = getline(lnum)
# Skip Verilog and V comments (lines and blocks).
if line =~ '^\s*/\*'
@@ -1280,7 +1429,8 @@ export def FTv()
# Verilog: line ends with ';' followed by an optional variable number of
# spaces and an optional start of a comment.
# Example: " b <= a + 1; // Add 1".
if line =~ ';\s*\(/[/*].*\)\?$'
# Alternatively: a module is defined: " module MyModule ( input )"
if line =~ ';\s*\(/[/*].*\)\?$' || line =~ '\C^\s*module\s\+\w\+\s*('
setf verilog
return
endif

View File

@@ -4,6 +4,7 @@
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Autoload Split: Bram Moolenaar
" Last Change: 2024 Jan 17 (make it work on AIX, see #13847)
" 2024 Jul 06 (honor command modifiers, #15117)
let s:cpo_save = &cpo
set cpo-=C
@@ -165,7 +166,9 @@ func dist#man#GetPage(cmdmods, ...)
endwhile
endif
if &filetype != "man"
if exists("g:ft_man_open_mode")
if a:cmdmods =~ '\<\(tab\|vertical\|horizontal\)\>'
let open_cmd = a:cmdmods . ' split'
elseif exists("g:ft_man_open_mode")
if g:ft_man_open_mode == 'vert'
let open_cmd = 'vsplit'
elseif g:ft_man_open_mode == 'tab'
@@ -174,7 +177,7 @@ func dist#man#GetPage(cmdmods, ...)
let open_cmd = 'split'
endif
else
let open_cmd = a:cmdmods . ' split'
let open_cmd = 'split'
endif
endif
endif

View File

@@ -4,7 +4,7 @@ vim9script
# Invoked from "scripts.vim" in 'runtimepath'
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2023 Aug 10
# Last Change: 2025 Jan 20
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
export def DetectFiletype()
@@ -133,6 +133,9 @@ export def Exe2filetype(name: string, line1: string): string
elseif name =~ 'node\(js\)\=\>\|js\>' || name =~ 'rhino\>'
return 'javascript'
elseif name =~# 'just'
return 'just'
# BC calculator
elseif name =~ '^bc\>'
return 'bc'
@@ -229,6 +232,10 @@ export def Exe2filetype(name: string, line1: string): string
elseif name =~ '^execlineb\>'
return 'execline'
# Vim
elseif name =~ '^vim\>'
return 'vim'
endif
return ''

View File

@@ -18,6 +18,9 @@ endif
if !has('vim9script')
function dist#vim#IsSafeExecutable(filetype, executable)
let cwd = getcwd()
if empty(exepath(a:executable))
return v:false
endif
return get(g:, a:filetype .. '_exec', get(g:, 'plugin_exec', 0)) &&
\ (fnamemodify(exepath(a:executable), ':p:h') !=# cwd
\ || (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1 &&

View File

@@ -2,16 +2,129 @@ vim9script
# Vim runtime support library
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2023 Oct 25
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2025 Jan 29
export def IsSafeExecutable(filetype: string, executable: string): bool
var cwd = getcwd()
return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0))
&& (fnamemodify(exepath(executable), ':p:h') !=# cwd
|| (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1
&& cwd != '.'))
if empty(exepath(executable))
return v:false
endif
var cwd = getcwd()
return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0))
&& (fnamemodify(exepath(executable), ':p:h') !=# cwd
|| (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1
&& cwd != '.'))
enddef
def Redir(): string
if get(g:, 'netrw_suppress_gx_mesg', true)
if &srr =~# "%s"
return printf(&srr, has("win32") ? "nul" : "/dev/null")
elseif &srr =~# '>&\?$'
return &srr .. (has("win32") ? "nul" : "/dev/null")
else
return &srr .. (has("win32") ? "> nul" : "> /dev/null")
endif
endif
return ''
enddef
if has('unix')
if has('win32unix')
# Cygwin provides cygstart
if executable('cygstart')
export def Launch(args: string)
execute $'silent ! cygstart --hide {args} {Redir()}' | redraw!
enddef
elseif !empty($MSYSTEM) && executable('start')
# MSYS2/Git Bash comes by default without cygstart; see
# https://www.msys2.org/wiki/How-does-MSYS2-differ-from-Cygwin
# Instead it provides /usr/bin/start script running `cmd.exe //c start`
# Adding "" //b` sets void title, hides cmd window and blocks path conversion
# of /b to \b\ " by MSYS2; see https://www.msys2.org/docs/filesystem-paths/
export def Launch(args: string)
execute $'silent !start "" //b {args} {Redir()}' | redraw!
enddef
else
# imitate /usr/bin/start script for other environments and hope for the best
export def Launch(args: string)
execute $'silent !cmd /c start "" /b {args} {Redir()}' | redraw!
enddef
endif
elseif exists('$WSL_DISTRO_NAME') # use cmd.exe to start GUI apps in WSL
export def Launch(args: string)
const command = (args =~? '\v<\f+\.(exe|com|bat|cmd)>')
? $'cmd.exe /c start /b {args} {Redir()}'
: $'nohup {args} {Redir()} &'
execute $'silent ! {command}' | redraw!
enddef
else
export def Launch(args: string)
const fork = has('gui_running') ? '' : '&'
execute $':silent ! nohup {args} {Redir()} {fork}' | redraw!
enddef
endif
elseif has('win32')
export def Launch(args: string)
const shell = (&shell =~? '\<cmd\.exe\>') ? '' : 'cmd.exe /c'
const quotes = empty(shell) ? '' : '""'
execute $'silent ! {shell} start {quotes} /b {args} {Redir()}' | redraw!
enddef
else
export def Launch(dummy: string)
echom 'No common launcher found'
enddef
endif
var os_viewer = null_string
# Git Bash
if has('win32unix')
# (cyg)start suffices
os_viewer = ''
# Windows / WSL
elseif executable('explorer.exe')
os_viewer = 'explorer.exe'
# Linux / BSD
elseif executable('xdg-open')
os_viewer = 'xdg-open'
# MacOS
elseif executable('open')
os_viewer = 'open'
endif
def Viewer(): string
# g:Openprg could be a string of program + its arguments, test if first
# argument is executable
var user_viewer = get(g:, "Openprg", get(g:, "netrw_browsex_viewer", ""))
# Take care of an off-by-one check for "for" too
if executable(trim(user_viewer))
return user_viewer
endif
var args = split(user_viewer, '\s\+\zs')
var viewer = get(args, 0, '')
for arg in args[1 :]
if executable(trim(viewer))
return user_viewer
endif
viewer ..= arg
endfor
if os_viewer == null
echoerr "No program to open this path found. See :help Open for more information."
endif
return os_viewer
enddef
export def Open(file: string)
Launch($"{Viewer()} {shellescape(file, 1)}")
enddef
# Uncomment this line to check for compilation errors early
# defcompile
# vim: ts=8 sts=2 sw=2 et

View File

@@ -2,10 +2,12 @@ vim9script
# Language: Vim script
# Maintainer: github user lacygoill
# Last Change: 2023 Jun 29
# Last Change: 2024 Dec 26
#
# Includes Changes from Vim:
# Includes changes from The Vim Project:
# - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
# - 2024 Nov 08: Fix indent after :silent! function (D. Kearns via #16009)
# - 2024 Dec 26: Fix indent for enums (Jim Zhou via #16293)
# NOTE: Whenever you change the code, make sure the tests are still passing:
#
@@ -171,6 +173,7 @@ const MODIFIERS: dict<string> = {
def: ['export', 'static'],
class: ['export', 'abstract', 'export abstract'],
interface: ['export'],
enum: ['export'],
}
# ...
# class: ['export', 'abstract', 'export abstract'],
@@ -295,7 +298,7 @@ patterns = []
endfor
}
const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]!\=\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
# STARTS_CURLY_BLOCK {{{3
@@ -633,6 +636,7 @@ def Offset( # {{{2
elseif !line_A.isfirst
&& (line_B->EndsWithLineContinuation()
|| line_A.text =~ LINE_CONTINUATION_AT_SOL)
&& !(line_B->EndsWithComma() && line_A.lnum->IsInside('EnumBlock'))
return shiftwidth()
endif
@@ -1050,6 +1054,22 @@ def ContinuesBelowBracketBlock( # {{{3
enddef
def IsInside(lnum: number, syntax: string): bool # {{{3
if syntax == 'EnumBlock'
var cur_pos = getpos('.')
cursor(lnum, 1)
var enum_pos = search('^\C\s*\%(export\s\)\=\s*enum\s\+\S\+', 'bnW')
var endenum_pos = search('^\C\s*endenum\>', 'bnW')
setpos('.', cur_pos)
if enum_pos == 0 && endenum_pos == 0
return false
endif
if (enum_pos > 0 && (endenum_pos == 0 || enum_pos > endenum_pos))
return true
endif
return false
endif
if !exists('b:vimindent')
|| !b:vimindent->has_key($'is_{syntax}')
return false

View File

@@ -3,9 +3,16 @@
" Maintainer: This runtime file is looking for a new maintainer.
" Original Author: Charles E. Campbell
" Date: Jan 21, 2014
" Version: 36
" Version: 37
" Installing: :help glvs-install
" Usage: :help glvs
" Last Change: {{{1
" 2024 Sep 08 by Vim Project: several small fixes (#15640)
" 2024 Sep 23 by Vim Project: runtime dir selection fix (#15722)
" autoloading search path fix
" substitution of hardcoded commands with global variables
" 2024 Nov 12 by Vim Project: fix problems on Windows (#16036)
" }}}
"
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
"redraw!|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -16,14 +23,14 @@
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v36"
let g:loaded_getscript= "v37"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
endif
if v:version < 702
if v:version < 901
echohl WarningMsg
echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
echo "***warning*** this version of GetLatestVimScripts needs vim 9.1"
echohl Normal
finish
endif
@@ -51,6 +58,9 @@ endif
if !exists("g:GetLatestVimScripts_wget")
if executable("wget")
let g:GetLatestVimScripts_wget= "wget"
elseif executable("curl.exe")
" enforce extension: windows powershell desktop version has a curl alias that hides curl.exe
let g:GetLatestVimScripts_wget= "curl.exe"
elseif executable("curl")
let g:GetLatestVimScripts_wget= "curl"
else
@@ -63,8 +73,8 @@ endif
if !exists("g:GetLatestVimScripts_options")
if g:GetLatestVimScripts_wget == "wget"
let g:GetLatestVimScripts_options= "-q -O"
elseif g:GetLatestVimScripts_wget == "curl"
let g:GetLatestVimScripts_options= "-s -O"
elseif g:GetLatestVimScripts_wget =~ "curl"
let g:GetLatestVimScripts_options= "-s -o"
else
let g:GetLatestVimScripts_options= ""
endif
@@ -77,7 +87,29 @@ endif
" set up default scriptaddr address
if !exists("g:GetLatestVimScripts_scriptaddr")
let g:GetLatestVimScripts_scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='
let g:GetLatestVimScripts_scriptaddr = 'https://www.vim.org/scripts/script.php?script_id='
endif
if !exists("g:GetLatestVimScripts_downloadaddr")
let g:GetLatestVimScripts_downloadaddr = 'https://www.vim.org/scripts/download_script.php?src_id='
endif
" define decompression tools (on windows this allows redirection to wsl or git tools).
" Note tar is available as builtin since Windows 11.
if !exists("g:GetLatestVimScripts_bunzip2")
let g:GetLatestVimScripts_bunzip2= "bunzip2"
endif
if !exists("g:GetLatestVimScripts_gunzip")
let g:GetLatestVimScripts_gunzip= "gunzip"
endif
if !exists("g:GetLatestVimScripts_unxz")
let g:GetLatestVimScripts_unxz= "unxz"
endif
if !exists("g:GetLatestVimScripts_unzip")
let g:GetLatestVimScripts_unzip= "unzip"
endif
"" For debugging:
@@ -89,18 +121,19 @@ endif
let s:autoinstall= ""
if g:GetLatestVimScripts_allowautoinstall
if (has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")) && &shell != "bash"
" windows (but not cygwin/bash)
let s:dotvim= "vimfiles"
if !exists("g:GetLatestVimScripts_mv")
let g:GetLatestVimScripts_mv= "ren"
endif
let s:is_windows = has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")
let s:dotvim= s:is_windows ? "vimfiles" : ".vim"
else
" unix
let s:dotvim= ".vim"
if !exists("g:GetLatestVimScripts_mv")
let g:GetLatestVimScripts_mv= "mv"
if !exists("g:GetLatestVimScripts_mv")
if &shell =~? '\<pwsh\>\|\<powershell\>'
let g:GetLatestVimScripts_mv= "move -Force"
elseif s:is_windows && &shell =~? '\<cmd\>'
" windows (but not cygwin/bash)
let g:GetLatestVimScripts_mv= "move /Y"
else
" unix or cygwin bash/zsh
" 'mv' overrides existing files without asking
let g:GetLatestVimScripts_mv= "mv"
endif
endif
@@ -134,12 +167,6 @@ fun! getscript#GetLatestVimScripts()
return
endif
" insure that fnameescape() is available
if !exists("*fnameescape")
echoerr "GetLatestVimScripts needs fnameescape() (provided by 7.1.299 or later)"
return
endif
" Find the .../GetLatest subdirectory under the runtimepath
for datadir in split(&rtp,',') + ['']
if isdirectory(datadir."/GetLatest")
@@ -210,7 +237,13 @@ fun! getscript#GetLatestVimScripts()
" call Decho("lastline#".lastline)
let firstdir = substitute(&rtp,',.*$','','')
let plugins = split(globpath(firstdir,"plugin/**/*.vim"),'\n')
let plugins = plugins + split(globpath(firstdir,"AsNeeded/**/*.vim"),'\n')
let plugins += split(globpath(firstdir,"ftplugin/**/*.vim"),'\n')
let plugins += split(globpath(firstdir,"AsNeeded/**/*.vim"),'\n')
" extend the search to the packages too (this script predates the feature)
let plugins += split(globpath(firstdir,"pack/*/start/*/plugin/**/*.vim"),'\n')
let plugins += split(globpath(firstdir,"pack/*/opt/*/plugin/**/*.vim"),'\n')
let plugins += split(globpath(firstdir,"pack/*/start/*/ftplugin/**/*.vim"),'\n')
let plugins += split(globpath(firstdir,"pack/*/opt/*/ftplugin/**/*.vim"),'\n')
let foundscript = 0
" this loop updates the GetLatestVimScripts.dat file
@@ -333,7 +366,7 @@ fun! getscript#GetLatestVimScripts()
endfun
" ---------------------------------------------------------------------
" GetOneScript: (Get Latest Vim Script) this function operates {{{1
" GetOneScript: (Get Latest Vim script) this function operates {{{1
" on the current line, interpreting two numbers and text as
" ScriptID, SourceID, and Filename.
" It downloads any scripts that have newer versions from vim.sourceforge.net.
@@ -345,7 +378,16 @@ fun! s:GetOneScript(...)
let t_ti= &t_ti
let t_te= &t_te
let rs = &rs
let ssl = &ssl
set t_ti= t_te= nors
" avoid issues with shellescape() on Windows
if s:is_windows && &shell =~? '\<cmd\>'
set noshellslash
endif
" restore valures afterwards
defer execute("let @a = rega | let &t_ti = t_ti | let &t_te = t_te | let &rs = rs | let &ssl = ssl")
" put current line on top-of-screen and interpret it into
" a script identifier : used to obtain webpage
@@ -362,7 +404,6 @@ fun! s:GetOneScript(...)
else
let curline = getline(".")
if curline =~ '^\s*#'
let @a= rega
" call Dret("GetOneScript : skipping a pure comment line")
return
endif
@@ -397,7 +438,6 @@ fun! s:GetOneScript(...)
" plugin author protection from downloading his/her own scripts atop their latest work
if scriptid == 0 || srcid == 0
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
let @a= rega
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
return
endif
@@ -465,7 +505,6 @@ fun! s:GetOneScript(...)
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
" call Dret("GetOneScript : srch for /Click on the package/ failed")
let @a= rega
return
endif
" call Decho('found "Click on the package to download"')
@@ -481,7 +520,6 @@ fun! s:GetOneScript(...)
let s:downerrors = s:downerrors + 1
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
let @a= rega
" call Dret("GetOneScript : srch for /src_id/ failed")
return
endif
@@ -515,11 +553,11 @@ fun! s:GetOneScript(...)
" call Decho(".downloading new <".sname.">")
echomsg ".downloading new <".sname.">"
if has("win32") || has("win16") || has("win95")
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)|q
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)."|bw!")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|bw!
else
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=').latestsrcid
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
endif
" --------------------------------------------------------------------------
@@ -556,27 +594,27 @@ fun! s:GetOneScript(...)
" decompress
if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname)
exe "sil !bunzip2 ".shellescape(sname)
exe "sil !".g:GetLatestVimScripts_bunzip2." ".shellescape(sname)
let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname)
exe "sil !gunzip ".shellescape(sname)
exe "sil !".g:GetLatestVimScripts_gunzip." ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
elseif sname =~ '\.xz$'
" call Decho("decompress: attempt to unxz ".sname)
exe "sil !unxz ".shellescape(sname)
exe "sil !".g:GetLatestVimScripts_unxz." ".shellescape(sname)
let sname= substitute(sname,'\.xz$','','')
" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
" distribute archive(.zip, .tar, .vba, ...) contents
" distribute archive(.zip, .tar, .vba, .vmb, ...) contents
if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".shellescape(sname)
exe "silent !".g:GetLatestVimScripts_unzip." -o ".shellescape(sname)
elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".shellescape(sname)
@@ -592,7 +630,7 @@ fun! s:GetOneScript(...)
elseif sname =~ '\.txz$'
" call Decho("dearchive: attempt to untar+xz ".sname)
exe "silent !tar -Jxvf ".shellescape(sname)
elseif sname =~ '\.vba$'
elseif sname =~ '\.vba$\|\.vmb$'
" call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split
if exists("g:vimball_home")
@@ -622,8 +660,8 @@ fun! s:GetOneScript(...)
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
endif
if tgtdir != "plugin"
" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir
endif
" helptags step
@@ -648,13 +686,7 @@ fun! s:GetOneScript(...)
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
endif
" restore options
let &t_ti = t_ti
let &t_te = t_te
let &rs = rs
let @a = rega
" call Dredir("BUFFER TEST (GetOneScript)","ls!")
" call Dret("GetOneScript")
endfun

View File

@@ -1,6 +1,6 @@
" Vim autoload file for editing compressed files.
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Last Change: 2024 Nov 25
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" These functions are used by the gzip plugin.
@@ -148,6 +148,9 @@ fun gzip#read(cmd)
else
let fname = escape(expand("%:r"), " \t\n*?[{`$\\%#'\"|!<")
endif
if filereadable(undofile(expand("%")))
exe "sil rundo " . fnameescape(undofile(expand("%")))
endif
if &verbose >= 8
execute "doau BufReadPost " . fname
else

26
runtime/autoload/hare.vim Normal file
View File

@@ -0,0 +1,26 @@
" Vim autoload file.
" Language: Hare
" Maintainer: Amelia Clarke <selene@perilune.dev>
" Last Updated: 2024-05-10
" Upstream: https://git.sr.ht/~sircmpwn/hare.vim
" Attempt to find the directory for a given Hare module.
function hare#FindModule(str)
let path = substitute(trim(a:str, ':', 2), '::', '/', 'g')
let dir = finddir(path)
while !empty(path) && empty(dir)
let path = substitute(path, '/\?\h\w*$', '', '')
let dir = finddir(path)
endwhile
return dir
endfunction
" Return the value of HAREPATH if it exists. Otherwise use a reasonable default.
function hare#GetPath()
if empty($HAREPATH)
return '/usr/src/hare/stdlib,/usr/src/hare/third-party'
endif
return substitute($HAREPATH, ':', ',', 'g')
endfunction
" vim: et sts=2 sw=2 ts=8

40
runtime/autoload/hcl.vim Normal file
View File

@@ -0,0 +1,40 @@
" Language: HCL
" Maintainer: Gregory Anders
" Last Change: 2024-09-03
" Based on: https://github.com/hashivim/vim-terraform
function! hcl#indentexpr(lnum)
" Beginning of the file should have no indent
if a:lnum == 0
return 0
endif
" Usual case is to continue at the same indent as the previous non-blank line.
let prevlnum = prevnonblank(a:lnum-1)
let thisindent = indent(prevlnum)
" If that previous line is a non-comment ending in [ { (, increase the
" indent level.
let prevline = getline(prevlnum)
if prevline !~# '^\s*\(#\|//\)' && prevline =~# '[\[{\(]\s*$'
let thisindent += &shiftwidth
endif
" If the current line ends a block, decrease the indent level.
let thisline = getline(a:lnum)
if thisline =~# '^\s*[\)}\]]'
let thisindent -= &shiftwidth
endif
" If the previous line starts a block comment /*, increase by one
if prevline =~# '/\*'
let thisindent += 1
endif
" If the previous line ends a block comment */, decrease by one
if prevline =~# '\*/'
let thisindent -= 1
endif
return thisindent
endfunction

View File

@@ -0,0 +1,92 @@
" Vim formatting plugin file
" Language: Java
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
" Repository: https://github.com/zzzyxwvut/java-vim.git
" Last Change: 2024 Sep 26
" Documented in ":help ft-java-plugin".
if &cp || exists("g:loaded_javaformat") || exists("g:java_ignore_javadoc") || exists("g:java_ignore_markdown")
finish
endif
let g:loaded_javaformat = 1
"""" STRIVE TO REMAIN COMPATIBLE FOR AT LEAST VIM 7.0.
function! javaformat#RemoveCommonMarkdownWhitespace() abort
if mode() != 'n'
return 0
endif
let pattern = '\(^\s*///\)\(\s*\)\(.*\)'
" E121 for v:numbermax before v8.2.2388.
" E15 for expr-<< before v8.2.5003.
let common = 0x7fffffff
let comments = []
for n in range(v:lnum, (v:lnum + v:count - 1))
let parts = matchlist(getline(n), pattern)
let whitespace = get(parts, 2, '')
let nonwhitespace = get(parts, 3, '')
if !empty(whitespace)
let common = min([common, strlen(whitespace)])
elseif !empty(nonwhitespace) || empty(parts)
" No whitespace prefix or not a Markdown comment.
return 0
endif
call add(comments, [whitespace, parts[1], nonwhitespace])
endfor
let cursor = v:lnum
for line in comments
call setline(cursor, join(line[1 :], strpart(line[0], common)))
let cursor += 1
endfor
return 0
endfunction
" See ":help vim9-mix".
if !has("vim9script")
finish
endif
def! g:javaformat#RemoveCommonMarkdownWhitespace(): number
if mode() != 'n'
return 0
endif
const pattern: string = '\(^\s*///\)\(\s*\)\(.*\)'
var common: number = v:numbermax
var comments: list<list<string>> = []
for n in range(v:lnum, (v:lnum + v:count - 1))
const parts: list<string> = matchlist(getline(n), pattern)
const whitespace: string = get(parts, 2, '')
const nonwhitespace: string = get(parts, 3, '')
if !empty(whitespace)
common = min([common, strlen(whitespace)])
elseif !empty(nonwhitespace) || empty(parts)
# No whitespace prefix or not a Markdown comment.
return 0
endif
add(comments, [whitespace, parts[1], nonwhitespace])
endfor
var cursor: number = v:lnum
for line in comments
setline(cursor, join(line[1 :], strpart(line[0], common)))
cursor += 1
endfor
return 0
enddef
" vim: fdm=syntax sw=4 ts=8 noet sta

File diff suppressed because it is too large Load Diff

View File

@@ -1,363 +0,0 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Maintainer: This runtime file is looking for a new maintainer.
" Original Author: Charles E. Campbell
" Date: Sep 18, 2020
" Version: 11
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrwFileHandlers.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. In no
" event will the copyright holder be liable for any damages
" resulting from the use of this software.
"
" Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1
" is eternal life in Christ Jesus our Lord.
" ---------------------------------------------------------------------
" Load Once: {{{1
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
let g:loaded_netrwFileHandlers= "v11"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1
fun! netrwFileHandlers#Invoke(exten,fname)
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
let exten= a:exten
" list of supported special characters. Consider rcs,v --- that can be
" supported with a NFH_rcsCOMMAv() handler
if exten =~ '[@:,$!=\-+%?;~]'
let specials= {
\ '@' : 'AT',
\ ':' : 'COLON',
\ ',' : 'COMMA',
\ '$' : 'DOLLAR',
\ '!' : 'EXCLAMATION',
\ '=' : 'EQUAL',
\ '-' : 'MINUS',
\ '+' : 'PLUS',
\ '%' : 'PERCENT',
\ '?' : 'QUESTION',
\ ';' : 'SEMICOLON',
\ '~' : 'TILDE'}
let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
" call Decho('fname<'.fname.'> done with dictionary')
endif
if a:exten != "" && exists("*NFH_".exten)
" support user NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= NFH_".exten.'("'.a:fname.'")'
elseif a:exten != "" && exists("*s:NFH_".exten)
" use builtin-NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
endif
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
return 0
endfun
" ---------------------------------------------------------------------
" s:NFH_html: handles html when the user hits "x" when the {{{1
" cursor is atop a *.html file
fun! s:NFH_html(pagefile)
" call Dfunc("s:NFH_html(".a:pagefile.")")
let page= substitute(a:pagefile,'^','file://','')
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_html 0")
return 0
endif
" call Dret("s:NFH_html 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_htm: handles html when the user hits "x" when the {{{1
" cursor is atop a *.htm file
fun! s:NFH_htm(pagefile)
" call Dfunc("s:NFH_htm(".a:pagefile.")")
let page= substitute(a:pagefile,'^','file://','')
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_htm 0")
return 0
endif
" call Dret("s:NFH_htm 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_jpg: {{{1
fun! s:NFH_jpg(jpgfile)
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:jpgfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1)
else
" call Dret("s:NFH_jpg 0")
return 0
endif
" call Dret("s:NFH_jpg 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_gif: {{{1
fun! s:NFH_gif(giffile)
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:giffile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1)
else
" call Dret("s:NFH_gif 0")
return 0
endif
" call Dret("s:NFH_gif 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_png: {{{1
fun! s:NFH_png(pngfile)
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:pngfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1)
else
" call Dret("s:NFH_png 0")
return 0
endif
" call Dret("s:NFH_png 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_pnm: {{{1
fun! s:NFH_pnm(pnmfile)
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:pnmfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1)
else
" call Dret("s:NFH_pnm 0")
return 0
endif
" call Dret("s:NFH_pnm 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_bmp: visualize bmp files {{{1
fun! s:NFH_bmp(bmpfile)
" call Dfunc("s:NFH_bmp(bmpfile<".a:bmpfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1)
else
" call Dret("s:NFH_bmp 0")
return 0
endif
" call Dret("s:NFH_bmp 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_pdf: visualize pdf files {{{1
fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs")
exe 'silent! !gs '.shellescape(a:pdf,1)
elseif executable("pdftotext")
exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1)
else
" call Dret("s:NFH_pdf 0")
return 0
endif
" call Dret("s:NFH_pdf 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_doc: visualize doc files {{{1
fun! s:NFH_doc(doc)
" call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter")
exe 'silent! !oowriter '.shellescape(a:doc,1)
redraw!
else
" call Dret("s:NFH_doc 0")
return 0
endif
" call Dret("s:NFH_doc 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_sxw: visualize sxw files {{{1
fun! s:NFH_sxw(sxw)
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
exe 'silent! !oowriter '.shellescape(a:sxw,1)
redraw!
else
" call Dret("s:NFH_sxw 0")
return 0
endif
" call Dret("s:NFH_sxw 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_xls: visualize xls files {{{1
fun! s:NFH_xls(xls)
" call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc")
exe 'silent! !oocalc '.shellescape(a:xls,1)
redraw!
else
" call Dret("s:NFH_xls 0")
return 0
endif
" call Dret("s:NFH_xls 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_ps: handles PostScript files {{{1
fun! s:NFH_ps(ps)
" call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs")
" call Decho("exe silent! !gs ".a:ps)
exe "silent! !gs ".shellescape(a:ps,1)
redraw!
elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps)
exe "silent! !ghostscript ".shellescape(a:ps,1)
redraw!
elseif executable("gswin32")
" call Decho("exe silent! !gswin32 ".shellescape(a:ps,1))
exe "silent! !gswin32 ".shellescape(a:ps,1)
redraw!
else
" call Dret("s:NFH_ps 0")
return 0
endif
" call Dret("s:NFH_ps 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_eps: handles encapsulated PostScript files {{{1
fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()")
if executable("gs")
exe "silent! !gs ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 ".shellescape(a:eps,1)
redraw!
else
" call Dret("s:NFH_eps 0")
return 0
endif
" call Dret("s:NFH_eps 0")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_fig: handles xfig files {{{1
fun! s:NFH_fig(fig)
" call Dfunc("s:NFH_fig()")
if executable("xfig")
exe "silent! !xfig ".a:fig
redraw!
else
" call Dret("s:NFH_fig 0")
return 0
endif
" call Dret("s:NFH_fig 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_obj: handles tgif's obj files {{{1
fun! s:NFH_obj(obj)
" call Dfunc("s:NFH_obj()")
if has("unix") && executable("tgif")
exe "silent! !tgif ".a:obj
redraw!
else
" call Dret("s:NFH_obj 0")
return 0
endif
" call Dret("s:NFH_obj 1")
return 1
endfun
let &cpo= s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

View File

@@ -1,248 +0,0 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Nov 15, 2021
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E Campbell
" Version: 18
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrwSettings.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
"
" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
" synagogues, preaching the gospel of the kingdom, and healing
" every disease and every sickness among the people.
" Load Once: {{{1
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v18"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
echohl Normal
finish
endif
" ---------------------------------------------------------------------
" NetrwSettings: {{{1
fun! netrwSettings#NetrwSettings()
" this call is here largely just to insure that netrw has been loaded
call netrw#WinPath("")
if !exists("g:loaded_netrw")
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
return
endif
above wincmd s
enew
setlocal noswapfile bh=wipe
set ft=vim
file Netrw\ Settings
" these variables have the following default effects when they don't
" exist (ie. have not been set by the user in his/her .vimrc)
if !exists("g:netrw_liststyle")
let g:netrw_liststyle= 0
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
endif
if !exists("g:netrw_silent")
let g:netrw_silent= 0
endif
if !exists("g:netrw_use_nt_rcp")
let g:netrw_use_nt_rcp= 0
endif
if !exists("g:netrw_ftp")
let g:netrw_ftp= 0
endif
if !exists("g:netrw_ignorenetrc")
let g:netrw_ignorenetrc= 0
endif
put ='+ ---------------------------------------------'
put ='+ NetrwSettings: by Charles E. Campbell'
put ='+ Press <F1> with cursor atop any line for help'
put ='+ ---------------------------------------------'
let s:netrw_settings_stop= line(".")
put =''
put ='+ Netrw Protocol Commands'
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
let s:netrw_protocol_stop= line(".")
put = ''
put ='+Netrw Transfer Control'
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
put = 'let g:netrw_ftp = '.g:netrw_ftp
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
put =''
put ='+ Netrw Messages'
put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
put = ''
put ='+ Netrw Browser Control'
if exists("g:netrw_altfile")
put = 'let g:netrw_altfile = '.g:netrw_altfile
else
put = 'let g:netrw_altfile = 0'
endif
put = 'let g:netrw_alto = '.g:netrw_alto
put = 'let g:netrw_altv = '.g:netrw_altv
put = 'let g:netrw_banner = '.g:netrw_banner
if exists("g:netrw_bannerbackslash")
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
else
put = '\" let g:netrw_bannerbackslash = (not defined)'
endif
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
if exists("g:netrw_browsex_viewer")
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
else
put = '\" let g:netrw_browsex_viewer = (not defined)'
endif
put = 'let g:netrw_compress = '.g:netrw_compress
if exists("g:Netrw_corehandler")
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
else
put = '\" let g:Netrw_corehandler = (not defined)'
endif
put = 'let g:netrw_ctags = '.g:netrw_ctags
put = 'let g:netrw_cursor = '.g:netrw_cursor
let decompressline= line("$")
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
if exists("g:netrw_dynamic_maxfilenamelen")
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
else
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
endif
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
let fnameescline= line("$")
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
let globescline= line("$")
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
put = 'let g:netrw_hide = '.g:netrw_hide
if exists("g:netrw_home")
put = 'let g:netrw_home = '.g:netrw_home
else
put = '\" let g:netrw_home = (not defined)'
endif
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
if exists("g:netrw_nobeval")
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
else
put = '\" let g:netrw_nobeval = (not defined)'
endif
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
put = 'let g:netrw_preview = '.g:netrw_preview
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
put = 'let g:netrw_retmap = '.g:netrw_retmap
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_servername = '.g:netrw_servername
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
let tmpfileescline= line("$")
put ='let g:netrw_tmpfile_escape...'
put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
put = 'let g:netrw_winsize = '.g:netrw_winsize
put =''
put ='+ For help, place cursor on line and press <F1>'
1d
silent %s/^+/"/e
res 99
silent %s/= \([^0-9].*\)$/= '\1'/e
silent %s/= $/= ''/e
1
call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
set nomod
nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
let tmpfile= tempname()
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
endfun
" ---------------------------------------------------------------------
" NetrwSettingHelp: {{{2
fun! NetrwSettingHelp()
" call Dfunc("NetrwSettingHelp()")
let curline = getline(".")
if curline =~ '='
let varhelp = substitute(curline,'^\s*let ','','e')
let varhelp = substitute(varhelp,'\s*=.*$','','e')
" call Decho("trying help ".varhelp)
try
exe "he ".varhelp
catch /^Vim\%((\a\+)\)\=:E149/
echo "***sorry*** no help available for <".varhelp.">"
endtry
elseif line(".") < s:netrw_settings_stop
he netrw-settings
elseif line(".") < s:netrw_protocol_stop
he netrw-externapp
elseif line(".") < s:netrw_xfer_stop
he netrw-variables
else
he netrw-browse-var
endif
" call Dret("NetrwSettingHelp")
endfun
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim:ts=8 fdm=marker

View File

@@ -1,6 +1,6 @@
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
" URL: https://github.com/benknoble/vim-racket
" Last Change: 2023 Sep 22
" Last Change: 2024 Nov 12
vim9script
def MakePatternFromLiterals(xs: list<string>): string
@@ -170,7 +170,7 @@ def PosLT(left: dict<any>, right: dict<any>): bool
enddef
def IsForFold(word: string): bool
return ['for/fold', 'for/foldr', 'for*/fold', 'for*/foldr']->index(word) >= 0
return ['for/fold', 'for/foldr', 'for/lists', 'for*/fold', 'for*/foldr', 'for*/lists']->index(word) >= 0
enddef
def IsSecondForm(blnum: number, bcol: number, vlnum: number): bool
@@ -209,5 +209,5 @@ def IsSecondForm(blnum: number, bcol: number, vlnum: number): bool
endwhile
# assert_report(printf('forms seen pre-return: %d', forms_seen))
return forms_seen == 2 || (forms_seen == 1 && !empty(stack))
return (forms_seen == 2 && empty(stack)) || (forms_seen == 1 && !empty(stack))
enddef

View File

@@ -0,0 +1,352 @@
" Default pre- and post-compiler actions and commands for SpotBugs
" Maintainers: @konfekt and @zzzyxwvut
" Last Change: 2024 Dec 08
let s:save_cpo = &cpo
set cpo&vim
" Look for the setting of "g:spotbugs#state" in "ftplugin/java.vim".
let s:state = get(g:, 'spotbugs#state', {})
let s:commands = get(s:state, 'commands', {})
let s:compiler = get(s:state, 'compiler', '')
let s:readable = filereadable($VIMRUNTIME . '/compiler/' . s:compiler . '.vim')
if has_key(s:commands, 'DefaultPreCompilerCommand')
let g:SpotBugsPreCompilerCommand = s:commands.DefaultPreCompilerCommand
else
function! s:DefaultPreCompilerCommand(arguments) abort
execute 'make ' . a:arguments
cc
endfunction
let g:SpotBugsPreCompilerCommand = function('s:DefaultPreCompilerCommand')
endif
if has_key(s:commands, 'DefaultPreCompilerTestCommand')
let g:SpotBugsPreCompilerTestCommand = s:commands.DefaultPreCompilerTestCommand
else
function! s:DefaultPreCompilerTestCommand(arguments) abort
execute 'make ' . a:arguments
cc
endfunction
let g:SpotBugsPreCompilerTestCommand = function('s:DefaultPreCompilerTestCommand')
endif
if has_key(s:commands, 'DefaultPostCompilerCommand')
let g:SpotBugsPostCompilerCommand = s:commands.DefaultPostCompilerCommand
else
function! s:DefaultPostCompilerCommand(arguments) abort
execute 'make ' . a:arguments
endfunction
let g:SpotBugsPostCompilerCommand = function('s:DefaultPostCompilerCommand')
endif
if v:version > 900
function! spotbugs#DeleteClassFiles() abort
if !exists('b:spotbugs_class_files')
return
endif
for pathname in b:spotbugs_class_files
let classname = pathname =~# "^'.\\+\\.class'$"
\ ? eval(pathname)
\ : pathname
if classname =~# '\.class$' && filereadable(classname)
" Since v9.0.0795.
let octad = readblob(classname, 0, 8)
" Test the magic number and the major version number (45 for v1.0).
" Since v9.0.2027.
if len(octad) == 8 && octad[0 : 3] == 0zcafe.babe &&
\ or((octad[6] << 8), octad[7]) >= 45
echomsg printf('Deleting %s: %d', classname, delete(classname))
endif
endif
endfor
let b:spotbugs_class_files = []
endfunction
else
function! s:DeleteClassFilesWithNewLineCodes(classname) abort
" The distribution of "0a"s in class file versions 2560 and 2570:
"
" 0zca.fe.ba.be.00.00.0a.00 0zca.fe.ba.be.00.00.0a.0a
" 0zca.fe.ba.be.00.0a.0a.00 0zca.fe.ba.be.00.0a.0a.0a
" 0zca.fe.ba.be.0a.00.0a.00 0zca.fe.ba.be.0a.00.0a.0a
" 0zca.fe.ba.be.0a.0a.0a.00 0zca.fe.ba.be.0a.0a.0a.0a
let numbers = [0, 0, 0, 0, 0, 0, 0, 0]
let offset = 0
let lines = readfile(a:classname, 'b', 4)
" Track NL byte counts to handle files of less than 8 bytes.
let nl_cnt = len(lines)
" Track non-NL byte counts for "0zca.fe.ba.be.0a.0a.0a.0a".
let non_nl_cnt = 0
for line in lines
for idx in range(strlen(line))
" Remap NLs to Nuls.
let numbers[offset] = (line[idx] == "\n") ? 0 : char2nr(line[idx]) % 256
let non_nl_cnt += 1
let offset += 1
if offset > 7
break
endif
endfor
let nl_cnt -= 1
if offset > 7 || (nl_cnt < 1 && non_nl_cnt > 4)
break
endif
" Reclaim NLs.
let numbers[offset] = 10
let offset += 1
if offset > 7
break
endif
endfor
" Test the magic number and the major version number (45 for v1.0).
if offset > 7 && numbers[0] == 0xca && numbers[1] == 0xfe &&
\ numbers[2] == 0xba && numbers[3] == 0xbe &&
\ (numbers[6] * 256 + numbers[7]) >= 45
echomsg printf('Deleting %s: %d', a:classname, delete(a:classname))
endif
endfunction
function! spotbugs#DeleteClassFiles() abort
if !exists('b:spotbugs_class_files')
return
endif
let encoding = &encoding
try
set encoding=latin1
for pathname in b:spotbugs_class_files
let classname = pathname =~# "^'.\\+\\.class'$"
\ ? eval(pathname)
\ : pathname
if classname =~# '\.class$' && filereadable(classname)
let line = get(readfile(classname, 'b', 1), 0, '')
let length = strlen(line)
" Test the magic number and the major version number (45 for v1.0).
if length > 3 && line[0 : 3] == "\xca\xfe\xba\xbe"
if length > 7 && ((line[6] == "\n" ? 0 : char2nr(line[6]) % 256) * 256 +
\ (line[7] == "\n" ? 0 : char2nr(line[7]) % 256)) >= 45
echomsg printf('Deleting %s: %d', classname, delete(classname))
else
call s:DeleteClassFilesWithNewLineCodes(classname)
endif
endif
endif
endfor
finally
let &encoding = encoding
endtry
let b:spotbugs_class_files = []
endfunction
endif
function! spotbugs#DefaultPostCompilerAction() abort
" Since v7.4.191.
call call(g:SpotBugsPostCompilerCommand, ['%:S'])
endfunction
if s:readable && s:compiler ==# 'maven' && executable('mvn')
function! spotbugs#DefaultPreCompilerAction() abort
call spotbugs#DeleteClassFiles()
compiler maven
call call(g:SpotBugsPreCompilerCommand, ['compile'])
endfunction
function! spotbugs#DefaultPreCompilerTestAction() abort
call spotbugs#DeleteClassFiles()
compiler maven
call call(g:SpotBugsPreCompilerTestCommand, ['test-compile'])
endfunction
function! spotbugs#DefaultProperties() abort
return {
\ 'PreCompilerAction':
\ function('spotbugs#DefaultPreCompilerAction'),
\ 'PreCompilerTestAction':
\ function('spotbugs#DefaultPreCompilerTestAction'),
\ 'PostCompilerAction':
\ function('spotbugs#DefaultPostCompilerAction'),
\ 'sourceDirPath': ['src/main/java'],
\ 'classDirPath': ['target/classes'],
\ 'testSourceDirPath': ['src/test/java'],
\ 'testClassDirPath': ['target/test-classes'],
\ }
endfunction
unlet s:readable s:compiler
elseif s:readable && s:compiler ==# 'ant' && executable('ant')
function! spotbugs#DefaultPreCompilerAction() abort
call spotbugs#DeleteClassFiles()
compiler ant
call call(g:SpotBugsPreCompilerCommand, ['compile'])
endfunction
function! spotbugs#DefaultPreCompilerTestAction() abort
call spotbugs#DeleteClassFiles()
compiler ant
call call(g:SpotBugsPreCompilerTestCommand, ['compile-test'])
endfunction
function! spotbugs#DefaultProperties() abort
return {
\ 'PreCompilerAction':
\ function('spotbugs#DefaultPreCompilerAction'),
\ 'PreCompilerTestAction':
\ function('spotbugs#DefaultPreCompilerTestAction'),
\ 'PostCompilerAction':
\ function('spotbugs#DefaultPostCompilerAction'),
\ 'sourceDirPath': ['src'],
\ 'classDirPath': ['build/classes'],
\ 'testSourceDirPath': ['test'],
\ 'testClassDirPath': ['build/test/classes'],
\ }
endfunction
unlet s:readable s:compiler
elseif s:readable && s:compiler ==# 'javac' && executable('javac')
let s:filename = tempname()
function! spotbugs#DefaultPreCompilerAction() abort
call spotbugs#DeleteClassFiles()
compiler javac
if get(b:, 'javac_makeprg_params', get(g:, 'javac_makeprg_params', '')) =~ '\s@\S'
" Only read options and filenames from @options [@sources ...] and do
" not update these files when filelists change.
call call(g:SpotBugsPreCompilerCommand, [''])
else
" Collect filenames so that Javac can figure out what to compile.
let filelist = []
for arg_num in range(argc(-1))
let arg_name = argv(arg_num)
if arg_name =~# '\.java\=$'
call add(filelist, fnamemodify(arg_name, ':p:S'))
endif
endfor
for buf_num in range(1, bufnr('$'))
if !buflisted(buf_num)
continue
endif
let buf_name = bufname(buf_num)
if buf_name =~# '\.java\=$'
let buf_name = fnamemodify(buf_name, ':p:S')
if index(filelist, buf_name) < 0
call add(filelist, buf_name)
endif
endif
endfor
noautocmd call writefile(filelist, s:filename)
call call(g:SpotBugsPreCompilerCommand, [shellescape('@' . s:filename)])
endif
endfunction
function! spotbugs#DefaultPreCompilerTestAction() abort
call spotbugs#DefaultPreCompilerAction()
endfunction
function! spotbugs#DefaultProperties() abort
return {
\ 'PreCompilerAction':
\ function('spotbugs#DefaultPreCompilerAction'),
\ 'PostCompilerAction':
\ function('spotbugs#DefaultPostCompilerAction'),
\ }
endfunction
unlet s:readable s:compiler g:SpotBugsPreCompilerTestCommand
delfunction! s:DefaultPreCompilerTestCommand
else
function! spotbugs#DefaultPreCompilerAction() abort
echomsg printf('Not supported: "%s"', s:compiler)
endfunction
function! spotbugs#DefaultPreCompilerTestAction() abort
call spotbugs#DefaultPreCompilerAction()
endfunction
function! spotbugs#DefaultProperties() abort
return {}
endfunction
" XXX: Keep "s:compiler" around for "spotbugs#DefaultPreCompilerAction()",
" "s:DefaultPostCompilerCommand" -- "spotbugs#DefaultPostCompilerAction()".
unlet s:readable g:SpotBugsPreCompilerCommand g:SpotBugsPreCompilerTestCommand
delfunction! s:DefaultPreCompilerCommand
delfunction! s:DefaultPreCompilerTestCommand
endif
function! s:DefineBufferAutocmd(event, ...) abort
if !exists('#java_spotbugs#User')
return 1
endif
for l:event in insert(copy(a:000), a:event)
if l:event != 'User'
execute printf('silent! autocmd! java_spotbugs %s <buffer>', l:event)
execute printf('autocmd java_spotbugs %s <buffer> doautocmd User', l:event)
endif
endfor
return 0
endfunction
function! s:RemoveBufferAutocmd(event, ...) abort
if !exists('#java_spotbugs')
return 1
endif
for l:event in insert(copy(a:000), a:event)
if l:event != 'User'
execute printf('silent! autocmd! java_spotbugs %s <buffer>', l:event)
endif
endfor
return 0
endfunction
" Documented in ":help compiler-spotbugs".
command! -bar -nargs=+ -complete=event SpotBugsDefineBufferAutocmd
\ call s:DefineBufferAutocmd(<f-args>)
command! -bar -nargs=+ -complete=event SpotBugsRemoveBufferAutocmd
\ call s:RemoveBufferAutocmd(<f-args>)
let &cpo = s:save_cpo
unlet s:commands s:state s:save_cpo
" vim: set foldmethod=syntax shiftwidth=2 expandtab:

View File

@@ -1,6 +1,6 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Nov 14, 2023
" Date: Nov 11, 2024
" Version: 32b (with modifications from the Vim Project)
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E Campbell
@@ -23,7 +23,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v32a"
let g:loaded_tar= "v32b"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@@ -41,7 +41,7 @@ if !exists("g:tar_browseoptions")
let g:tar_browseoptions= "Ptf"
endif
if !exists("g:tar_readoptions")
let g:tar_readoptions= "OPxf"
let g:tar_readoptions= "pPxf"
endif
if !exists("g:tar_cmd")
let g:tar_cmd= "tar"
@@ -80,7 +80,7 @@ if !exists("g:tar_copycmd")
let g:tar_copycmd= g:netrw_localcopycmd
endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
let g:tar_extractcmd= "tar -pxf"
endif
" set up shell quoting character
@@ -294,6 +294,41 @@ fun! tar#Read(fname,mode)
set report=10
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
" changing the directory to the temporary earlier to allow tar to extract the file with permissions intact
if !exists("*mkdir")
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
let &report= repkeep
return
endif
let curdir= getcwd()
let tmpdir= tempname()
let b:curdir= tmpdir
let b:tmpdir= curdir
if tmpdir =~ '\.'
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
endif
call mkdir(tmpdir,"p")
" attempt to change to the indicated directory
try
exe "cd ".fnameescape(tmpdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
let &report= repkeep
return
endtry
" place temporary files under .../_ZIPVIM_/
if isdirectory("_ZIPVIM_")
call s:Rmdir("_ZIPVIM_")
endif
call mkdir("_ZIPVIM_")
cd _ZIPVIM_
if has("win32unix") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
@@ -332,9 +367,10 @@ fun! tar#Read(fname,mode)
if tarfile =~# '\.bz2$'
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
elseif tarfile =~# '\.\(gz\)$'
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
elseif tarfile =~# '\(\.tgz\|\.tbz\|\.txz\)'
if has("unix") && executable("file")
let filekind= system("file ".shellescape(tarfile,1))
@@ -343,20 +379,27 @@ fun! tar#Read(fname,mode)
endif
if filekind =~ "bzip2"
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
elseif filekind =~ "XZ"
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
elseif filekind =~ "Zstandard"
exe "sil! r! zstd --decompress --stdout -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
else
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
endif
elseif tarfile =~# '\.lrp$'
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
elseif tarfile =~# '\.lzma$'
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
elseif tarfile =~# '\.\(xz\|txz\)$'
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
@@ -364,6 +407,16 @@ fun! tar#Read(fname,mode)
endif
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp
exe "read ".fname
endif
redraw!
if v:shell_error != 0
cd ..
call s:Rmdir("_ZIPVIM_")
exe "cd ".fnameescape(curdir)
echohl Error | echo "***error*** (tar#Read) sorry, unable to open or extract ".tarfile." with ".fname | echohl None
endif
if doro
@@ -388,6 +441,10 @@ fun! tar#Write(fname)
" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
let repkeep= &report
set report=10
" temporary buffer variable workaround because too fucking tired. but it works now
let curdir= b:curdir
let tmpdir= b:tmpdir
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
redraw!
@@ -404,44 +461,6 @@ fun! tar#Write(fname)
" call Dret("tar#Write")
return
endif
if !exists("*mkdir")
redraw!
" call Decho("***error*** (tar#Write) sorry, mkdir() doesn't work on your system")
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
let &report= repkeep
" call Dret("tar#Write")
return
endif
let curdir= getcwd()
let tmpdir= tempname()
" call Decho("orig tempname<".tmpdir.">")
if tmpdir =~ '\.'
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
endif
" call Decho("tmpdir<".tmpdir.">")
call mkdir(tmpdir,"p")
" attempt to change to the indicated directory
try
exe "cd ".fnameescape(tmpdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
" call Decho("***error*** (tar#Write) cannot cd to temporary directory")
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
let &report= repkeep
" call Dret("tar#Write")
return
endtry
" call Decho("current directory now: ".getcwd())
" place temporary files under .../_ZIPVIM_/
if isdirectory("_ZIPVIM_")
call s:Rmdir("_ZIPVIM_")
endif
call mkdir("_ZIPVIM_")
cd _ZIPVIM_
" call Decho("current directory now: ".getcwd())
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')

219
runtime/autoload/tutor.vim Normal file
View File

@@ -0,0 +1,219 @@
" vim: fdm=marker et ts=4 sw=4
" Setup: {{{1
function! tutor#SetupVim()
if !exists('g:did_load_ftplugin') || g:did_load_ftplugin != 1
filetype plugin on
endif
if has('syntax')
if !exists('g:syntax_on') || g:syntax_on == 0
syntax on
endif
endif
endfunction
" Loads metadata file, if available
function! tutor#LoadMetadata()
let b:tutor_metadata = json_decode(join(readfile(expand('%').'.json'), "\n"))
endfunction
" Mappings: {{{1
function! tutor#SetNormalMappings()
nnoremap <silent> <buffer> <CR> :call tutor#FollowLink(0)<cr>
nnoremap <silent> <buffer> <2-LeftMouse> :call tutor#MouseDoubleClick()<cr>
nnoremap <buffer> >> :call tutor#InjectCommand()<cr>
endfunction
function! tutor#MouseDoubleClick()
if foldclosed(line('.')) > -1
normal! zo
else
if match(getline('.'), '^#\{1,} ') > -1
silent normal! zc
else
call tutor#FollowLink(0)
endif
endif
endfunction
function! tutor#InjectCommand()
let l:cmd = substitute(getline('.'), '^\s*', '', '')
exe l:cmd
redraw | echohl WarningMsg | echon "tutor: ran" | echohl None | echon " " | echohl Statement | echon l:cmd
endfunction
function! tutor#FollowLink(force)
let l:stack_s = join(map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")'), '')
if l:stack_s =~# 'tutorLink'
let l:link_start = searchpairpos('\[', '', ')', 'nbcW')
let l:link_end = searchpairpos('\[', '', ')', 'ncW')
if l:link_start[0] == l:link_end[0]
let l:linkData = getline(l:link_start[0])[l:link_start[1]-1:l:link_end[1]-1]
else
return
endif
let l:target = matchstr(l:linkData, '(\@<=.*)\@=')
if a:force != 1 && match(l:target, '\*.\+\*') > -1
call cursor(l:link_start[0], l:link_end[1])
call search(l:target, '')
normal! ^
elseif a:force != 1 && match(l:target, '^@tutor:') > -1
let l:tutor = matchstr(l:target, '@tutor:\zs.*')
exe "Tutor ".l:tutor
else
exe "help ".l:target
endif
endif
endfunction
" Folding And Info: {{{1
function! tutor#TutorFolds()
if getline(v:lnum) =~# '^#\{1,6}'
return ">". len(matchstr(getline(v:lnum), '^#\{1,6}'))
else
return "="
endif
endfunction
" Marks: {{{1
function! tutor#ApplyMarks()
hi! link tutorExpect Special
if exists('b:tutor_metadata') && has_key(b:tutor_metadata, 'expect')
let b:tutor_sign_id = 1
for expct in keys(b:tutor_metadata['expect'])
let lnum = eval(expct)
call matchaddpos('tutorExpect', [lnum])
call tutor#CheckLine(lnum)
endfor
endif
endfunction
function! tutor#ApplyMarksOnChanged()
if exists('b:tutor_metadata') && has_key(b:tutor_metadata, 'expect')
let lnum = line('.')
if index(keys(b:tutor_metadata['expect']), string(lnum)) > -1
call tutor#CheckLine(lnum)
endif
endif
endfunction
function! tutor#CheckLine(line)
if exists('b:tutor_metadata') && has_key(b:tutor_metadata, 'expect')
let bufn = bufnr('%')
let ctext = getline(a:line)
if b:tutor_metadata['expect'][string(a:line)] == -1 || ctext ==# b:tutor_metadata['expect'][string(a:line)]
exe "sign place ".b:tutor_sign_id." line=".a:line." name=tutorok buffer=".bufn
else
exe "sign place ".b:tutor_sign_id." line=".a:line." name=tutorbad buffer=".bufn
endif
let b:tutor_sign_id+=1
endif
endfunction
" Tutor Cmd: {{{1
function! s:Locale()
if exists('v:lang') && v:lang =~ '\a\a'
let l:lang = v:lang
elseif $LC_ALL =~ '\a\a'
let l:lang = $LC_ALL
elseif $LANG =~ '\a\a'
let l:lang = $LANG
else
let l:lang = 'en_US'
endif
return split(l:lang, '_')
endfunction
function! s:GlobPath(lp, pat)
if version >= 704 && has('patch279')
return globpath(a:lp, a:pat, 1, 1)
else
return split(globpath(a:lp, a:pat, 1), '\n')
endif
endfunction
function! s:Sort(a, b)
let mod_a = fnamemodify(a:a, ':t')
let mod_b = fnamemodify(a:b, ':t')
if mod_a == mod_b
let retval = 0
elseif mod_a > mod_b
if match(mod_a, '^vim-') > -1 && match(mod_b, '^vim-') == -1
let retval = -1
else
let retval = 1
endif
else
if match(mod_b, '^vim-') > -1 && match(mod_a, '^vim-') == -1
let retval = 1
else
let retval = -1
endif
endif
return retval
endfunction
function! s:GlobTutorials(name)
" search for tutorials:
" 1. non-localized
let l:tutors = s:GlobPath(&rtp, 'tutor/'.a:name.'.tutor')
" 2. localized for current locale
let l:locale_tutors = s:GlobPath(&rtp, 'tutor/'.s:Locale()[0].'/'.a:name.'.tutor')
" 3. fallback to 'en'
if len(l:locale_tutors) == 0
let l:locale_tutors = s:GlobPath(&rtp, 'tutor/en/'.a:name.'.tutor')
endif
call extend(l:tutors, l:locale_tutors)
return uniq(sort(l:tutors, 's:Sort'), 's:Sort')
endfunction
function! tutor#TutorCmd(tutor_name)
if match(a:tutor_name, '[[:space:]]') > 0
echom "Only one argument accepted (check spaces)"
return
endif
if a:tutor_name == ''
let l:tutor_name = 'vim-01-beginner.tutor'
else
let l:tutor_name = a:tutor_name
endif
if match(l:tutor_name, '\.tutor$') > 0
let l:tutor_name = fnamemodify(l:tutor_name, ':r')
endif
let l:tutors = s:GlobTutorials(l:tutor_name)
if len(l:tutors) == 0
echom "No tutorial with that name found"
return
endif
if len(l:tutors) == 1
let l:to_open = l:tutors[0]
else
let l:idx = 0
let l:candidates = ['Several tutorials with that name found. Select one:']
for candidate in map(copy(l:tutors),
\'fnamemodify(v:val, ":h:h:t")."/".s:Locale()[0]."/".fnamemodify(v:val, ":t")')
let l:idx += 1
call add(l:candidates, l:idx.'. '.candidate)
endfor
let l:tutor_to_open = inputlist(l:candidates)
let l:to_open = l:tutors[l:tutor_to_open-1]
endif
call tutor#SetupVim()
exe "edit ".l:to_open
endfunction
function! tutor#TutorCmdComplete(lead,line,pos)
let l:tutors = s:GlobTutorials('*')
let l:names = uniq(sort(map(l:tutors, 'fnamemodify(v:val, ":t:r")'), 's:Sort'))
return join(l:names, "\n")
endfunction

View File

@@ -0,0 +1,79 @@
" Language: Typst
" Previous Maintainer: Gregory Anders
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
" Last Change: 2024 Dec 09
" Based on: https://github.com/kaarmu/typst.vim
function! typst#indentexpr() abort
let l:lnum = v:lnum
let s:sw = shiftwidth()
let [l:plnum, l:pline] = s:get_prev_nonblank(l:lnum - 1)
if l:plnum == 0 | return 0 | endif
let l:line = getline(l:lnum)
let l:ind = indent(l:plnum)
let l:synname = synIDattr(synID(l:lnum, 1, 1), 'name')
" Use last indent for block comments
if l:synname == 'typstCommentBlock'
return l:ind
" do not change the indents of bullet lists
elseif l:synname == 'typstMarkupBulletList'
return indent(a:lnum)
endif
if l:pline =~ '\v[{[(]\s*$'
let l:ind += s:sw
endif
if l:line =~ '\v^\s*[}\])]'
let l:ind -= s:sw
endif
return l:ind
endfunction
function typst#foldexpr()
let line = getline(v:lnum)
" Whenever the user wants to fold nested headers under the parent
let nested = get(g:, "typst_foldnested", 1)
" Regular headers
let depth = match(line, '\(^=\+\)\@<=\( .*$\)\@=')
" Do not fold nested regular headers
if depth > 1 && !nested
let depth = 1
endif
if depth > 0
" check syntax, it should be typstMarkupHeading
let syncode = synstack(v:lnum, 1)
if len(syncode) > 0 && synIDattr(syncode[0], 'name') ==# 'typstMarkupHeading'
return ">" . depth
endif
endif
return "="
endfunction
" Gets the previous non-blank line that is not a comment.
function! s:get_prev_nonblank(lnum) abort
let l:lnum = prevnonblank(a:lnum)
let l:line = getline(l:lnum)
while l:lnum > 0 && l:line =~ '^\s*//'
let l:lnum = prevnonblank(l:lnum - 1)
let l:line = getline(l:lnum)
endwhile
return [l:lnum, s:remove_comments(l:line)]
endfunction
" Removes comments from the given line.
function! s:remove_comments(line) abort
return substitute(a:line, '\s*//.*', '', '')
endfunction

View File

@@ -1,100 +0,0 @@
" Adapted from fatih/vim-go: autoload/go/fmt.vim
"
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" Upstream: https://github.com/ziglang/zig.vim
function! zig#fmt#Format() abort
" Save cursor position and many other things.
let view = winsaveview()
if !executable('zig')
echohl Error | echomsg "no zig binary found in PATH" | echohl None
return
endif
let cmdline = 'zig fmt --stdin --ast-check'
let current_buf = bufnr('')
" The formatted code is output on stdout, the errors go on stderr.
if exists('*systemlist')
silent let out = systemlist(cmdline, current_buf)
else
silent let out = split(system(cmdline, current_buf))
endif
if len(out) == 1
if out[0] == "error: unrecognized parameter: '--ast-check'"
let cmdline = 'zig fmt --stdin'
if exists('*systemlist')
silent let out = systemlist(cmdline, current_buf)
else
silent let out = split(system(cmdline, current_buf))
endif
endif
endif
let err = v:shell_error
if err == 0
" remove undo point caused via BufWritePre.
try | silent undojoin | catch | endtry
" Replace the file content with the formatted version.
if exists('*deletebufline')
call deletebufline(current_buf, len(out), line('$'))
else
silent execute ':' . len(out) . ',' . line('$') . ' delete _'
endif
call setline(1, out)
" No errors detected, close the loclist.
call setloclist(0, [], 'r')
lclose
elseif get(g:, 'zig_fmt_parse_errors', 1)
let errors = s:parse_errors(expand('%'), out)
call setloclist(0, [], 'r', {
\ 'title': 'Errors',
\ 'items': errors,
\ })
let max_win_height = get(g:, 'zig_fmt_max_window_height', 5)
" Prevent the loclist from becoming too long.
let win_height = min([max_win_height, len(errors)])
" Open the loclist, but only if there's at least one error to show.
execute 'silent! lwindow ' . win_height
endif
call winrestview(view)
if err != 0
echohl Error | echomsg "zig fmt returned error" | echohl None
return
endif
" Run the syntax highlighter on the updated content and recompute the folds if
" needed.
syntax sync fromstart
endfunction
" parse_errors parses the given errors and returns a list of parsed errors
function! s:parse_errors(filename, lines) abort
" list of errors to be put into location list
let errors = []
for line in a:lines
let tokens = matchlist(line, '^\(.\{-}\):\(\d\+\):\(\d\+\)\s*\(.*\)')
if !empty(tokens)
call add(errors,{
\"filename": a:filename,
\"lnum": tokens[2],
\"col": tokens[3],
\"text": tokens[4],
\ })
endif
endfor
return errors
endfunction
" vim: sw=2 ts=2 et

View File

@@ -1,36 +1,38 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: Mar 12, 2023
" Version: 33
" AUTOLOAD PORTION
" Date: 2024 Aug 21
" Version: 34
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E Campbell
" Last Change:
" 2024 Jun 16 by Vim Project: handle whitespace on Windows properly (#14998)
" 2024 Jul 23 by Vim Project: fix 'x' command
" 2024 Jul 24 by Vim Project: use delete() function
" 2024 Jul 30 by Vim Project: fix opening remote zipfile
" 2024 Aug 04 by Vim Project: escape '[' in name of file to be extracted
" 2024 Aug 05 by Vim Project: workaround for the FreeBSD's unzip
" 2024 Aug 05 by Vim Project: clean-up and make it work with shellslash on Windows
" 2024 Aug 18 by Vim Project: correctly handle special globbing chars
" 2024 Aug 21 by Vim Project: simplify condition to detect MS-Windows
" 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,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" zip.vim and zipPlugin.vim are provided *as is* and comes with
" no warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" zip.vim and zipPlugin.vim are provided *as is* and comes with
" no warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
" ---------------------------------------------------------------------
" Load Once: {{{1
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v33"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2 or later"
echohl Normal
finish
endif
let g:loaded_zip= "v34"
let s:keepcpo= &cpo
set cpo&vim
"DechoTabOn
let s:zipfile_escape = ' ?&;\'
let s:ERROR = 2
@@ -58,8 +60,28 @@ if !exists("g:zip_extractcmd")
let g:zip_extractcmd= g:zip_unzipcmd
endif
" ---------------------------------------------------------------------
" required early
" s:Mess: {{{2
fun! s:Mess(group, msg)
redraw!
exe "echohl " . a:group
echomsg a:msg
echohl Normal
endfun
if v:version < 901
" required for defer
call s:Mess('WarningMsg', "***warning*** this version of zip needs vim 9.1 or later")
finish
endif
" sanity checks
if !executable(g:zip_unzipcmd)
call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system")
finish
endif
if !dist#vim#IsSafeExecutable('zip', g:zip_unzipcmd)
echoerr "Warning: NOT executing " .. g:zip_unzipcmd .. " from current directory!"
call s:Mess('Error', "Warning: NOT executing " .. g:zip_unzipcmd .. " from current directory!")
finish
endif
@@ -70,47 +92,28 @@ endif
" ---------------------------------------------------------------------
" zip#Browse: {{{2
fun! zip#Browse(zipfile)
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
" sanity check: insure that the zipfile has "PK" as its first two letters
" (zipped files have a leading PK as a "magic cookie")
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
" sanity check: ensure that the zipfile has "PK" as its first two letters
" (zip files have a leading PK as a "magic cookie")
if filereadable(a:zipfile) && readblob(a:zipfile, 0, 2) != 0z50.4B
exe "noswapfile noautocmd e " .. fnameescape(a:zipfile)
return
" else " Decho
" call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - it's a zip file")
endif
let repkeep= &report
set report=10
let dict = s:SetSaneOpts()
defer s:RestoreOpts(dict)
" sanity checks
if !exists("*fnameescape")
if &verbose > 1
echoerr "the zip plugin is not available (your vim doesn't support fnameescape())"
endif
return
endif
if !executable(g:zip_unzipcmd)
redraw!
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Browse")
call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system")
return
endif
if !filereadable(a:zipfile)
if a:zipfile !~# '^\a\+://'
" if it's an url, don't complain, let url-handlers such as vim do its thing
redraw!
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
call s:Mess('Error', "***error*** (zip#Browse) File not readable <".a:zipfile.">")
endif
let &report= repkeep
" call Dret("zip#Browse : file<".a:zipfile."> not readable")
return
endif
" call Decho("passed sanity checks")
if &ma != 1
set ma
endif
@@ -135,19 +138,15 @@ fun! zip#Browse(zipfile)
\ '" Select a file with cursor and press ENTER'])
keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
exe "keepj sil! r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
exe $"keepj sil r! {g:zip_unzipcmd} -Z1 -- {s:Escape(a:zipfile, 1)}"
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
call s:Mess('WarningMsg', "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file")
keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "keepj r ".fnameescape(a:zipfile)
let &ei= eikeep
keepj 1d
" call Dret("zip#Browse")
return
endif
@@ -159,64 +158,46 @@ fun! zip#Browse(zipfile)
noremap <silent> <buffer> <leftmouse> <leftmouse>:call <SID>ZipBrowseSelect()<cr>
endif
let &report= repkeep
" call Dret("zip#Browse")
endfun
" ---------------------------------------------------------------------
" ZipBrowseSelect: {{{2
fun! s:ZipBrowseSelect()
" call Dfunc("ZipBrowseSelect() zipfile<".((exists("b:zipfile"))? b:zipfile : "n/a")."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let dict = s:SetSaneOpts()
defer s:RestoreOpts(dict)
let fname= getline(".")
if !exists("b:zipfile")
" call Dret("ZipBrowseSelect : b:zipfile doesn't exist!")
return
endif
" sanity check
if fname =~ '^"'
let &report= repkeep
" call Dret("ZipBrowseSelect")
return
endif
if fname =~ '/$'
redraw!
echohl Error | echo "***error*** (zip#Browse) Please specify a file, not a directory" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("ZipBrowseSelect")
call s:Mess('Error', "***error*** (zip#Browse) Please specify a file, not a directory")
return
endif
" call Decho("fname<".fname.">")
" get zipfile to the new-window
let zipfile = b:zipfile
let curfile = expand("%")
" call Decho("zipfile<".zipfile.">")
" call Decho("curfile<".curfile.">")
noswapfile new
if !exists("g:zip_nomax") || g:zip_nomax == 0
wincmd _
endif
let s:zipfile_{winnr()}= curfile
" call Decho("exe e ".fnameescape("zipfile://".zipfile.'::'.fname))
exe "noswapfile e ".fnameescape("zipfile://".zipfile.'::'.fname)
filetype detect
let &report= repkeep
" call Dret("ZipBrowseSelect : s:zipfile_".winnr()."<".s:zipfile_{winnr()}.">")
endfun
" ---------------------------------------------------------------------
" zip#Read: {{{2
fun! zip#Read(fname,mode)
" call Dfunc("zip#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
let dict = s:SetSaneOpts()
defer s:RestoreOpts(dict)
if has("unix")
let zipfile = substitute(a:fname,'zipfile://\(.\{-}\)::[^\\].*$','\1','')
@@ -224,28 +205,20 @@ fun! zip#Read(fname,mode)
else
let zipfile = substitute(a:fname,'^.\{-}zipfile://\(.\{-}\)::[^\\].*$','\1','')
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
let fname = substitute(fname, '[', '[[]', 'g')
endif
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
let fname = fname->substitute('[', '[[]', 'g')->escape('?*\\')
" sanity check
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','',''))
redraw!
echohl Error | echo "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
call s:Mess('Error', "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program")
return
endif
" the following code does much the same thing as
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1)
" but allows zipfile://... entries in quickfix lists
let temp = tempname()
" call Decho("using temp file<".temp.">")
let fn = expand('%:p')
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp
" call Decho("exe sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp)
exe "sil !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1).' > '.temp
sil exe 'keepalt file '.temp
sil keepj e!
sil exe 'keepalt file '.fnameescape(fn)
@@ -254,62 +227,44 @@ fun! zip#Read(fname,mode)
filetype detect
" cleanup
" keepj 0d " used to be needed for the ...r! ... method
set nomod
let &report= repkeep
" call Dret("zip#Read")
endfun
" ---------------------------------------------------------------------
" zip#Write: {{{2
fun! zip#Write(fname)
" call Dfunc("zip#Write(fname<".a:fname.">) zipfile_".winnr()."<".s:zipfile_{winnr()}.">")
let repkeep= &report
set report=10
let dict = s:SetSaneOpts()
defer s:RestoreOpts(dict)
" sanity checks
if !executable(substitute(g:zip_zipcmd,'\s\+.*$','',''))
redraw!
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
call s:Mess('Error', "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program")
return
endif
if !exists("*mkdir")
redraw!
echohl Error | echo "***error*** (zip#Write) sorry, mkdir() doesn't work on your system" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("zip#Write")
call s:Mess('Error', "***error*** (zip#Write) sorry, mkdir() doesn't work on your system")
return
endif
let curdir= getcwd()
let tmpdir= tempname()
" call Decho("orig tempname<".tmpdir.">")
if tmpdir =~ '\.'
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
endif
" call Decho("tmpdir<".tmpdir.">")
call mkdir(tmpdir,"p")
" attempt to change to the indicated directory
if s:ChgDir(tmpdir,s:ERROR,"(zip#Write) cannot cd to temporary directory")
let &report= repkeep
" call Dret("zip#Write")
return
endif
" call Decho("current directory now: ".getcwd())
" place temporary files under .../_ZIPVIM_/
if isdirectory("_ZIPVIM_")
call s:Rmdir("_ZIPVIM_")
call delete("_ZIPVIM_", "rf")
endif
call mkdir("_ZIPVIM_")
cd _ZIPVIM_
" call Decho("current directory now: ".getcwd())
if has("unix")
let zipfile = substitute(a:fname,'zipfile://\(.\{-}\)::[^\\].*$','\1','')
@@ -318,21 +273,17 @@ fun! zip#Write(fname)
let zipfile = substitute(a:fname,'^.\{-}zipfile://\(.\{-}\)::[^\\].*$','\1','')
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
endif
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if has("win32unix") && executable("cygpath")
let dirpath = substitute(system("cygpath ".s:Escape(dirpath,0)),'\n','','e')
endif
" call Decho("mkdir(dirpath<".dirpath.">,p)")
call mkdir(dirpath,"p")
endif
if zipfile !~ '/'
let zipfile= curdir.'/'.zipfile
endif
" call Decho("zipfile<".zipfile."> fname<".fname.">")
exe "w! ".fnameescape(fname)
if has("win32unix") && executable("cygpath")
@@ -343,17 +294,13 @@ fun! zip#Write(fname)
let fname = substitute(fname, '[', '[[]', 'g')
endif
" call Decho(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
call system(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
call s:Mess('Error', "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname)
elseif s:zipfile_{winnr()} =~ '^\a\+://'
" support writing zipfiles across a network
let netzipfile= s:zipfile_{winnr()}
" call Decho("handle writing <".zipfile."> across network as <".netzipfile.">")
1split|enew
let binkeep= &binary
let eikeep = &ei
@@ -365,64 +312,63 @@ fun! zip#Write(fname)
q!
unlet s:zipfile_{winnr()}
endif
" cleanup and restore current directory
cd ..
call s:Rmdir("_ZIPVIM_")
call delete("_ZIPVIM_", "rf")
call s:ChgDir(curdir,s:WARNING,"(zip#Write) unable to return to ".curdir."!")
call s:Rmdir(tmpdir)
call delete(tmpdir, "rf")
setlocal nomod
let &report= repkeep
" call Dret("zip#Write")
endfun
" ---------------------------------------------------------------------
" zip#Extract: extract a file from a zip archive {{{2
fun! zip#Extract()
" call Dfunc("zip#Extract()")
let repkeep= &report
set report=10
let dict = s:SetSaneOpts()
defer s:RestoreOpts(dict)
let fname= getline(".")
" call Decho("fname<".fname.">")
" sanity check
if fname =~ '^"'
let &report= repkeep
" call Dret("zip#Extract")
return
endif
if fname =~ '/$'
redraw!
echohl Error | echo "***error*** (zip#Extract) Please specify a file, not a directory" | echohl None
let &report= repkeep
" call Dret("zip#Extract")
call s:Mess('Error', "***error*** (zip#Extract) Please specify a file, not a directory")
return
endif
if filereadable(fname)
call s:Mess('Error', "***error*** (zip#Extract) <" .. fname .."> already exists in directory, not overwriting!")
return
endif
let target = fname->substitute('\[', '[[]', 'g')
if &shell =~ 'cmd' && has("win32")
let target = target
\ ->substitute('[?*]', '[&]', 'g')
\ ->substitute('[\\]', '?', 'g')
\ ->shellescape()
" there cannot be a file name with '\' in its name, unzip replaces it by _
let fname = fname->substitute('[\\?*]', '_', 'g')
else
let target = target->escape('*?\\')->shellescape()
endif
" extract the file mentioned under the cursor
" call Decho("system(".g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell).")")
call system(g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell))
" call Decho("zipfile<".b:zipfile.">")
call system($"{g:zip_extractcmd} -o {shellescape(b:zipfile)} {target}")
if v:shell_error != 0
echohl Error | echo "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!" | echohl NONE
call s:Mess('Error', "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!")
elseif !filereadable(fname)
echohl Error | echo "***error*** attempted to extract ".fname." but it doesn't appear to be present!"
call s:Mess('Error', "***error*** attempted to extract ".fname." but it doesn't appear to be present!")
else
echo "***note*** successfully extracted ".fname
echomsg "***note*** successfully extracted ".fname
endif
" restore option
let &report= repkeep
" call Dret("zip#Extract")
endfun
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun! s:Escape(fname,isfilt)
" call Dfunc("QuoteFileDir(fname<".a:fname."> isfilt=".a:isfilt.")")
if exists("*shellescape")
if a:isfilt
let qnameq= shellescape(a:fname,1)
@@ -432,45 +378,48 @@ fun! s:Escape(fname,isfilt)
else
let qnameq= g:zip_shq.escape(a:fname,g:zip_shq).g:zip_shq
endif
" call Dret("QuoteFileDir <".qnameq.">")
return qnameq
endfun
" ---------------------------------------------------------------------
" ChgDir: {{{2
" s:ChgDir: {{{2
fun! s:ChgDir(newdir,errlvl,errmsg)
" call Dfunc("ChgDir(newdir<".a:newdir."> errlvl=".a:errlvl." errmsg<".a:errmsg.">)")
try
exe "cd ".fnameescape(a:newdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
if a:errlvl == s:NOTE
echo "***note*** ".a:errmsg
echomsg "***note*** ".a:errmsg
elseif a:errlvl == s:WARNING
echohl WarningMsg | echo "***warning*** ".a:errmsg | echohl NONE
call s:Mess("WarningMsg", "***warning*** ".a:errmsg)
elseif a:errlvl == s:ERROR
echohl Error | echo "***error*** ".a:errmsg | echohl NONE
call s:Mess("Error", "***error*** ".a:errmsg)
endif
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("ChgDir 1")
return 1
endtry
" call Dret("ChgDir 0")
return 0
endfun
" ---------------------------------------------------------------------
" s:Rmdir: {{{2
fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)")
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
call system("rmdir /S/Q ".s:Escape(a:fname,0))
else
call system("/bin/rm -rf ".s:Escape(a:fname,0))
endif
" call Dret("Rmdir")
" s:SetSaneOpts: {{{2
fun! s:SetSaneOpts()
let dict = {}
let dict.report = &report
let dict.shellslash = &shellslash
let &report = 10
let &shellslash = 0
return dict
endfun
" ---------------------------------------------------------------------
" s:RestoreOpts: {{{2
fun! s:RestoreOpts(dict)
for [key, val] in items(a:dict)
exe $"let &{key} = {val}"
endfor
endfun
" ------------------------------------------------------------------------

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Mon 08 Jan 2024 09:42:49 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -22,9 +22,11 @@ hi Normal guifg=#ffd700 guibg=#000087 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#005faf gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
hi PmenuSel guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
hi PmenuMatch guifg=#ffd700 guibg=#008787 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff7f50 guibg=#ffffff gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#d787d7 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#870087 gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#005faf gui=NONE cterm=NONE
hi CursorIM guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
@@ -75,6 +77,7 @@ hi Type guifg=#ffa500 guibg=NONE gui=bold cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Label guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link Debug Special
hi! link Added String
hi! link Removed WarningMsg
@@ -132,9 +135,11 @@ if s:t_Co >= 256
hi CursorLine ctermfg=NONE ctermbg=25 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=30 cterm=NONE
hi PmenuSel ctermfg=30 ctermbg=231 cterm=NONE
hi PmenuMatch ctermfg=220 ctermbg=30 cterm=NONE
hi PmenuMatchSel ctermfg=209 ctermbg=231 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=176 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=90 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=30 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=25 cterm=NONE
hi CursorIM ctermfg=16 ctermbg=220 cterm=NONE
@@ -185,6 +190,7 @@ if s:t_Co >= 256
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Label ctermfg=220 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link Debug Special
hi! link Added String
hi! link Removed WarningMsg
@@ -245,9 +251,11 @@ if s:t_Co >= 16
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuSel ctermfg=black ctermbg=white cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=white cterm=bold
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=darkmagenta cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
hi CursorIM ctermfg=black ctermbg=yellow cterm=NONE
@@ -298,6 +306,7 @@ if s:t_Co >= 16
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link Debug Special
hi! link Added String
hi! link Removed WarningMsg
@@ -358,6 +367,8 @@ if s:t_Co >= 8
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi Pmenu ctermfg=black ctermbg=cyan cterm=NONE
hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=cyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=gray cterm=bold
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=magenta cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -410,6 +421,7 @@ if s:t_Co >= 8
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link Debug Special
hi! link Added String
hi! link Removed WarningMsg

View File

@@ -4,7 +4,7 @@
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Mon 08 Jan 2024 09:43:03 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
endif
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi! link EndOfBuffer NonText
@@ -68,7 +69,7 @@ hi! link CurSearch Search
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi Normal guifg=#c0c0c0 guibg=#000040 gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi ColorColumn guifg=#c0c0c0 guibg=#8b0000 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#ffff60 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ff80ff gui=NONE cterm=NONE
@@ -85,6 +86,8 @@ hi Pmenu guifg=#ffffff guibg=#0030ff gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#0030ff guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff80ff guibg=#0030ff gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#ffffff gui=NONE cterm=NONE
hi Question guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=#808080 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
@@ -127,6 +130,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi! link EndOfBuffer NonText
@@ -176,7 +180,7 @@ if s:t_Co >= 256
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi Normal ctermfg=252 ctermbg=17 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=30 ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=252 ctermbg=88 cterm=NONE
hi Cursor ctermfg=16 ctermbg=227 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=213 cterm=NONE
@@ -193,6 +197,8 @@ if s:t_Co >= 256
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=27 ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuMatch ctermfg=213 ctermbg=27 cterm=NONE
hi PmenuMatchSel ctermfg=201 ctermbg=231 cterm=NONE
hi Question ctermfg=118 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=102 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=30 ctermbg=NONE cterm=NONE
@@ -238,7 +244,7 @@ endif
if s:t_Co >= 16
hi Normal ctermfg=grey ctermbg=black cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
hi Cursor ctermfg=black ctermbg=yellow cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
@@ -255,6 +261,8 @@ if s:t_Co >= 16
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=blue ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuMatch ctermfg=magenta ctermbg=blue cterm=NONE
hi PmenuMatchSel ctermfg=darkmagenta ctermbg=white cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
@@ -318,6 +326,8 @@ if s:t_Co >= 8
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=blue ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=grey ctermbg=blue cterm=bold
hi PmenuMatchSel ctermfg=blue ctermbg=grey cterm=bold
hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
hi Search ctermfg=darkcyan ctermbg=blue cterm=NONE
hi SignColumn ctermfg=grey ctermbg=NONE cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:34
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
endif
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
@@ -38,6 +39,8 @@ hi Pmenu guifg=#000000 guibg=#add8e6 gui=NONE cterm=NONE
hi PmenuSel guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi PmenuMatch guifg=#cd00cd guibg=#add8e6 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff87ff guibg=#00008b gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#bcbcbc gui=NONE cterm=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=bold
@@ -45,6 +48,7 @@ hi ToolbarLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#bcbcbc gui=bold cterm=bold
hi NonText guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#e4e4e4 gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#ee0000 gui=NONE cterm=NONE
@@ -82,7 +86,6 @@ hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#0000ff guibg=NONE gui=bold cterm=bold
hi Special guifg=#ff1493 guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#ee0000 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#cd00cd guibg=NONE gui=bold cterm=bold
hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
@@ -93,6 +96,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
@@ -112,6 +116,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=231 ctermbg=18 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=30 cterm=NONE
hi PmenuMatch ctermfg=164 ctermbg=152 cterm=NONE
hi PmenuMatchSel ctermfg=213 ctermbg=18 cterm=NONE
hi TabLine ctermfg=16 ctermbg=254 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=250 cterm=NONE
hi TabLineSel ctermfg=16 ctermbg=231 cterm=bold
@@ -119,6 +125,7 @@ if s:t_Co >= 256
hi ToolbarButton ctermfg=231 ctermbg=250 cterm=bold
hi NonText ctermfg=250 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=250 ctermbg=NONE cterm=NONE
hi Folded ctermfg=18 ctermbg=254 cterm=NONE
hi Visual ctermfg=16 ctermbg=252 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=196 cterm=NONE
@@ -156,7 +163,6 @@ if s:t_Co >= 256
hi Type ctermfg=21 ctermbg=NONE cterm=bold
hi Special ctermfg=198 ctermbg=NONE cterm=NONE
hi Directory ctermfg=30 ctermbg=NONE cterm=bold
hi Conceal ctermfg=196 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=164 ctermbg=NONE cterm=bold
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
@@ -180,6 +186,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=white ctermbg=darkblue cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=darkmagenta ctermbg=grey cterm=NONE
hi PmenuMatchSel ctermfg=magenta ctermbg=darkblue cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
@@ -187,6 +195,7 @@ if s:t_Co >= 16
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=grey cterm=NONE
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=darkred cterm=NONE
@@ -224,7 +233,6 @@ if s:t_Co >= 16
hi Type ctermfg=blue ctermbg=NONE cterm=bold
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=darkred ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
@@ -249,6 +257,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=gray ctermbg=black cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
@@ -256,6 +266,7 @@ if s:t_Co >= 8
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi NonText ctermfg=darkblue ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
@@ -291,7 +302,6 @@ if s:t_Co >= 8
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Special ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
@@ -398,6 +408,7 @@ endif
" Color: darkmagenta #870087 18 darkmagenta
" Color: darkcyan #008787 30 darkcyan
" Color: gray #878787 102 gray
" Color: magenta #ff87ff 213 magenta
" Term colors: bg0 statement constant preproc identifier type special bg1
" Term colors: comment statement constant preproc identifier type special fg0
" Color: bgDiffA #5F875F 65 darkgreen

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:34
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -27,6 +27,7 @@ hi! link CursorLineSign CursorLine
hi! link EndOfBuffer NonText
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
@@ -37,6 +38,8 @@ hi Pmenu guifg=#ffffff guibg=#666666 gui=NONE cterm=NONE
hi PmenuSel guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#333333 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#c2bfa5 gui=NONE cterm=NONE
hi PmenuMatch guifg=#ffa0a0 guibg=#666666 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#cd5c5c guibg=#f0e68c gui=NONE cterm=NONE
hi TabLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#c2bfa5 gui=NONE cterm=NONE
hi TabLineSel guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
@@ -101,6 +104,7 @@ if s:t_Co >= 256
hi! link EndOfBuffer NonText
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
@@ -111,6 +115,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=236 ctermbg=186 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=144 cterm=NONE
hi PmenuMatch ctermfg=217 ctermbg=241 cterm=NONE
hi PmenuMatchSel ctermfg=167 ctermbg=186 cterm=NONE
hi TabLine ctermfg=236 ctermbg=144 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=144 cterm=NONE
hi TabLineSel ctermfg=236 ctermbg=186 cterm=NONE
@@ -177,6 +183,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuMatch ctermfg=NONE ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=white cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
@@ -243,6 +251,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE

View File

@@ -3,7 +3,7 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" Website: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:35
" Last Change: 2024 Aug 15
" Generated by Colortemplate v2.2.3
@@ -72,6 +72,8 @@ hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#bebebe gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff00ff guibg=#444444 gui=bold cterm=bold
hi PmenuMatchSel guifg=#ff00ff guibg=#00cdcd gui=bold cterm=bold
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
@@ -140,6 +142,8 @@ if s:t_Co >= 256
hi PmenuSbar ctermfg=NONE ctermbg=250 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuMatch ctermfg=201 ctermbg=238 cterm=bold
hi PmenuMatchSel ctermfg=201 ctermbg=44 cterm=bold
hi Question ctermfg=46 ctermbg=NONE cterm=bold
hi Search ctermfg=16 ctermbg=226 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
@@ -211,6 +215,8 @@ if s:t_Co >= 16
hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuMatch ctermfg=magenta ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=magenta ctermbg=darkcyan cterm=bold
hi Question ctermfg=green ctermbg=NONE cterm=bold
hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
@@ -281,6 +287,8 @@ if s:t_Co >= 8
hi PmenuSbar ctermfg=grey ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=grey ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi Question ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Mon 08 Jan 2024 09:43:27 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -19,6 +19,7 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0087ff', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
hi! link VertSplit StatusLineNC
hi! link PopupSelected PmenuSel
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLineFill TabLine
@@ -75,6 +76,8 @@ hi StatusLine guifg=#333333 guibg=#ffffff gui=bold cterm=bold
hi StatusLineNC guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
hi TabLineSel guifg=#333333 guibg=#ffffff gui=bold cterm=bold
hi TabLine guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff80ff guibg=#4d4d4d gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#8b008b guibg=#bebebe gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#4d4d4d gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#bebebe gui=NONE cterm=NONE
@@ -84,7 +87,7 @@ hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#d3d3d3 gui=bold cterm=bold
hi IncSearch guifg=#00ff00 guibg=NONE gui=reverse cterm=reverse
@@ -127,6 +130,7 @@ hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link VertSplit StatusLineNC
hi! link PopupSelected PmenuSel
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLineFill TabLine
@@ -183,6 +187,8 @@ if s:t_Co >= 256
hi StatusLineNC ctermfg=236 ctermbg=252 cterm=NONE
hi TabLineSel ctermfg=236 ctermbg=231 cterm=bold
hi TabLine ctermfg=236 ctermbg=252 cterm=NONE
hi PmenuMatch ctermfg=201 ctermbg=239 cterm=NONE
hi PmenuMatchSel ctermfg=90 ctermbg=250 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=239 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=250 cterm=NONE
@@ -192,7 +198,7 @@ if s:t_Co >= 256
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=241 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=153 ctermbg=NONE cterm=NONE
hi Folded ctermfg=18 ctermbg=252 cterm=bold
hi IncSearch ctermfg=46 ctermbg=NONE cterm=reverse
@@ -238,6 +244,7 @@ endif
if s:t_Co >= 16
hi! link VertSplit StatusLineNC
hi! link PopupSelected PmenuSel
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLineFill TabLine
@@ -294,6 +301,8 @@ if s:t_Co >= 16
hi StatusLineNC ctermfg=black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
hi PmenuMatch ctermfg=white ctermbg=darkgray cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=gray cterm=bold
hi Pmenu ctermfg=white ctermbg=darkgray cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
@@ -303,7 +312,7 @@ if s:t_Co >= 16
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgray ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=lightblue ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=gray cterm=bold
hi IncSearch ctermfg=green ctermbg=NONE cterm=reverse
@@ -361,6 +370,8 @@ if s:t_Co >= 8
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=gray cterm=bold
hi QuickFixLine ctermfg=gray ctermbg=darkmagenta cterm=NONE
hi Error ctermfg=red ctermbg=gray cterm=reverse
hi ErrorMsg ctermfg=gray ctermbg=red cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxim Kim <habamax@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Mon 08 Jan 2024 09:39:53 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -16,13 +16,13 @@ let g:colors_name = 'habamax'
let s:t_Co = has('gui_running') ? -1 : (&t_Co ?? 0)
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d7875f', '#afd7af', '#d7d787', '#87afd7', '#d7afd7', '#87afaf', '#bcbcbc']
let g:terminal_ansi_colors = ['#1c1c1c', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d75f87', '#87d787', '#d7af87', '#5fafd7', '#d787d7', '#87afaf', '#bcbcbc']
endif
hi! link Terminal Normal
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link javaScriptFunction Statement
hi! link javaScriptIdentifier Statement
hi! link sqlKeyword Statement
@@ -34,7 +34,6 @@ hi! link vimOper Normal
hi! link vimSep Normal
hi! link vimParenSep Normal
hi! link vimCommentString Comment
hi! link gitCommitSummary Title
hi! link markdownUrl String
hi Normal guifg=#bcbcbc guibg=#1c1c1c gui=NONE cterm=NONE
hi Statusline guifg=#1c1c1c guibg=#9e9e9e gui=NONE cterm=NONE
@@ -42,11 +41,11 @@ hi StatuslineNC guifg=#1c1c1c guibg=#767676 gui=NONE cterm=NONE
hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
hi TabLine guifg=#1c1c1c guibg=#767676 gui=NONE cterm=NONE
hi TabLineFill guifg=#1c1c1c guibg=#767676 gui=NONE cterm=NONE
hi TabLineSel guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi TabLineSel guifg=#1c1c1c guibg=#9e9e9e gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#9e9e9e guibg=#1c1c1c gui=bold,reverse cterm=bold,reverse
hi ToolbarButton guifg=#767676 guibg=#1c1c1c gui=bold,reverse cterm=bold,reverse
hi QuickFixLine guifg=#1c1c1c guibg=#5f87af gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffaf5f guibg=NONE gui=bold cterm=bold
hi CursorLineNr guifg=#dadada guibg=NONE gui=bold cterm=bold
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi LineNrAbove guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi LineNrBelow guifg=#585858 guibg=NONE gui=NONE cterm=NONE
@@ -54,71 +53,72 @@ hi NonText guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#1c1c1c guibg=#87afaf gui=NONE cterm=NONE
hi Visual guifg=#87afaf guibg=#1c1c1c gui=reverse cterm=reverse
hi VisualNOS guifg=#1c1c1c guibg=#5f8787 gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#767676 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuKind guifg=#d7875f guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d75f5f guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuSel guifg=NONE guibg=#585858 gui=NONE cterm=NONE
hi PmenuKind guifg=#5f8787 guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuKindSel guifg=#5f8787 guibg=#585858 gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#9e9e9e guibg=#585858 gui=NONE cterm=NONE
hi PmenuMatch guifg=#ffaf5f guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ffaf5f guibg=#585858 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
hi ErrorMsg guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
hi ModeMsg guifg=#1c1c1c guibg=#d7d787 gui=NONE cterm=NONE
hi MoreMsg guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#afaf87 guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#d7d787 guibg=#1c1c1c gui=reverse cterm=reverse
hi Error guifg=#af5f5f guibg=#1c1c1c gui=reverse cterm=reverse
hi ErrorMsg guifg=#af5f5f guibg=#1c1c1c gui=reverse cterm=reverse
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg guifg=#5faf5f guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#d7af87 guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#d75f87 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#dadada guibg=NONE gui=bold cterm=bold
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
hi Search guifg=#1c1c1c guibg=#87af87 gui=NONE cterm=NONE
hi IncSearch guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
hi CurSearch guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
hi WildMenu guifg=#1c1c1c guibg=#d7d787 gui=NONE cterm=NONE
hi Search guifg=#5fafd7 guibg=#1c1c1c gui=reverse cterm=reverse
hi IncSearch guifg=#ffaf5f guibg=#1c1c1c gui=reverse cterm=reverse
hi CurSearch guifg=#ffaf5f guibg=#1c1c1c gui=reverse cterm=reverse
hi WildMenu guifg=#1c1c1c guibg=#d7af87 gui=bold cterm=bold
hi debugPC guifg=#1c1c1c guibg=#5f87af gui=NONE cterm=NONE
hi debugBreakpoint guifg=#1c1c1c guibg=#d7875f gui=NONE cterm=NONE
hi Cursor guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
hi debugBreakpoint guifg=#1c1c1c guibg=#d75f87 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi lCursor guifg=#1c1c1c guibg=#5fff00 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi Folded guifg=#9e9e9e guibg=#262626 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellCap guifg=NONE guibg=NONE guisp=#5f87af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellLocal guifg=NONE guibg=NONE guisp=#87af87 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellRare guifg=NONE guibg=NONE guisp=#d7afd7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellRare guifg=NONE guibg=NONE guisp=#d787d7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi Comment guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
hi String guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
hi Character guifg=#afd7af guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#d75f87 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#5faf5f guibg=NONE gui=NONE cterm=NONE
hi Character guifg=#87d787 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#87afaf guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#af87af guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#afaf87 guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#af875f guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#5f87af guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#5f8787 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=#d7d787 guibg=NONE gui=bold cterm=bold
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#87afaf guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug guifg=#5f8787 guibg=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#dadada guibg=#5f875f gui=NONE cterm=NONE
hi DiffDelete guifg=#af875f guibg=NONE gui=NONE cterm=NONE
hi Added guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
hi Changed guifg=#5f8787 guibg=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#5faf5f guibg=NONE gui=reverse cterm=reverse
hi DiffChange guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
hi DiffText guifg=#af87af guibg=NONE gui=reverse cterm=reverse
hi DiffDelete guifg=#af5f5f guibg=NONE gui=reverse cterm=reverse
hi Added guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
hi Changed guifg=#ffaf5f guibg=NONE gui=NONE cterm=NONE
hi Removed guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi diffSubname guifg=#af87af guibg=NONE gui=NONE cterm=NONE
hi DiffText guifg=#dadada guibg=#878787 gui=NONE cterm=NONE
hi DiffChange guifg=#bcbcbc guibg=#5f5f5f gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link Terminal Normal
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link javaScriptFunction Statement
hi! link javaScriptIdentifier Statement
hi! link sqlKeyword Statement
@@ -130,7 +130,6 @@ if s:t_Co >= 256
hi! link vimSep Normal
hi! link vimParenSep Normal
hi! link vimCommentString Comment
hi! link gitCommitSummary Title
hi! link markdownUrl String
hi Normal ctermfg=250 ctermbg=234 cterm=NONE
hi Statusline ctermfg=234 ctermbg=247 cterm=NONE
@@ -138,11 +137,11 @@ if s:t_Co >= 256
hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
hi TabLine ctermfg=234 ctermbg=243 cterm=NONE
hi TabLineFill ctermfg=234 ctermbg=243 cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold
hi TabLineSel ctermfg=234 ctermbg=247 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=247 ctermbg=234 cterm=bold,reverse
hi ToolbarButton ctermfg=243 ctermbg=234 cterm=bold,reverse
hi QuickFixLine ctermfg=234 ctermbg=67 cterm=NONE
hi CursorLineNr ctermfg=215 ctermbg=NONE cterm=bold
hi CursorLineNr ctermfg=253 ctermbg=NONE cterm=bold
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
hi LineNrAbove ctermfg=240 ctermbg=NONE cterm=NONE
hi LineNrBelow ctermfg=240 ctermbg=NONE cterm=NONE
@@ -150,62 +149,63 @@ if s:t_Co >= 256
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=240 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=240 ctermbg=NONE cterm=NONE
hi Visual ctermfg=234 ctermbg=109 cterm=NONE
hi Visual ctermfg=109 ctermbg=234 cterm=reverse
hi VisualNOS ctermfg=234 ctermbg=66 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=237 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=234 ctermbg=144 cterm=NONE
hi PmenuKind ctermfg=173 ctermbg=237 cterm=NONE
hi PmenuKindSel ctermfg=167 ctermbg=144 cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=240 cterm=NONE
hi PmenuKind ctermfg=66 ctermbg=237 cterm=NONE
hi PmenuKindSel ctermfg=66 ctermbg=240 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=237 cterm=NONE
hi PmenuExtraSel ctermfg=234 ctermbg=144 cterm=NONE
hi PmenuExtraSel ctermfg=247 ctermbg=240 cterm=NONE
hi PmenuMatch ctermfg=215 ctermbg=237 cterm=NONE
hi PmenuMatchSel ctermfg=215 ctermbg=240 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=167 ctermbg=234 cterm=reverse
hi ErrorMsg ctermfg=167 ctermbg=234 cterm=reverse
hi ModeMsg ctermfg=234 ctermbg=186 cterm=NONE
hi MoreMsg ctermfg=108 ctermbg=NONE cterm=NONE
hi Question ctermfg=144 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=173 ctermbg=NONE cterm=NONE
hi Todo ctermfg=186 ctermbg=234 cterm=reverse
hi Error ctermfg=131 ctermbg=234 cterm=reverse
hi ErrorMsg ctermfg=131 ctermbg=234 cterm=reverse
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=71 ctermbg=NONE cterm=NONE
hi Question ctermfg=180 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=168 ctermbg=NONE cterm=NONE
hi Todo ctermfg=253 ctermbg=NONE cterm=bold
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi Search ctermfg=234 ctermbg=108 cterm=NONE
hi IncSearch ctermfg=234 ctermbg=215 cterm=NONE
hi CurSearch ctermfg=234 ctermbg=144 cterm=NONE
hi WildMenu ctermfg=234 ctermbg=186 cterm=NONE
hi Search ctermfg=74 ctermbg=234 cterm=reverse
hi IncSearch ctermfg=215 ctermbg=234 cterm=reverse
hi CurSearch ctermfg=215 ctermbg=234 cterm=reverse
hi WildMenu ctermfg=234 ctermbg=180 cterm=bold
hi debugPC ctermfg=234 ctermbg=67 cterm=NONE
hi debugBreakpoint ctermfg=234 ctermbg=173 cterm=NONE
hi debugBreakpoint ctermfg=234 ctermbg=168 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi Folded ctermfg=247 ctermbg=235 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=67 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=108 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=182 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=215 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=176 ctermbg=NONE cterm=underline
hi Comment ctermfg=243 ctermbg=NONE cterm=NONE
hi Constant ctermfg=173 ctermbg=NONE cterm=NONE
hi String ctermfg=108 ctermbg=NONE cterm=NONE
hi Character ctermfg=151 ctermbg=NONE cterm=NONE
hi Constant ctermfg=168 ctermbg=NONE cterm=NONE
hi String ctermfg=71 ctermbg=NONE cterm=NONE
hi Character ctermfg=114 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=109 ctermbg=NONE cterm=NONE
hi Statement ctermfg=139 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=144 ctermbg=NONE cterm=NONE
hi Type ctermfg=110 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=137 ctermbg=NONE cterm=NONE
hi Type ctermfg=67 ctermbg=NONE cterm=NONE
hi Special ctermfg=66 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=186 ctermbg=NONE cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=109 ctermbg=NONE cterm=bold
hi Conceal ctermfg=243 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=240 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug ctermfg=66 ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=253 ctermbg=65 cterm=NONE
hi DiffDelete ctermfg=137 ctermbg=NONE cterm=NONE
hi Added ctermfg=108 ctermbg=NONE cterm=NONE
hi Changed ctermfg=66 ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=71 ctermbg=NONE cterm=reverse
hi DiffChange ctermfg=67 ctermbg=NONE cterm=reverse
hi DiffText ctermfg=139 ctermbg=NONE cterm=reverse
hi DiffDelete ctermfg=131 ctermbg=NONE cterm=reverse
hi Added ctermfg=77 ctermbg=NONE cterm=NONE
hi Changed ctermfg=215 ctermbg=NONE cterm=NONE
hi Removed ctermfg=167 ctermbg=NONE cterm=NONE
hi diffSubname ctermfg=139 ctermbg=NONE cterm=NONE
hi DiffText ctermfg=253 ctermbg=102 cterm=NONE
hi DiffChange ctermfg=250 ctermbg=59 cterm=NONE
unlet s:t_Co
finish
endif
@@ -217,11 +217,11 @@ if s:t_Co >= 16
hi VertSplit ctermfg=darkgray ctermbg=darkgray cterm=NONE
hi TabLine ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=gray ctermbg=black cterm=bold,reverse
hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE
hi CursorLineNr ctermfg=red ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=darkgray ctermbg=black cterm=bold,reverse
hi QuickFixLine ctermfg=black ctermbg=darkblue cterm=NONE
hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi LineNrAbove ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi LineNrBelow ctermfg=darkgrey ctermbg=NONE cterm=NONE
@@ -229,7 +229,7 @@ if s:t_Co >= 16
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=cyan cterm=NONE
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
@@ -239,27 +239,29 @@ if s:t_Co >= 16
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgray ctermbg=gray cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=reverse
hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
hi ModeMsg ctermfg=black ctermbg=yellow cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi Todo ctermfg=yellow ctermbg=black cterm=reverse
hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi MatchParen ctermfg=magenta ctermbg=NONE cterm=bold
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi IncSearch ctermfg=black ctermbg=red cterm=NONE
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi debugPC ctermfg=black ctermbg=blue cterm=NONE
hi Search ctermfg=blue ctermbg=black cterm=reverse
hi IncSearch ctermfg=red ctermbg=black cterm=reverse
hi CurSearch ctermfg=red ctermbg=black cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
hi debugBreakpoint ctermfg=black ctermbg=red cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=blue 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 Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
@@ -269,22 +271,21 @@ if s:t_Co >= 16
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=yellow ctermbg=NONE cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=darkgray ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffDelete ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi diffSubname ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi DiffText ctermfg=white ctermbg=lightgrey cterm=NONE
hi DiffChange ctermfg=white ctermbg=darkgray cterm=NONE
unlet s:t_Co
finish
endif
@@ -293,13 +294,13 @@ if s:t_Co >= 8
hi Normal ctermfg=gray ctermbg=black cterm=NONE
hi Statusline ctermfg=gray ctermbg=black cterm=bold,reverse
hi StatuslineNC ctermfg=gray ctermbg=black cterm=reverse
hi VertSplit ctermfg=gray ctermbg=black cterm=reverse
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
hi TabLineFill ctermfg=black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=gray ctermbg=black cterm=bold,reverse
hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
hi QuickFixLine ctermfg=black ctermbg=darkblue cterm=NONE
hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
hi LineNr ctermfg=gray ctermbg=NONE cterm=bold
hi LineNrAbove ctermfg=gray ctermbg=NONE cterm=bold
@@ -318,52 +319,53 @@ if s:t_Co >= 8
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=gray cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=gray cterm=bold,reverse
hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=bold,reverse
hi ModeMsg ctermfg=black ctermbg=darkyellow cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=black cterm=reverse
hi Todo ctermfg=gray ctermbg=NONE cterm=bold
hi MatchParen ctermfg=magenta ctermbg=NONE cterm=bold
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi Search ctermfg=black ctermbg=darkblue cterm=NONE
hi IncSearch ctermfg=black ctermbg=darkyellow cterm=NONE
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi debugPC ctermfg=black ctermbg=blue cterm=NONE
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
hi debugBreakpoint ctermfg=black ctermbg=darkcyan cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=gray cterm=reverse
hi SpellCap ctermfg=blue ctermbg=gray cterm=reverse
hi SpellCap ctermfg=darkblue ctermbg=gray cterm=reverse
hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse
hi SpellRare ctermfg=darkmagenta ctermbg=gray cterm=reverse
hi Comment ctermfg=gray ctermbg=NONE cterm=bold
hi Constant ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi String ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Character ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Identifier ctermfg=gray ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=gray ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffDelete ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi diffSubname ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi DiffText ctermfg=white ctermbg=black cterm=bold,reverse
hi DiffChange ctermfg=black ctermbg=white cterm=NONE
unlet s:t_Co
finish
endif
@@ -437,36 +439,39 @@ if s:t_Co >= 0
endif
" Background: dark
" Color: color00 #1C1C1C 234 black
" Color: color00 #1c1c1c 234 black
" Color: color08 #767676 243 darkgray
" Color: color01 #D75F5F 167 darkred
" Color: color09 #D7875F 173 red
" Color: color02 #87AF87 108 darkgreen
" Color: color10 #AFD7AF 151 green
" Color: color03 #AFAF87 144 darkyellow
" Color: color11 #D7D787 186 yellow
" Color: color04 #5F87AF 67 blue
" Color: color12 #87AFD7 110 blue
" Color: color05 #AF87AF 139 darkmagenta
" Color: color13 #D7AFD7 182 magenta
" Color: color06 #5F8787 66 darkcyan
" Color: color14 #87AFAF 109 cyan
" Color: color07 #9E9E9E 247 gray
" Color: color15 #BCBCBC 250 white
" Color: color01 #af5f5f 131 darkred
" Color: color09 #d75f87 168 red
" Color: color02 #5faf5f 71 darkgreen
" Color: color10 #87d787 114 green
" Color: color03 #af875f 137 darkyellow
" Color: color11 #d7af87 180 yellow
" Color: color04 #5f87af 67 darkblue
" Color: color12 #5fafd7 74 blue
" Color: color05 #af87af 139 darkmagenta
" Color: color13 #d787d7 176 magenta
" Color: color06 #5f8787 66 darkcyan
" Color: color14 #87afaf 109 cyan
" Color: color07 #9e9e9e 247 gray
" Color: color15 #bcbcbc 250 white
" Color: colorLine #303030 236 darkgrey
" Color: colorB #3a3a3a 237 darkgrey
" Color: colorF #262626 235 darkgrey
" Color: colorNonT #585858 240 darkgrey
" Color: colorC #FFAF5F 215 red
" Color: colorlC #5FFF00 82 green
" Color: colorV #1F3F5F 109 cyan
" Color: colorC #ffaf5f 215 red
" Color: colorlC #5fff00 82 green
" Color: colorV #1f3f5f 109 cyan
" Color: colorMP #ff00af 199 magenta
" Color: diffAdd #5f875f 65 darkgreen
" Color: diffDelete #af875f 137 darkyellow
" Color: diffChange #5f5f5f 59 darkgray
" Color: diffText #878787 102 lightgrey
" Color: diffAdd #5faf5f 71 darkgreen
" Color: diffDelete #af5f5f 131 darkred
" Color: diffChange #5f87af 67 darkblue
" Color: diffText #af87af 139 darkmagenta
" Color: black #000000 16 black
" Color: white #dadada 253 white
" Color: Added #5fd75f 77 darkgreen
" Color: Changed #ffaf5f 215 darkyellow
" Color: Removed #d75f5f 167 darkred
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" vim: et ts=8 sw=2 sts=2

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Shian Lee.
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:36
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -29,6 +29,8 @@ hi Pmenu guifg=#dadada guibg=#444444 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff00ff guibg=#444444 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#ffff00 gui=NONE cterm=NONE
hi TabLine guifg=#dadada guibg=#444444 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
@@ -79,6 +81,7 @@ hi Conceal guifg=#6c6c6c guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
@@ -103,6 +106,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=16 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=242 cterm=NONE
hi PmenuMatch ctermfg=201 ctermbg=238 cterm=NONE
hi PmenuMatchSel ctermfg=201 ctermbg=226 cterm=NONE
hi TabLine ctermfg=253 ctermbg=238 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=242 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=bold
@@ -153,6 +158,7 @@ if s:t_Co >= 256
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=bold
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
@@ -180,6 +186,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=white ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
@@ -230,6 +238,7 @@ if s:t_Co >= 16
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi! link Terminal Normal
hi! link PopupSelected PmenuSel
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
@@ -257,6 +266,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE

View File

@@ -3,7 +3,7 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" Website: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:36
" Last Change: 2024 Aug 15
" Generated by Colortemplate v2.2.3
@@ -62,7 +62,7 @@ hi CursorLine guifg=NONE guibg=#555555 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=bold
hi Folded guifg=#00cdcd guibg=#666666 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi Directory guifg=#cc8000 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#cd0000 guibg=NONE gui=bold cterm=bold
@@ -77,6 +77,8 @@ hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff00ff guibg=#444444 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff0000 guibg=#00cdcd gui=NONE cterm=NONE
hi Question guifg=#5c5cff guibg=NONE gui=bold cterm=bold
hi Search guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
@@ -123,7 +125,7 @@ if s:t_Co >= 256
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=bold
hi Folded ctermfg=44 ctermbg=59 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=226 cterm=NONE
hi Conceal ctermfg=254 ctermbg=145 cterm=NONE
hi Conceal ctermfg=59 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi Directory ctermfg=172 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=160 ctermbg=NONE cterm=bold
@@ -138,6 +140,8 @@ if s:t_Co >= 256
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuMatch ctermfg=201 ctermbg=238 cterm=NONE
hi PmenuMatchSel ctermfg=196 ctermbg=44 cterm=NONE
hi Question ctermfg=63 ctermbg=NONE cterm=bold
hi Search ctermfg=231 ctermbg=196 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
@@ -187,7 +191,7 @@ if s:t_Co >= 16
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi Directory ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkred ctermbg=NONE cterm=bold
@@ -202,6 +206,8 @@ if s:t_Co >= 16
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuMatch ctermfg=white ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi Question ctermfg=blue ctermbg=NONE cterm=bold
hi Search ctermfg=white ctermbg=red cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
@@ -265,6 +271,8 @@ if s:t_Co >= 8
hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=grey ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi Question ctermfg=darkblue ctermbg=NONE cterm=bold
hi Search ctermfg=grey ctermbg=darkred cterm=NONE
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxim Kim <habamax@gmail.com>
" Website: https://www.github.com/vim/colorschemes
" License: Vim License (see `:help license`)
" Last Updated: Mon 08 Jan 2024 09:41:03 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -92,6 +92,7 @@ hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
if &background ==# 'dark'
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787d7', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#5fafff', '#ff87ff', '#5fd7d7', '#ffffff']
@@ -120,6 +121,8 @@ if &background ==# 'dark'
hi PmenuKindSel guifg=#ff5f5f guibg=#4e4e4e gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e gui=NONE cterm=NONE
hi PmenuMatch guifg=#d787d7 guibg=#303030 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d787d7 guibg=#4e4e4e gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
@@ -158,7 +161,7 @@ if &background ==# 'dark'
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#5fafff guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#c6c6c6 guibg=#875f87 gui=NONE cterm=NONE
hi DiffChange guifg=#c6c6c6 guibg=#5f5f5f gui=NONE cterm=NONE
@@ -211,6 +214,8 @@ else
hi PmenuKindSel guifg=#af0000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 gui=NONE cterm=NONE
hi PmenuMatch guifg=#af00af guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#af00af guibg=#c6c6c6 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
@@ -249,7 +254,7 @@ else
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#005fd7 guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#000000 guibg=#d7afd7 gui=NONE cterm=NONE
hi DiffChange guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
@@ -356,6 +361,7 @@ if s:t_Co >= 256
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
if &background ==# 'dark'
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
hi Statusline ctermfg=251 ctermbg=16 cterm=bold,reverse
@@ -381,6 +387,8 @@ if s:t_Co >= 256
hi PmenuKindSel ctermfg=203 ctermbg=239 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=236 cterm=NONE
hi PmenuExtraSel ctermfg=243 ctermbg=239 cterm=NONE
hi PmenuMatch ctermfg=176 ctermbg=236 cterm=NONE
hi PmenuMatchSel ctermfg=176 ctermbg=239 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=203 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=203 cterm=NONE
@@ -417,7 +425,7 @@ if s:t_Co >= 256
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=75 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=240 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=251 ctermbg=96 cterm=NONE
hi DiffChange ctermfg=251 ctermbg=59 cterm=NONE
@@ -467,6 +475,8 @@ if s:t_Co >= 256
hi PmenuKindSel ctermfg=124 ctermbg=251 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=254 cterm=NONE
hi PmenuExtraSel ctermfg=243 ctermbg=251 cterm=NONE
hi PmenuMatch ctermfg=127 ctermbg=254 cterm=NONE
hi PmenuMatchSel ctermfg=127 ctermbg=251 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=160 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
@@ -503,7 +513,7 @@ if s:t_Co >= 256
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=26 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=247 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=16 ctermbg=182 cterm=NONE
hi DiffChange ctermfg=16 ctermbg=252 cterm=NONE
@@ -559,6 +569,8 @@ if s:t_Co >= 16
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
@@ -594,7 +606,7 @@ if s:t_Co >= 16
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=white ctermbg=darkgreen cterm=NONE
@@ -680,7 +692,7 @@ if s:t_Co >= 16
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
@@ -736,6 +748,8 @@ if s:t_Co >= 8
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:37
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -28,6 +28,7 @@ hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=bold
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
@@ -42,6 +43,8 @@ hi Pmenu guifg=#000000 guibg=#b2b2b2 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi PmenuMatch guifg=#a52a2a guibg=#b2b2b2 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#a52a2a guibg=#ffff00 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#bcbcbc gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#e4e4e4 gui=bold cterm=bold
@@ -82,7 +85,7 @@ hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory guifg=#008787 guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#878787 guibg=NONE gui=NONE cterm=NONE
hi Title guifg=#a52a2a guibg=NONE gui=bold cterm=bold
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
@@ -100,6 +103,7 @@ if s:t_Co >= 256
hi! link StatuslineTermNC StatuslineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=16 ctermbg=254 cterm=NONE
hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=bold
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
@@ -114,6 +118,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=254 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=16 cterm=NONE
hi PmenuMatch ctermfg=124 ctermbg=249 cterm=NONE
hi PmenuMatchSel ctermfg=124 ctermbg=226 cterm=NONE
hi TabLine ctermfg=16 ctermbg=250 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=254 cterm=bold
@@ -154,7 +160,7 @@ if s:t_Co >= 256
hi Special ctermfg=62 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=30 ctermbg=NONE cterm=bold
hi Conceal ctermfg=21 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=102 ctermbg=NONE cterm=NONE
hi Title ctermfg=124 ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
@@ -179,6 +185,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=white cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLine ctermfg=black ctermbg=white cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
@@ -219,7 +227,7 @@ if s:t_Co >= 16
hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=gray ctermbg=NONE cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
@@ -244,6 +252,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=gray ctermbg=black cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Mon 08 Jan 2024 09:50:15 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -28,6 +28,7 @@ hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link Added Constant
hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
@@ -38,6 +39,8 @@ hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#bcbcbc gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff00ff guibg=#444444 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#ffff00 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi TabLine guifg=#87ff87 guibg=#444444 gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
@@ -101,6 +104,7 @@ if s:t_Co >= 256
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link Added Constant
hi Normal ctermfg=120 ctermbg=16 cterm=NONE
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
@@ -111,6 +115,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=250 cterm=NONE
hi PmenuMatch ctermfg=201 ctermbg=238 cterm=NONE
hi PmenuMatchSel ctermfg=201 ctermbg=226 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=236 cterm=NONE
hi TabLine ctermfg=120 ctermbg=238 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
@@ -176,6 +182,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=white ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLine ctermfg=green ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
@@ -241,6 +249,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLine ctermfg=grey ctermbg=black cterm=reverse
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE

View File

@@ -3,7 +3,7 @@
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:38
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -25,6 +25,7 @@ hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
@@ -37,7 +38,7 @@ hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi Todo guifg=#000000 guibg=#c0c000 gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
@@ -80,6 +81,8 @@ hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=bold
hi PmenuMatch guifg=#ff00ff guibg=#303030 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#e5e5e5 gui=NONE cterm=NONE
hi Pmenu guifg=fg guibg=#303030 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
@@ -98,6 +101,7 @@ if s:t_Co >= 256
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
@@ -110,7 +114,7 @@ if s:t_Co >= 256
hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
hi Error ctermfg=231 ctermbg=196 cterm=NONE
hi Todo ctermfg=16 ctermbg=142 cterm=NONE
hi Conceal ctermfg=254 ctermbg=248 cterm=NONE
hi Conceal ctermfg=241 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=231 cterm=NONE
hi lCursor ctermfg=16 ctermbg=231 cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
@@ -153,6 +157,8 @@ if s:t_Co >= 256
hi TabLineSel ctermfg=231 ctermbg=16 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=bold
hi PmenuMatch ctermfg=201 ctermbg=236 cterm=NONE
hi PmenuMatchSel ctermfg=201 ctermbg=254 cterm=NONE
hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=254 cterm=NONE
@@ -178,7 +184,7 @@ if s:t_Co >= 16
hi Ignore ctermfg=black ctermbg=black cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=white cterm=NONE
hi lCursor ctermfg=black ctermbg=white cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
@@ -221,6 +227,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatch ctermfg=fg ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=grey cterm=bold
hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=grey cterm=NONE
@@ -245,6 +253,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:39
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
@@ -39,9 +40,11 @@ hi StatusLineTerm guifg=#ffffff guibg=#2e8b57 gui=bold cterm=bold
hi StatusLineTermNC guifg=#ffdab9 guibg=#008b8b gui=bold cterm=bold
hi VertSplit guifg=#ffdab9 guibg=#737373 gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#ffaf87 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#f5c195 gui=bold cterm=bold
hi PmenuSbar guifg=NONE guibg=#ffdab9 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#737373 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#f5c195 gui=bold cterm=bold
hi PmenuMatch guifg=#a52a2a guibg=#ffaf87 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#a52a2a guibg=#f5c195 gui=bold cterm=bold
hi TabLine guifg=#ffdab9 guibg=#737373 gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#ffdab9 gui=bold cterm=bold
@@ -81,7 +84,7 @@ hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#406090 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#737373 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#cd00cd guibg=NONE gui=bold cterm=bold
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
@@ -98,6 +101,7 @@ if s:t_Co >= 256
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=16 ctermbg=223 cterm=NONE
hi Folded ctermfg=16 ctermbg=252 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
@@ -111,9 +115,11 @@ if s:t_Co >= 256
hi StatusLineTermNC ctermfg=223 ctermbg=30 cterm=bold
hi VertSplit ctermfg=223 ctermbg=243 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=216 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=180 cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=223 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=180 cterm=bold
hi PmenuMatch ctermfg=124 ctermbg=216 cterm=NONE
hi PmenuMatchSel ctermfg=124 ctermbg=180 cterm=bold
hi TabLine ctermfg=223 ctermbg=243 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=223 cterm=bold
@@ -153,7 +159,7 @@ if s:t_Co >= 256
hi Type ctermfg=29 ctermbg=NONE cterm=bold
hi Special ctermfg=62 ctermbg=NONE cterm=NONE
hi Directory ctermfg=30 ctermbg=NONE cterm=bold
hi Conceal ctermfg=25 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=243 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=164 ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
@@ -178,9 +184,11 @@ if s:t_Co >= 16
hi StatusLineTermNC ctermfg=white ctermbg=darkcyan cterm=bold
hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLine ctermfg=white ctermbg=darkgrey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
@@ -248,6 +256,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=gray ctermbg=black cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Updated: Fri 15 Dec 2023 20:05:39
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -13,11 +13,15 @@ let g:colors_name = 'quiet'
let s:t_Co = has('gui_running') ? -1 : (&t_Co ?? 0)
hi! link Added Normal
hi! link Changed Normal
hi! link Removed Normal
hi! link Terminal Normal
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
@@ -74,10 +78,12 @@ if &background ==# 'dark'
hi MoreMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#707070 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuMatch guifg=#d7005f guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuExtra guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuKind guifg=#000000 guibg=#a8a8a8 gui=bold cterm=bold
hi PmenuSbar guifg=#707070 guibg=#585858 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d7005f guibg=#dadada gui=bold cterm=bold
hi PmenuExtraSel guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi PmenuKindSel guifg=#000000 guibg=#dadada gui=bold cterm=bold
hi PmenuThumb guifg=#dadada guibg=#dadada gui=NONE cterm=NONE
@@ -144,10 +150,12 @@ else
hi MoreMsg guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#626262 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuMatch guifg=#d70000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuExtra guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuKind guifg=#000000 guibg=#a8a8a8 gui=bold cterm=bold
hi PmenuSbar guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuSel guifg=#d7d7d7 guibg=#000000 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d70000 guibg=#000000 gui=bold cterm=bold
hi PmenuExtraSel guifg=#d7d7d7 guibg=#000000 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d7d7d7 guibg=#000000 gui=bold cterm=bold
hi PmenuThumb guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
@@ -213,10 +221,12 @@ if s:t_Co >= 256
hi MoreMsg ctermfg=253 ctermbg=NONE cterm=NONE
hi NonText ctermfg=242 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuMatch ctermfg=161 ctermbg=248 cterm=NONE
hi PmenuExtra ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuKind ctermfg=16 ctermbg=248 cterm=bold
hi PmenuSbar ctermfg=242 ctermbg=240 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=253 cterm=NONE
hi PmenuMatchSel ctermfg=161 ctermbg=253 cterm=bold
hi PmenuExtraSel ctermfg=16 ctermbg=253 cterm=NONE
hi PmenuKindSel ctermfg=16 ctermbg=253 cterm=bold
hi PmenuThumb ctermfg=253 ctermbg=253 cterm=NONE
@@ -280,10 +290,12 @@ if s:t_Co >= 256
hi MoreMsg ctermfg=16 ctermbg=NONE cterm=NONE
hi NonText ctermfg=241 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuMatch ctermfg=160 ctermbg=248 cterm=NONE
hi PmenuExtra ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuKind ctermfg=16 ctermbg=248 cterm=bold
hi PmenuSbar ctermfg=16 ctermbg=254 cterm=NONE
hi PmenuSel ctermfg=188 ctermbg=16 cterm=NONE
hi PmenuMatchSel ctermfg=160 ctermbg=16 cterm=bold
hi PmenuExtraSel ctermfg=188 ctermbg=16 cterm=NONE
hi PmenuKindSel ctermfg=188 ctermbg=16 cterm=bold
hi PmenuThumb ctermfg=16 ctermbg=16 cterm=NONE
@@ -359,9 +371,11 @@ if s:t_Co >= 16
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -425,9 +439,11 @@ if s:t_Co >= 16
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -498,9 +514,11 @@ if s:t_Co >= 8
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -564,9 +582,11 @@ if s:t_Co >= 8
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
" Website: https://www.github.com/vim/colorschemes
" License: Vim License (see `:help license`)
" Last Updated: Fri 15 Dec 2023 20:05:40
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -21,14 +21,16 @@ hi! link Tag Special
hi! link lCursor Cursor
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link CurSearch Search
hi! link PopupSelected PmenuSel
hi! link CurSearch IncSearch
hi! link Terminal Normal
if &background ==# 'dark'
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#1c1c1c', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598', '#d3869b', '#8ec07c', '#ebdbb2']
endif
hi Normal guifg=#ebdbb2 guibg=#1c1c1c gui=NONE cterm=NONE
hi CursorLineNr guifg=#fabd2f guibg=#303030 gui=NONE cterm=NONE
hi CursorLineNr guifg=#fabd2f guibg=#1c1c1c gui=bold cterm=bold
hi FoldColumn guifg=#928374 guibg=#1c1c1c gui=NONE cterm=NONE
hi SignColumn guifg=#928374 guibg=#1c1c1c gui=NONE cterm=NONE
hi VertSplit guifg=#303030 guibg=#1c1c1c gui=NONE cterm=NONE
@@ -49,6 +51,8 @@ if &background ==# 'dark'
hi PmenuKindSel guifg=#fb4934 guibg=#83a598 gui=NONE cterm=NONE
hi PmenuExtra guifg=#a89984 guibg=#3c3836 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#303030 guibg=#83a598 gui=NONE cterm=NONE
hi PmenuMatch guifg=#b16286 guibg=#3c3836 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#b16286 guibg=#83a598 gui=bold cterm=bold
hi SpecialKey guifg=#928374 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#504945 guibg=#ebdbb2 gui=bold,reverse cterm=bold,reverse
hi StatusLineNC guifg=#3c3836 guibg=#a89984 gui=reverse cterm=reverse
@@ -60,7 +64,7 @@ if &background ==# 'dark'
hi Visual guifg=#1c1c1c guibg=#83a598 gui=NONE cterm=NONE
hi WildMenu guifg=#83a598 guibg=#504945 gui=bold cterm=bold
hi EndOfBuffer guifg=#504945 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#83a598 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#504945 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#1c1c1c guibg=#fbf1c7 gui=NONE cterm=NONE
hi DiffAdd guifg=#b8bb26 guibg=#1c1c1c gui=reverse cterm=reverse
hi DiffChange guifg=#8ec07c guibg=#1c1c1c gui=reverse cterm=reverse
@@ -119,7 +123,7 @@ else
let g:terminal_ansi_colors = ['#3c3836', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#7c6f64', '#928374', '#9d0006', '#79740e', '#b57614', '#076678', '#8f3f71', '#427b58', '#fbf1c7']
endif
hi Normal guifg=#3c3836 guibg=#fbf1c7 gui=NONE cterm=NONE
hi CursorLineNr guifg=#b57614 guibg=#e5d4b1 gui=NONE cterm=NONE
hi CursorLineNr guifg=#b57614 guibg=#fbf1c7 gui=bold cterm=bold
hi FoldColumn guifg=#928374 guibg=#fbf1c7 gui=NONE cterm=NONE
hi SignColumn guifg=#3c3836 guibg=#fbf1c7 gui=NONE cterm=NONE
hi VertSplit guifg=#bdae93 guibg=#fbf1c7 gui=NONE cterm=NONE
@@ -140,6 +144,8 @@ else
hi PmenuKindSel guifg=#9d0006 guibg=#076678 gui=NONE cterm=NONE
hi PmenuExtra guifg=#7c6f64 guibg=#e5d4b1 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#bdae93 guibg=#076678 gui=NONE cterm=NONE
hi PmenuMatch guifg=#8f3f71 guibg=#e5d4b1 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d3869b guibg=#076678 gui=bold cterm=bold
hi SpecialKey guifg=#928374 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#bdae93 guibg=#3c3836 gui=bold,reverse cterm=bold,reverse
hi StatusLineNC guifg=#ebdbb2 guibg=#3c3836 gui=reverse cterm=reverse
@@ -151,7 +157,7 @@ else
hi Visual guifg=#fbf1c7 guibg=#076678 gui=NONE cterm=NONE
hi WildMenu guifg=#076678 guibg=#e5d4b1 gui=bold cterm=bold
hi EndOfBuffer guifg=#e5d4b1 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#076678 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#a89984 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#fbf1c7 guibg=#282828 gui=NONE cterm=NONE
hi DiffAdd guifg=#79740e guibg=#fbf1c7 gui=reverse cterm=reverse
hi DiffChange guifg=#427b58 guibg=#fbf1c7 gui=reverse cterm=reverse
@@ -209,7 +215,7 @@ endif
if s:t_Co >= 256
if &background ==# 'dark'
hi Normal ctermfg=187 ctermbg=234 cterm=NONE
hi CursorLineNr ctermfg=214 ctermbg=236 cterm=NONE
hi CursorLineNr ctermfg=214 ctermbg=234 cterm=bold
hi FoldColumn ctermfg=102 ctermbg=234 cterm=NONE
hi SignColumn ctermfg=102 ctermbg=234 cterm=NONE
hi VertSplit ctermfg=236 ctermbg=234 cterm=NONE
@@ -230,6 +236,8 @@ if s:t_Co >= 256
hi PmenuKindSel ctermfg=203 ctermbg=109 cterm=NONE
hi PmenuExtra ctermfg=102 ctermbg=237 cterm=NONE
hi PmenuExtraSel ctermfg=236 ctermbg=109 cterm=NONE
hi PmenuMatch ctermfg=132 ctermbg=237 cterm=NONE
hi PmenuMatchSel ctermfg=132 ctermbg=109 cterm=bold
hi SpecialKey ctermfg=102 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=239 ctermbg=187 cterm=bold,reverse
hi StatusLineNC ctermfg=237 ctermbg=102 cterm=reverse
@@ -241,7 +249,7 @@ if s:t_Co >= 256
hi Visual ctermfg=234 ctermbg=109 cterm=NONE
hi WildMenu ctermfg=109 ctermbg=239 cterm=bold
hi EndOfBuffer ctermfg=239 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=109 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=239 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=234 ctermbg=230 cterm=NONE
hi DiffAdd ctermfg=142 ctermbg=234 cterm=reverse
hi DiffChange ctermfg=107 ctermbg=234 cterm=reverse
@@ -297,7 +305,7 @@ if s:t_Co >= 256
else
" Light background
hi Normal ctermfg=237 ctermbg=230 cterm=NONE
hi CursorLineNr ctermfg=172 ctermbg=188 cterm=NONE
hi CursorLineNr ctermfg=172 ctermbg=230 cterm=bold
hi FoldColumn ctermfg=102 ctermbg=230 cterm=NONE
hi SignColumn ctermfg=237 ctermbg=230 cterm=NONE
hi VertSplit ctermfg=144 ctermbg=230 cterm=NONE
@@ -318,6 +326,8 @@ if s:t_Co >= 256
hi PmenuKindSel ctermfg=124 ctermbg=23 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=188 cterm=NONE
hi PmenuExtraSel ctermfg=144 ctermbg=23 cterm=NONE
hi PmenuMatch ctermfg=126 ctermbg=188 cterm=NONE
hi PmenuMatchSel ctermfg=175 ctermbg=23 cterm=bold
hi SpecialKey ctermfg=102 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=144 ctermbg=237 cterm=bold,reverse
hi StatusLineNC ctermfg=187 ctermbg=237 cterm=reverse
@@ -329,7 +339,7 @@ if s:t_Co >= 256
hi Visual ctermfg=230 ctermbg=23 cterm=NONE
hi WildMenu ctermfg=23 ctermbg=188 cterm=bold
hi EndOfBuffer ctermfg=188 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=23 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=137 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=230 ctermbg=235 cterm=NONE
hi DiffAdd ctermfg=64 ctermbg=230 cterm=reverse
hi DiffChange ctermfg=29 ctermbg=230 cterm=reverse
@@ -409,6 +419,8 @@ if s:t_Co >= 16
hi PmenuKindSel ctermfg=DarkRed ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=gray ctermbg=DarkGray cterm=NONE
hi PmenuExtraSel ctermfg=Black ctermbg=Blue cterm=NONE
hi PmenuMatch ctermfg=White ctermbg=DarkGray cterm=bold
hi PmenuMatchSel ctermfg=Black ctermbg=Blue cterm=bold
hi SignColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=gray ctermbg=Black cterm=bold,reverse
@@ -422,7 +434,7 @@ if s:t_Co >= 16
hi Visual ctermfg=Black ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=White ctermbg=Black cterm=bold
hi EndOfBuffer ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi Cursor ctermfg=Black ctermbg=White cterm=NONE
hi DiffAdd ctermfg=Green ctermbg=Black cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=Black cterm=reverse
@@ -497,6 +509,8 @@ if s:t_Co >= 16
hi PmenuKindSel ctermfg=DarkRed ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=Grey cterm=NONE
hi PmenuExtraSel ctermfg=White ctermbg=Blue cterm=NONE
hi PmenuMatch ctermfg=Black ctermbg=Grey cterm=bold
hi PmenuMatchSel ctermfg=White ctermbg=Blue cterm=bold
hi SignColumn ctermfg=Grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=Grey ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=DarkGray ctermbg=White cterm=bold,reverse
@@ -510,7 +524,7 @@ if s:t_Co >= 16
hi Visual ctermfg=White ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=Black ctermbg=White cterm=bold
hi EndOfBuffer ctermfg=Grey ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Grey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=White ctermbg=DarkGray cterm=NONE
hi DiffAdd ctermfg=Green ctermbg=White cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=White cterm=reverse
@@ -590,6 +604,8 @@ if s:t_Co >= 8
hi PmenuKindSel ctermfg=Red ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=White cterm=NONE
hi PmenuExtraSel ctermfg=DarkGray ctermbg=Blue cterm=NONE
hi PmenuMatch ctermfg=DarkGray ctermbg=White cterm=bold
hi PmenuMatchSel ctermfg=Black ctermbg=Blue cterm=bold
hi SignColumn ctermfg=gray ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=gray ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=gray ctermbg=Black cterm=bold,reverse
@@ -603,7 +619,7 @@ if s:t_Co >= 8
hi Visual ctermfg=Black ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=Blue ctermbg=DarkGray cterm=bold
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi Cursor ctermfg=Black ctermbg=White cterm=NONE
hi DiffAdd ctermfg=Green ctermbg=Black cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=Black cterm=reverse
@@ -678,6 +694,8 @@ if s:t_Co >= 8
hi PmenuKindSel ctermfg=Red ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=Grey ctermbg=Black cterm=NONE
hi PmenuExtraSel ctermfg=Grey ctermbg=Blue cterm=NONE
hi PmenuMatch ctermfg=Grey ctermbg=Black cterm=bold
hi PmenuMatchSel ctermfg=White ctermbg=Blue cterm=bold
hi SignColumn ctermfg=Black ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=Black ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=Black ctermbg=White cterm=bold,reverse
@@ -691,7 +709,7 @@ if s:t_Co >= 8
hi Visual ctermfg=White ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=Blue ctermbg=Grey cterm=bold
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Grey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=White ctermbg=DarkGray cterm=NONE
hi DiffAdd ctermfg=Green ctermbg=White cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=White cterm=reverse
@@ -852,7 +870,7 @@ endif
" Color: bg1 #ebdbb2 187 Grey
" Color: bg2 #e5d4b1 188 Grey
" Color: bg3 #bdae93 144
" Color: bg4 #a89984 137
" Color: bg4 #a89984 137 Grey
" Color: bg5 #ebe1b7 229 Grey
" Color: bg6 #ffffd7 231 Grey
" Color: fg0 #282828 235 DarkGray
@@ -866,6 +884,7 @@ endif
" Color: yellow #b57614 172 Yellow
" Color: blue #076678 23 Blue
" Color: purple #8f3f71 126 Magenta
" Color: lightpurple #d3869b 175 Magenta
" Color: aqua #427b58 29 Cyan
" Color: orange #ff5f00 202 Magenta
" Term colors: fg1 neutralred neutralgreen neutralyellow neutralblue neutralpurple neutralaqua fg4

View File

@@ -3,7 +3,7 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" Website: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:41
" Last Change: 2024 Aug 15
" Generated by Colortemplate v2.2.3
@@ -58,7 +58,7 @@ hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#ffffff guibg=#60a060 gui=NONE cterm=NONE
hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#ffff00 guibg=#303030 gui=NONE cterm=NONE
@@ -75,6 +75,8 @@ hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff00ff guibg=#444444 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#00cdcd gui=NONE cterm=NONE
hi Question guifg=#00ff00 guibg=#000000 gui=bold cterm=NONE
hi Search guifg=#000000 guibg=#a9a9a9 gui=bold cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
@@ -123,7 +125,7 @@ if s:t_Co >= 256
hi CursorLine ctermfg=NONE ctermbg=59 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=44 cterm=NONE
hi Conceal ctermfg=254 ctermbg=145 cterm=NONE
hi Conceal ctermfg=59 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=231 ctermbg=71 cterm=NONE
hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=226 ctermbg=236 cterm=NONE
@@ -140,6 +142,8 @@ if s:t_Co >= 256
hi PmenuSbar ctermfg=NONE ctermbg=16 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=254 cterm=NONE
hi PmenuMatch ctermfg=201 ctermbg=238 cterm=NONE
hi PmenuMatchSel ctermfg=201 ctermbg=44 cterm=NONE
hi Question ctermfg=46 ctermbg=16 cterm=NONE
hi Search ctermfg=16 ctermbg=145 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
@@ -191,7 +195,7 @@ if s:t_Co >= 16
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=white ctermbg=green cterm=NONE
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=yellow ctermbg=darkgrey cterm=NONE
@@ -208,6 +212,8 @@ if s:t_Co >= 16
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=white ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi Question ctermfg=green ctermbg=black cterm=NONE
hi Search ctermfg=black ctermbg=grey cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
@@ -275,6 +281,8 @@ if s:t_Co >= 8
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuMatch ctermfg=grey ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkcyan cterm=bold
hi Question ctermfg=darkgreen ctermbg=black cterm=bold
hi Search ctermfg=black ctermbg=grey cterm=NONE
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:41
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -30,6 +30,7 @@ hi! link Tag Special
hi! link Operator Statement
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
@@ -45,6 +46,8 @@ hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff60 gui=NONE cterm=NONE
hi PmenuSbar guifg=#ffffff guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
hi PmenuMatch guifg=#ff0000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff0000 guibg=#ffff60 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#dadada gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=bold
@@ -79,7 +82,7 @@ hi Statement guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
hi Comment guifg=#a8a8a8 guibg=NONE gui=bold cterm=NONE
hi StorageClass guifg=#ff0000 guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#dadada guibg=#767676 gui=NONE cterm=NONE
hi Conceal guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#a07070 guibg=NONE gui=NONE cterm=NONE
hi Number guifg=#a07070 guibg=NONE gui=bold cterm=bold
@@ -108,6 +111,7 @@ if s:t_Co >= 256
hi! link Operator Statement
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi Folded ctermfg=18 ctermbg=253 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
@@ -123,6 +127,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=16 ctermbg=228 cterm=NONE
hi PmenuSbar ctermfg=231 ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=243 ctermbg=243 cterm=NONE
hi PmenuMatch ctermfg=196 ctermbg=248 cterm=NONE
hi PmenuMatchSel ctermfg=196 ctermbg=228 cterm=NONE
hi TabLine ctermfg=16 ctermbg=253 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=231 cterm=bold
@@ -157,7 +163,7 @@ if s:t_Co >= 256
hi Type ctermfg=29 ctermbg=NONE cterm=bold
hi Comment ctermfg=248 ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=196 ctermbg=NONE cterm=bold
hi Conceal ctermfg=253 ctermbg=243 cterm=NONE
hi Conceal ctermfg=153 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
hi Constant ctermfg=95 ctermbg=NONE cterm=NONE
hi Number ctermfg=95 ctermbg=NONE cterm=bold
@@ -192,6 +198,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=white ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
@@ -226,7 +234,7 @@ if s:t_Co >= 16
hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=red ctermbg=NONE cterm=bold
hi Conceal ctermfg=grey ctermbg=darkgrey cterm=NONE
hi Conceal ctermfg=blue ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi Number ctermfg=darkred ctermbg=NONE cterm=bold
@@ -261,6 +269,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=grey ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=black ctermbg=black cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=grey ctermbg=black cterm=reverse

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:41
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
@@ -33,10 +34,12 @@ hi StatusLineNC guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
hi StatusLineTerm guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
hi StatusLineTermNC guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
hi VertSplit guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuSel guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#4a4a4a gui=NONE cterm=NONE
hi PmenuSel guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffd700 gui=NONE cterm=NONE
hi PmenuMatch guifg=#d7875f guibg=#4a4a4a gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d7875f guibg=#d7d787 gui=NONE cterm=NONE
hi TabLineSel guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
hi TabLine guifg=#666666 guibg=#333333 gui=NONE cterm=NONE
hi TabLineFill guifg=#ff8787 guibg=#333333 gui=NONE cterm=NONE
@@ -103,6 +106,7 @@ if s:t_Co >= 256
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=231 ctermbg=235 cterm=NONE
hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
@@ -110,10 +114,12 @@ if s:t_Co >= 256
hi StatusLineTerm ctermfg=16 ctermbg=144 cterm=NONE
hi StatusLineTermNC ctermfg=241 ctermbg=144 cterm=NONE
hi VertSplit ctermfg=241 ctermbg=144 cterm=NONE
hi PmenuSel ctermfg=235 ctermbg=186 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=239 cterm=NONE
hi PmenuSel ctermfg=235 ctermbg=186 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=235 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=220 cterm=NONE
hi PmenuMatch ctermfg=173 ctermbg=239 cterm=NONE
hi PmenuMatchSel ctermfg=173 ctermbg=186 cterm=NONE
hi TabLineSel ctermfg=16 ctermbg=144 cterm=NONE
hi TabLine ctermfg=241 ctermbg=236 cterm=NONE
hi TabLineFill ctermfg=210 ctermbg=236 cterm=NONE
@@ -180,10 +186,12 @@ if s:t_Co >= 16
hi StatusLineTerm ctermfg=white ctermbg=black cterm=bold,reverse
hi StatusLineTermNC ctermfg=black ctermbg=grey cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkmagenta cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=yellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkmagenta cterm=bold
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi TabLine ctermfg=grey ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=cyan ctermbg=darkgrey cterm=NONE
@@ -250,10 +258,12 @@ if s:t_Co >= 8
hi StatusLineTerm ctermfg=grey ctermbg=black cterm=bold,reverse
hi StatusLineTermNC ctermfg=grey ctermbg=black cterm=reverse
hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi TabLine ctermfg=grey ctermbg=black cterm=reverse
hi TabLineFill ctermfg=grey ctermbg=black cterm=reverse

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Updated: Fri 15 Dec 2023 20:05:42
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -20,6 +20,7 @@ hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
@@ -51,6 +52,9 @@ if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#d75f5f', '#87d75f', '#d7af5f', '#87afd7', '#af87d7', '#5fafaf', '#dadada', '#707070', '#ff5f5f', '#87ff5f', '#ffd75f', '#87d7ff', '#d787ff', '#5fd7d7', '#ffffff']
endif
hi Normal guifg=#dadada guibg=#161821 gui=NONE cterm=NONE
hi Added guifg=#87d75f guibg=NONE gui=NONE cterm=NONE
hi Changed guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
hi Removed guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#262831 gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
@@ -73,10 +77,12 @@ hi ModeMsg guifg=#dadada guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#707070 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a6a8b1 gui=NONE cterm=NONE
hi PmenuMatch guifg=#d7005f guibg=#a6a8b1 gui=NONE cterm=NONE
hi PmenuExtra guifg=#000000 guibg=#a6a8b1 gui=NONE cterm=NONE
hi PmenuKind guifg=#000000 guibg=#a6a8b1 gui=bold cterm=bold
hi PmenuSbar guifg=#707070 guibg=#5f5f87 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#d7d7ff gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d7005f guibg=#d7d7ff gui=bold cterm=bold
hi PmenuExtraSel guifg=#000000 guibg=#d7d7ff gui=NONE cterm=NONE
hi PmenuKindSel guifg=#000000 guibg=#d7d7ff gui=bold cterm=bold
hi PmenuThumb guifg=#dadada guibg=#d7d7ff gui=NONE cterm=NONE
@@ -115,11 +121,13 @@ hi Underlined guifg=#dadada guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=#000000 guibg=#afff00 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#dadada guibg=#000000 gui=bold cterm=bold
hi DiffRemoved guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi debugBreakpoint guifg=#8787af guibg=#000000 gui=bold,reverse cterm=bold,reverse
if s:t_Co >= 256
hi Normal ctermfg=253 ctermbg=233 cterm=NONE
hi Added ctermfg=113 ctermbg=NONE cterm=NONE
hi Changed ctermfg=110 ctermbg=NONE cterm=NONE
hi Removed ctermfg=167 ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=207 ctermbg=16 cterm=reverse
@@ -142,10 +150,12 @@ if s:t_Co >= 256
hi MoreMsg ctermfg=253 ctermbg=NONE cterm=NONE
hi NonText ctermfg=242 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuMatch ctermfg=161 ctermbg=248 cterm=NONE
hi PmenuExtra ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuKind ctermfg=16 ctermbg=248 cterm=bold
hi PmenuSbar ctermfg=242 ctermbg=60 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=189 cterm=NONE
hi PmenuMatchSel ctermfg=161 ctermbg=189 cterm=bold
hi PmenuExtraSel ctermfg=16 ctermbg=189 cterm=NONE
hi PmenuKindSel ctermfg=16 ctermbg=189 cterm=bold
hi PmenuThumb ctermfg=253 ctermbg=189 cterm=NONE
@@ -184,7 +194,6 @@ if s:t_Co >= 256
hi CursorIM ctermfg=16 ctermbg=154 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=253 ctermbg=16 cterm=bold
hi DiffRemoved ctermfg=167 ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=103 ctermbg=16 cterm=bold,reverse
unlet s:t_Co
finish
@@ -204,6 +213,9 @@ if s:t_Co >= 16
hi TabLine ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -220,9 +232,11 @@ if s:t_Co >= 16
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -256,7 +270,6 @@ if s:t_Co >= 16
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi DiffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=NONE ctermbg=NONE cterm=bold,reverse
unlet s:t_Co
finish
@@ -276,6 +289,9 @@ if s:t_Co >= 8
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -292,9 +308,11 @@ if s:t_Co >= 8
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -328,7 +346,6 @@ if s:t_Co >= 8
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi DiffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=NONE ctermbg=NONE cterm=bold,reverse
unlet s:t_Co
finish

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:42
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -28,6 +28,7 @@ hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
@@ -48,7 +49,7 @@ hi CursorLineNr guifg=#ffff00 guibg=#666666 gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi ColorColumn guifg=#cccccc guibg=#8b0000 gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=bold cterm=NONE
hi lCursor guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
@@ -81,6 +82,8 @@ hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
hi TabLineSel guifg=#cccccc guibg=#000000 gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=bold
hi PmenuMatch guifg=#ff00ff guibg=#303030 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ff00ff guibg=#ffff00 gui=NONE cterm=NONE
hi Pmenu guifg=fg guibg=#303030 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
@@ -101,6 +104,7 @@ if s:t_Co >= 256
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
@@ -121,7 +125,7 @@ if s:t_Co >= 256
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=251 ctermbg=88 cterm=NONE
hi Conceal ctermfg=254 ctermbg=248 cterm=NONE
hi Conceal ctermfg=242 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi lCursor ctermfg=16 ctermbg=254 cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
@@ -154,6 +158,8 @@ if s:t_Co >= 256
hi TabLineSel ctermfg=251 ctermbg=16 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=bold
hi PmenuMatch ctermfg=201 ctermbg=236 cterm=NONE
hi PmenuMatchSel ctermfg=201 ctermbg=226 cterm=NONE
hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
@@ -187,7 +193,7 @@ if s:t_Co >= 16
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi lCursor ctermfg=black ctermbg=grey cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
@@ -220,6 +226,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatch ctermfg=fg ctermbg=darkgrey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
@@ -287,6 +295,8 @@ if s:t_Co >= 8
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkmagenta cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE

521
runtime/colors/unokai.vim Normal file
View File

@@ -0,0 +1,521 @@
" Name: unokai
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
" Author: k-37 <60838818+k-37@users.noreply.github.com>
" Maintainer: k-37 <60838818+k-37@users.noreply.github.com>
" Website: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)
" Last Change: 2024 Dec 15
" Generated by Colortemplate v2.2.3
set background=dark
hi clear
let g:colors_name = 'unokai'
let s:t_Co = has('gui_running') ? -1 : (&t_Co ?? 0)
let s:italics = has('gui_running') || (&t_ZH != '' && &t_ZH != '' && !has('win32'))
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#282923', '#c61e5c', '#81af24', '#fd971f', '#51aebe', '#ae81ff', '#80beb5', '#bababa', '#74705d', '#f92672', '#a6e22e', '#e6db74', '#66d9ef', '#fd5ff0', '#a1efe4', '#f8f8f2']
endif
hi! link CursorLineFold FoldColumn
hi! link CursorLineSign SignColumn
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link Terminal Normal
hi! link Delimiter PreProc
hi! link Operator PreProc
hi! link StorageClass PreProc
hi! link Structure PreProc
hi! link Define Identifier
hi! link Label String
hi! link markdownCode Comment
hi! link markdownCodeBlock markdownCode
hi! link markdownCodeDelimiter markdownCode
hi Normal guifg=#f8f8f2 guibg=#282923 gui=NONE cterm=NONE
hi StatusLine guifg=#282923 guibg=#bababa gui=NONE cterm=NONE
hi StatusLineNC guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
hi VertSplit guifg=#74705d guibg=#74705d gui=NONE cterm=NONE
hi TabLine guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
hi TabLineFill guifg=#282923 guibg=#74705d gui=NONE cterm=NONE
hi TabLineSel guifg=#282923 guibg=#bababa gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#74705d guibg=#f8f8f2 gui=bold,reverse cterm=bold,reverse
hi QuickFixLine guifg=#282923 guibg=#51aebe gui=NONE cterm=NONE
hi CursorLineNr guifg=#dadada guibg=NONE gui=bold cterm=bold
hi LineNr guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi LineNrAbove guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi LineNrBelow guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#a1efe4 guibg=#282923 gui=reverse cterm=reverse
hi VisualNOS guifg=#282923 guibg=#80beb5 gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#585858 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#74705d gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=NONE guibg=#8a8a8a gui=NONE cterm=NONE
hi PmenuKind guifg=#80beb5 guibg=#585858 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#80beb5 guibg=#8a8a8a gui=NONE cterm=NONE
hi PmenuExtra guifg=#bababa guibg=#585858 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#bababa guibg=#8a8a8a gui=NONE cterm=NONE
hi PmenuMatch guifg=#ffaf5f guibg=#585858 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#ffaf5f guibg=#8a8a8a gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#f92672 guibg=#000000 gui=reverse cterm=reverse
hi ErrorMsg guifg=#f92672 guibg=#000000 gui=reverse cterm=reverse
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg guifg=#81af24 guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#dadada guibg=NONE gui=bold cterm=bold
hi MatchParen guifg=#fd971f guibg=NONE gui=bold cterm=bold
hi Search guifg=#66d9ef guibg=#282923 gui=reverse cterm=reverse
hi IncSearch guifg=#ffaf5f guibg=#282923 gui=reverse cterm=reverse
hi CurSearch guifg=#ffaf5f guibg=#282923 gui=reverse cterm=reverse
hi WildMenu guifg=#282923 guibg=#e6db74 gui=bold cterm=bold
hi debugPC guifg=#282923 guibg=#51aebe gui=NONE cterm=NONE
hi debugBreakpoint guifg=#282923 guibg=#f92672 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi lCursor guifg=#282923 guibg=#5fff00 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#3a392f gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#3a392f gui=NONE cterm=NONE
hi Folded guifg=#bababa guibg=#414141 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#585858 gui=NONE cterm=NONE
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellRare guifg=NONE guibg=NONE guisp=#fd5ff0 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi Constant guifg=#ae81ff guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#fd971f guibg=NONE gui=bold cterm=bold
hi Character guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
hi Comment guifg=#74705d guibg=NONE gui=NONE cterm=NONE
hi String guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
hi Function guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#66d9ef guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#80beb5 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#f92672 guibg=NONE gui=bold cterm=bold
hi Underlined guifg=#66d9ef guibg=NONE gui=underline cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Debug guifg=#80beb5 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory guifg=#a1efe4 guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#5faf5f guibg=NONE gui=reverse cterm=reverse
hi DiffChange guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
hi DiffText guifg=#af87af guibg=NONE gui=reverse cterm=reverse
hi DiffDelete guifg=#af5f5f guibg=NONE gui=reverse cterm=reverse
hi Added guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
hi Changed guifg=#ffaf5f guibg=NONE gui=NONE cterm=NONE
hi Removed guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi htmlBold guifg=#f8f8f2 guibg=NONE gui=bold cterm=bold
hi htmlItalic guifg=#f8f8f2 guibg=NONE gui=italic cterm=italic
hi markdownHeadingDelimiter guifg=#f8f8f2 guibg=NONE gui=NONE cterm=NONE
hi markdownH1Delimiter guifg=#f92672 guibg=NONE gui=NONE cterm=NONE
hi markdownH2Delimiter guifg=#e6db74 guibg=NONE gui=NONE cterm=NONE
hi markdownH4Delimiter guifg=#66d9ef guibg=NONE gui=NONE cterm=NONE
hi markdownH6Delimiter guifg=#a6e22e guibg=NONE gui=NONE cterm=NONE
hi markdownH3Delimiter guifg=#fd971f guibg=NONE gui=NONE cterm=NONE
hi markdownH5Delimiter guifg=#51aebe guibg=NONE gui=NONE cterm=NONE
if !s:italics
hi htmlItalic gui=NONE cterm=NONE
endif
if s:t_Co >= 256
hi! link CursorLineFold FoldColumn
hi! link CursorLineSign SignColumn
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link Terminal Normal
hi! link Delimiter PreProc
hi! link Operator PreProc
hi! link StorageClass PreProc
hi! link Structure PreProc
hi! link Define Identifier
hi! link Label String
hi! link markdownCode Comment
hi! link markdownCodeBlock markdownCode
hi! link markdownCodeDelimiter markdownCode
hi Normal ctermfg=255 ctermbg=235 cterm=NONE
hi StatusLine ctermfg=235 ctermbg=250 cterm=NONE
hi StatusLineNC ctermfg=235 ctermbg=244 cterm=NONE
hi VertSplit ctermfg=244 ctermbg=244 cterm=NONE
hi TabLine ctermfg=235 ctermbg=244 cterm=NONE
hi TabLineFill ctermfg=235 ctermbg=244 cterm=NONE
hi TabLineSel ctermfg=235 ctermbg=250 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=244 ctermbg=255 cterm=bold,reverse
hi QuickFixLine ctermfg=235 ctermbg=141 cterm=NONE
hi CursorLineNr ctermfg=253 ctermbg=NONE cterm=bold
hi LineNr ctermfg=245 ctermbg=NONE cterm=NONE
hi LineNrAbove ctermfg=245 ctermbg=NONE cterm=NONE
hi LineNrBelow ctermfg=245 ctermbg=NONE cterm=NONE
hi NonText ctermfg=245 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=245 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=245 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=245 ctermbg=NONE cterm=NONE
hi Visual ctermfg=116 ctermbg=235 cterm=reverse
hi VisualNOS ctermfg=235 ctermbg=73 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=240 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=244 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=245 cterm=NONE
hi PmenuKind ctermfg=73 ctermbg=240 cterm=NONE
hi PmenuKindSel ctermfg=73 ctermbg=245 cterm=NONE
hi PmenuExtra ctermfg=250 ctermbg=240 cterm=NONE
hi PmenuExtraSel ctermfg=250 ctermbg=245 cterm=NONE
hi PmenuMatch ctermfg=215 ctermbg=240 cterm=NONE
hi PmenuMatchSel ctermfg=215 ctermbg=245 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=197 ctermbg=16 cterm=reverse
hi ErrorMsg ctermfg=197 ctermbg=16 cterm=reverse
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=106 ctermbg=NONE cterm=NONE
hi Question ctermfg=185 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=197 ctermbg=NONE cterm=NONE
hi Todo ctermfg=253 ctermbg=NONE cterm=bold
hi MatchParen ctermfg=208 ctermbg=NONE cterm=bold
hi Search ctermfg=81 ctermbg=235 cterm=reverse
hi IncSearch ctermfg=215 ctermbg=235 cterm=reverse
hi CurSearch ctermfg=215 ctermbg=235 cterm=reverse
hi WildMenu ctermfg=235 ctermbg=185 cterm=bold
hi debugPC ctermfg=235 ctermbg=73 cterm=NONE
hi debugBreakpoint ctermfg=235 ctermbg=197 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi Folded ctermfg=250 ctermbg=238 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=240 cterm=NONE
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=215 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=207 ctermbg=NONE cterm=underline
hi Constant ctermfg=141 ctermbg=NONE cterm=NONE
hi Type ctermfg=208 ctermbg=NONE cterm=bold
hi Character ctermfg=112 ctermbg=NONE cterm=NONE
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
hi String ctermfg=185 ctermbg=NONE cterm=NONE
hi Function ctermfg=112 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=81 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=197 ctermbg=NONE cterm=NONE
hi Special ctermfg=73 ctermbg=NONE cterm=NONE
hi Statement ctermfg=197 ctermbg=NONE cterm=bold
hi Underlined ctermfg=81 ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Debug ctermfg=73 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=116 ctermbg=NONE cterm=bold
hi Conceal ctermfg=245 ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=71 ctermbg=NONE cterm=reverse
hi DiffChange ctermfg=67 ctermbg=NONE cterm=reverse
hi DiffText ctermfg=139 ctermbg=NONE cterm=reverse
hi DiffDelete ctermfg=131 ctermbg=NONE cterm=reverse
hi Added ctermfg=77 ctermbg=NONE cterm=NONE
hi Changed ctermfg=215 ctermbg=NONE cterm=NONE
hi Removed ctermfg=167 ctermbg=NONE cterm=NONE
hi htmlBold ctermfg=255 ctermbg=NONE cterm=bold
hi htmlItalic ctermfg=255 ctermbg=NONE cterm=underline
hi markdownHeadingDelimiter ctermfg=255 ctermbg=NONE cterm=NONE
hi markdownH1Delimiter ctermfg=197 ctermbg=NONE cterm=NONE
hi markdownH2Delimiter ctermfg=185 ctermbg=NONE cterm=NONE
hi markdownH4Delimiter ctermfg=81 ctermbg=NONE cterm=NONE
hi markdownH6Delimiter ctermfg=112 ctermbg=NONE cterm=NONE
hi markdownH3Delimiter ctermfg=208 ctermbg=NONE cterm=NONE
hi markdownH5Delimiter ctermfg=73 ctermbg=NONE cterm=NONE
unlet s:t_Co s:italics
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi StatusLine ctermfg=black ctermbg=gray cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=darkgray cterm=NONE
hi VertSplit ctermfg=darkgray ctermbg=darkgray cterm=NONE
hi TabLine ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=darkgray ctermbg=white cterm=bold,reverse
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi LineNrAbove ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi LineNrBelow ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgray ctermbg=gray cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=red ctermbg=black cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=black cterm=reverse
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi MatchParen ctermfg=darkyellow ctermbg=NONE cterm=bold
hi Search ctermfg=blue ctermbg=black cterm=reverse
hi IncSearch ctermfg=red ctermbg=black cterm=reverse
hi CurSearch ctermfg=red ctermbg=black cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
hi debugBreakpoint ctermfg=black ctermbg=red cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
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 Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
hi Character ctermfg=green ctermbg=NONE cterm=NONE
hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
hi String ctermfg=yellow ctermbg=NONE cterm=NONE
hi Function ctermfg=green ctermbg=NONE cterm=NONE
hi Identifier ctermfg=blue ctermbg=NONE cterm=NONE
hi PreProc ctermfg=red ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=red ctermbg=NONE cterm=bold
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi htmlBold ctermfg=white ctermbg=NONE cterm=bold
hi htmlItalic ctermfg=white ctermbg=NONE cterm=underline
hi markdownHeadingDelimiter ctermfg=white ctermbg=NONE cterm=NONE
hi markdownH1Delimiter ctermfg=red ctermbg=NONE cterm=NONE
hi markdownH2Delimiter ctermfg=yellow ctermbg=NONE cterm=NONE
hi markdownH4Delimiter ctermfg=blue ctermbg=NONE cterm=NONE
hi markdownH6Delimiter ctermfg=green ctermbg=NONE cterm=NONE
hi markdownH3Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi markdownH5Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
unlet s:t_Co s:italics
finish
endif
if s:t_Co >= 8
hi Normal ctermfg=gray ctermbg=black cterm=NONE
hi StatusLine ctermfg=gray ctermbg=black cterm=bold,reverse
hi StatusLineNC ctermfg=gray ctermbg=black cterm=reverse
hi VertSplit ctermfg=gray ctermbg=gray cterm=NONE
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
hi LineNr ctermfg=gray ctermbg=NONE cterm=bold
hi LineNrAbove ctermfg=gray ctermbg=NONE cterm=bold
hi LineNrBelow ctermfg=gray ctermbg=NONE cterm=bold
hi NonText ctermfg=gray ctermbg=NONE cterm=bold
hi EndOfBuffer ctermfg=gray ctermbg=NONE cterm=bold
hi SpecialKey ctermfg=gray ctermbg=NONE cterm=bold
hi FoldColumn ctermfg=gray ctermbg=NONE cterm=bold
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=gray cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=gray cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=gray cterm=bold,reverse
hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=bold,reverse
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi Todo ctermfg=gray ctermbg=NONE cterm=bold
hi MatchParen ctermfg=darkyellow ctermbg=NONE cterm=bold
hi Search ctermfg=black ctermbg=darkblue cterm=NONE
hi IncSearch ctermfg=black ctermbg=darkyellow cterm=NONE
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi debugPC ctermfg=black ctermbg=darkblue cterm=NONE
hi debugBreakpoint ctermfg=black ctermbg=darkcyan cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=gray cterm=reverse
hi SpellCap ctermfg=darkblue ctermbg=gray cterm=reverse
hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse
hi SpellRare ctermfg=darkmagenta ctermbg=gray cterm=reverse
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
hi Character ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Comment ctermfg=gray ctermbg=NONE cterm=bold
hi String ctermfg=darkyellow ctermbg=NONE cterm=bold
hi Function ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkblue ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkred ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=bold
hi Statement ctermfg=darkred ctermbg=NONE cterm=bold
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
hi Conceal ctermfg=gray ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=NONE cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=NONE cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=reverse
hi Added ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Changed ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi htmlBold ctermfg=gray ctermbg=NONE cterm=bold
hi htmlItalic ctermfg=gray ctermbg=NONE cterm=underline
hi markdownHeadingDelimiter ctermfg=gray ctermbg=NONE cterm=NONE
hi markdownH1Delimiter ctermfg=darkred ctermbg=NONE cterm=NONE
hi markdownH2Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi markdownH4Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
hi markdownH6Delimiter ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi markdownH3Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi markdownH5Delimiter ctermfg=darkblue ctermbg=NONE cterm=NONE
unlet s:t_Co s:italics
finish
endif
if s:t_Co >= 0
hi Normal term=NONE
hi ColorColumn term=reverse
hi Conceal term=NONE
hi Cursor term=reverse
hi CursorColumn term=NONE
hi CursorLine term=underline
hi CursorLineNr term=bold
hi DiffAdd term=reverse
hi DiffChange term=NONE
hi DiffDelete term=reverse
hi DiffText term=reverse
hi Directory term=NONE
hi EndOfBuffer term=NONE
hi ErrorMsg term=bold,reverse
hi FoldColumn term=NONE
hi Folded term=NONE
hi IncSearch term=bold,reverse,underline
hi LineNr term=NONE
hi MatchParen term=bold,underline
hi ModeMsg term=bold
hi MoreMsg term=NONE
hi NonText term=NONE
hi Pmenu term=reverse
hi PmenuSbar term=reverse
hi PmenuSel term=bold
hi PmenuThumb term=NONE
hi Question term=standout
hi Search term=reverse
hi SignColumn term=reverse
hi SpecialKey term=bold
hi SpellBad term=underline
hi SpellCap term=underline
hi SpellLocal term=underline
hi SpellRare term=underline
hi StatusLine term=bold,reverse
hi StatusLineNC term=bold,underline
hi TabLine term=bold,underline
hi TabLineFill term=NONE
hi Terminal term=NONE
hi TabLineSel term=bold,reverse
hi Title term=NONE
hi VertSplit term=NONE
hi Visual term=reverse
hi VisualNOS term=NONE
hi WarningMsg term=standout
hi WildMenu term=bold
hi CursorIM term=NONE
hi ToolbarLine term=reverse
hi ToolbarButton term=bold,reverse
hi CurSearch term=reverse
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Comment term=bold
hi Constant term=NONE
hi Error term=bold,reverse
hi Identifier term=NONE
hi Ignore term=NONE
hi PreProc term=NONE
hi Special term=NONE
hi Statement term=NONE
hi Todo term=bold,reverse
hi Type term=NONE
hi Underlined term=underline
unlet s:t_Co s:italics
finish
endif
" Background: dark
" Color: color00 #282923 235 black
" Color: color08 #74705d 244 darkgray
" Color: color01 #c61e5c 125 darkred
" Color: color09 #f92672 197 red
" Color: color02 #81af24 106 darkgreen
" Color: color10 #a6e22e 112 green
" Color: color03 #fd971f 208 darkyellow
" Color: color11 #e6db74 185 yellow
" Color: color04 #51aebe 73 darkblue
" Color: color12 #66d9ef 81 blue
" Color: color05 #ae81ff 141 darkmagenta
" Color: color13 #fd5ff0 207 magenta
" Color: color06 #80beb5 73 darkcyan
" Color: color14 #a1efe4 116 cyan
" Color: color07 #bababa 250 gray
" Color: color15 #f8f8f2 255 white
" Color: colorLine #3a392f 237 darkgrey
" Color: colorB #585858 240 darkgrey
" Color: colorF #414141 238 darkgrey
" Color: colorNonT #8a8a8a 245 darkgrey
" Color: colorC #ffaf5f 215 red
" Color: colorlC #5fff00 82 green
" Color: colorV #1f3f5f 109 cyan
" Color: colorMP #fd971f 208 darkyellow
" Color: diffAdd #5faf5f 71 darkgreen
" Color: diffDelete #af5f5f 131 darkred
" Color: diffChange #5f87af 67 darkblue
" Color: diffText #af87af 139 darkmagenta
" Color: black #000000 16 black
" Color: white #dadada 253 white
" Color: Added #5fd75f 77 darkgreen
" Color: Changed #ffaf5f 215 darkyellow
" Color: Removed #d75f5f 167 darkred
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" vim: et ts=8 sw=2 sts=2

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxim Kim <habamax@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Mon 08 Jan 2024 09:40:36 AM AEDT
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -20,20 +20,21 @@ hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link CurSearch IncSearch
if &background ==# 'dark'
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#d0d0d0', '#767676', '#ff5f87', '#00d75f', '#ffaf00', '#00afff', '#ff87ff', '#00d7d7', '#ffffff']
endif
hi Normal guifg=#d0d0d0 guibg=#000000 gui=NONE cterm=NONE
hi Statusline guifg=#d0d0d0 guibg=#000000 gui=reverse cterm=reverse
hi Statusline guifg=#9e9e9e guibg=#000000 gui=bold,reverse cterm=bold,reverse
hi StatuslineNC guifg=#767676 guibg=#000000 gui=reverse cterm=reverse
hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#767676 gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi VertSplit guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#767676 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi TabLineSel guifg=#000000 guibg=#9e9e9e gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ff87ff gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffffff guibg=NONE gui=bold cterm=bold
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
@@ -43,13 +44,15 @@ if &background ==# 'dark'
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#d0d0d0 guibg=#303030 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffaf00 gui=NONE cterm=NONE
hi PmenuSel guifg=#d0d0d0 guibg=#585858 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#d0d0d0 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind guifg=#ff5f87 guibg=#303030 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d7005f guibg=#ffaf00 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#ff5f87 guibg=#585858 gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#000000 guibg=#ffaf00 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#767676 guibg=#585858 gui=NONE cterm=NONE
hi PmenuMatch guifg=#d787d7 guibg=#303030 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d787d7 guibg=#585858 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#d7005f guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#d7005f guibg=#ffffff gui=reverse cterm=reverse
@@ -65,7 +68,7 @@ if &background ==# 'dark'
hi debugBreakpoint guifg=#00afaf guibg=NONE gui=reverse cterm=reverse
hi Cursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#ff5fff gui=NONE cterm=NONE
hi Visual guifg=#0087d7 guibg=#000000 gui=reverse cterm=reverse
hi Visual guifg=#5fd7ff guibg=#000000 gui=reverse cterm=reverse
hi VisualNOS guifg=#000000 guibg=#00afff gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
@@ -87,7 +90,7 @@ if &background ==# 'dark'
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#00afff guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#afffaf guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#d0d0d0 guibg=#5f5f5f gui=NONE cterm=NONE
@@ -102,14 +105,14 @@ else
let g:terminal_ansi_colors = ['#000000', '#af0000', '#008700', '#af5f00', '#005faf', '#870087', '#008787', '#8a8a8a', '#808080', '#d70000', '#5faf5f', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
endif
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Statusline guifg=#ffffff guibg=#5f5f5f gui=NONE cterm=NONE
hi Statusline guifg=#ffffff guibg=#5f5f5f gui=bold cterm=bold
hi StatuslineNC guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi VertSplit guifg=#d0d0d0 guibg=#d0d0d0 gui=NONE cterm=NONE
hi VertSplit guifg=#5f5f5f guibg=NONE gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#808080 gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=reverse cterm=reverse
hi TabLineFill guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel guifg=#5f5f5f guibg=#ffffff gui=bold,reverse cterm=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#5f5f5f gui=NONE cterm=NONE
hi QuickFixLine guifg=#ffffff guibg=#870087 gui=NONE cterm=NONE
hi CursorLineNr guifg=#000000 guibg=NONE gui=bold cterm=bold
hi LineNr guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
@@ -118,13 +121,15 @@ else
hi EndOfBuffer guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuSel guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#b2b2b2 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#808080 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind guifg=#d70000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#af0000 guibg=#d78700 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d70000 guibg=#b2b2b2 gui=NONE cterm=NONE
hi PmenuExtra guifg=#808080 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#808080 guibg=#b2b2b2 gui=NONE cterm=NONE
hi PmenuMatch guifg=#870087 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#870087 guibg=#b2b2b2 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#d70000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#d70000 guibg=#ffffff gui=reverse cterm=reverse
@@ -132,7 +137,7 @@ else
hi MoreMsg guifg=#008700 guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#870087 guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#8700ff guibg=#ffffff gui=reverse cterm=reverse
hi Todo guifg=#5f00d7 guibg=#ffffff gui=reverse cterm=reverse
hi Search guifg=#ffffff guibg=#008700 gui=NONE cterm=NONE
hi IncSearch guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi WildMenu guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
@@ -158,11 +163,11 @@ else
hi Statement guifg=#005faf guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#8700ff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#5f00d7 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#005faf guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#005f00 guibg=#afd7af gui=NONE cterm=NONE
hi DiffChange guifg=#262626 guibg=#dadada gui=NONE cterm=NONE
@@ -181,17 +186,18 @@ if s:t_Co >= 256
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi! link CurSearch IncSearch
if &background ==# 'dark'
hi Normal ctermfg=252 ctermbg=16 cterm=NONE
hi Statusline ctermfg=252 ctermbg=16 cterm=reverse
hi Statusline ctermfg=247 ctermbg=16 cterm=bold,reverse
hi StatuslineNC ctermfg=243 ctermbg=16 cterm=reverse
hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
hi TabLine ctermfg=16 ctermbg=252 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=243 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
hi VertSplit ctermfg=243 ctermbg=NONE cterm=NONE
hi TabLine ctermfg=16 ctermbg=243 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=16 cterm=NONE
hi TabLineSel ctermfg=16 ctermbg=247 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=231 cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=252 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=213 cterm=NONE
hi CursorLineNr ctermfg=231 ctermbg=NONE cterm=bold
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
@@ -201,13 +207,15 @@ if s:t_Co >= 256
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=243 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=252 ctermbg=236 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=214 cterm=NONE
hi PmenuSel ctermfg=252 ctermbg=240 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=252 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=204 ctermbg=236 cterm=NONE
hi PmenuKindSel ctermfg=161 ctermbg=214 cterm=NONE
hi PmenuKindSel ctermfg=204 ctermbg=240 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=236 cterm=NONE
hi PmenuExtraSel ctermfg=16 ctermbg=214 cterm=NONE
hi PmenuExtraSel ctermfg=243 ctermbg=240 cterm=NONE
hi PmenuMatch ctermfg=176 ctermbg=236 cterm=NONE
hi PmenuMatchSel ctermfg=176 ctermbg=240 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=161 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=161 ctermbg=231 cterm=reverse
@@ -221,17 +229,17 @@ if s:t_Co >= 256
hi WildMenu ctermfg=16 ctermbg=214 cterm=NONE
hi debugPC ctermfg=32 ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=37 ctermbg=NONE cterm=reverse
hi Visual ctermfg=32 ctermbg=16 cterm=reverse
hi Visual ctermfg=81 ctermbg=16 cterm=reverse
hi VisualNOS ctermfg=16 ctermbg=39 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=235 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi Folded ctermfg=243 ctermbg=236 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=161 ctermbg=231 cterm=reverse
hi SpellCap ctermfg=37 ctermbg=16 cterm=reverse
hi SpellLocal ctermfg=41 ctermbg=16 cterm=reverse
hi SpellRare ctermfg=213 ctermbg=16 cterm=reverse
hi SpellBad ctermfg=161 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=37 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=41 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=213 ctermbg=NONE cterm=underline
hi Comment ctermfg=243 ctermbg=NONE cterm=NONE
hi Constant ctermfg=204 ctermbg=NONE cterm=NONE
hi String ctermfg=41 ctermbg=NONE cterm=NONE
@@ -243,7 +251,7 @@ if s:t_Co >= 256
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=39 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=240 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=157 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=252 ctermbg=59 cterm=NONE
@@ -255,14 +263,14 @@ if s:t_Co >= 256
else
" Light background
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi Statusline ctermfg=231 ctermbg=59 cterm=NONE
hi Statusline ctermfg=231 ctermbg=59 cterm=bold
hi StatuslineNC ctermfg=16 ctermbg=252 cterm=NONE
hi VertSplit ctermfg=252 ctermbg=252 cterm=NONE
hi VertSplit ctermfg=59 ctermbg=NONE cterm=NONE
hi TabLine ctermfg=16 ctermbg=252 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=240 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=59 ctermbg=231 cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=59 cterm=NONE
hi QuickFixLine ctermfg=231 ctermbg=90 cterm=NONE
hi CursorLineNr ctermfg=16 ctermbg=NONE cterm=bold
hi LineNr ctermfg=249 ctermbg=NONE cterm=NONE
@@ -271,13 +279,15 @@ if s:t_Co >= 256
hi EndOfBuffer ctermfg=249 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=249 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=254 cterm=NONE
hi PmenuSel ctermfg=231 ctermbg=172 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=249 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=240 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=160 ctermbg=254 cterm=NONE
hi PmenuKindSel ctermfg=124 ctermbg=172 cterm=NONE
hi PmenuKindSel ctermfg=160 ctermbg=249 cterm=NONE
hi PmenuExtra ctermfg=240 ctermbg=254 cterm=NONE
hi PmenuExtraSel ctermfg=231 ctermbg=172 cterm=NONE
hi PmenuExtraSel ctermfg=240 ctermbg=249 cterm=NONE
hi PmenuMatch ctermfg=90 ctermbg=254 cterm=NONE
hi PmenuMatchSel ctermfg=90 ctermbg=249 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=160 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=160 ctermbg=231 cterm=reverse
@@ -285,7 +295,7 @@ if s:t_Co >= 256
hi MoreMsg ctermfg=28 ctermbg=NONE cterm=NONE
hi Question ctermfg=90 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=130 ctermbg=NONE cterm=NONE
hi Todo ctermfg=93 ctermbg=231 cterm=reverse
hi Todo ctermfg=56 ctermbg=231 cterm=reverse
hi Search ctermfg=231 ctermbg=28 cterm=NONE
hi IncSearch ctermfg=231 ctermbg=172 cterm=NONE
hi WildMenu ctermfg=231 ctermbg=172 cterm=NONE
@@ -298,10 +308,10 @@ if s:t_Co >= 256
hi Folded ctermfg=240 ctermbg=254 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=160 ctermbg=231 cterm=reverse
hi SpellCap ctermfg=30 ctermbg=231 cterm=reverse
hi SpellLocal ctermfg=28 ctermbg=231 cterm=reverse
hi SpellRare ctermfg=127 ctermbg=231 cterm=reverse
hi SpellBad ctermfg=160 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=30 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=28 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=127 ctermbg=NONE cterm=underline
hi Comment ctermfg=245 ctermbg=NONE cterm=NONE
hi Constant ctermfg=124 ctermbg=NONE cterm=NONE
hi String ctermfg=28 ctermbg=NONE cterm=NONE
@@ -309,11 +319,11 @@ if s:t_Co >= 256
hi Statement ctermfg=25 ctermbg=NONE cterm=NONE
hi Type ctermfg=130 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
hi Special ctermfg=93 ctermbg=NONE cterm=NONE
hi Special ctermfg=56 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=25 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=249 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=22 ctermbg=151 cterm=NONE
hi DiffChange ctermfg=235 ctermbg=253 cterm=NONE
@@ -330,14 +340,14 @@ endif
if s:t_Co >= 16
if &background ==# 'dark'
hi Normal ctermfg=grey ctermbg=black cterm=NONE
hi Statusline ctermfg=grey ctermbg=black cterm=reverse
hi Statusline ctermfg=grey ctermbg=black cterm=bold,reverse
hi StatuslineNC ctermfg=darkgrey ctermbg=black cterm=reverse
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi TabLine ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=white cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
@@ -353,6 +363,8 @@ if s:t_Co >= 16
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=darkred ctermbg=white cterm=reverse
@@ -366,17 +378,17 @@ if s:t_Co >= 16
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
hi Visual ctermfg=darkblue ctermbg=black cterm=reverse
hi Visual ctermfg=cyan ctermbg=black cterm=reverse
hi VisualNOS ctermfg=black ctermbg=blue cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=yellow cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi SpellBad ctermfg=darkred ctermbg=white cterm=reverse
hi SpellCap ctermfg=darkcyan ctermbg=black cterm=reverse
hi SpellLocal ctermfg=green ctermbg=black cterm=reverse
hi SpellRare ctermfg=magenta ctermbg=black cterm=reverse
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=green ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Constant ctermfg=red ctermbg=NONE cterm=NONE
hi String ctermfg=green ctermbg=NONE cterm=NONE
@@ -388,7 +400,7 @@ if s:t_Co >= 16
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
@@ -400,14 +412,14 @@ if s:t_Co >= 16
else
" Light background
hi Normal ctermfg=black ctermbg=white cterm=NONE
hi Statusline ctermfg=white ctermbg=darkgrey cterm=NONE
hi Statusline ctermfg=white ctermbg=darkgrey cterm=bold
hi StatuslineNC ctermfg=black ctermbg=lightgrey cterm=NONE
hi VertSplit ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi TabLine ctermfg=black ctermbg=lightgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=darkgrey ctermbg=white cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkmagenta cterm=NONE
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
@@ -423,6 +435,8 @@ if s:t_Co >= 16
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
@@ -430,7 +444,7 @@ if s:t_Co >= 16
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=white cterm=reverse
hi Todo ctermfg=blue ctermbg=white cterm=reverse
hi Search ctermfg=white ctermbg=darkgreen cterm=NONE
hi IncSearch ctermfg=white ctermbg=yellow cterm=NONE
hi WildMenu ctermfg=white ctermbg=yellow cterm=NONE
@@ -443,10 +457,10 @@ if s:t_Co >= 16
hi Folded ctermfg=black ctermbg=NONE cterm=bold
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi SpellBad ctermfg=red ctermbg=white cterm=reverse
hi SpellCap ctermfg=darkcyan ctermbg=white cterm=reverse
hi SpellLocal ctermfg=darkgreen ctermbg=white cterm=reverse
hi SpellRare ctermfg=magenta ctermbg=white cterm=reverse
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi String ctermfg=darkgreen ctermbg=NONE cterm=NONE
@@ -454,11 +468,11 @@ if s:t_Co >= 16
hi Statement ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
hi Special ctermfg=blue ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
@@ -477,10 +491,10 @@ if s:t_Co >= 8
hi Normal ctermfg=grey ctermbg=black cterm=NONE
hi Statusline ctermfg=grey ctermbg=black cterm=bold,reverse
hi StatuslineNC ctermfg=black ctermbg=grey cterm=NONE
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
hi TabLine ctermfg=grey ctermbg=black cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi VertSplit ctermfg=grey ctermbg=NONE cterm=NONE
hi TabLine ctermfg=grey ctermbg=black cterm=NONE
hi TabLineFill ctermfg=grey ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
@@ -498,6 +512,8 @@ if s:t_Co >= 8
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
@@ -544,10 +560,10 @@ if s:t_Co >= 8
hi Normal ctermfg=black ctermbg=grey cterm=NONE
hi Statusline ctermfg=grey ctermbg=black cterm=bold
hi StatuslineNC ctermfg=grey ctermbg=darkgrey cterm=NONE
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
hi VertSplit ctermfg=black ctermbg=NONE cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
@@ -565,6 +581,8 @@ if s:t_Co >= 8
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=grey ctermbg=black cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuMatch ctermfg=grey ctermbg=black cterm=bold
hi PmenuMatchSel ctermfg=NONE ctermbg=darkyellow cterm=bold
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
@@ -572,7 +590,7 @@ if s:t_Co >= 8
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=black cterm=reverse
hi Todo ctermfg=blue ctermbg=black cterm=reverse
hi Search ctermfg=darkgreen ctermbg=black cterm=reverse
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
@@ -706,6 +724,8 @@ endif
" Color: colorlC #ff5fff 207 magenta
" Color: colorDim #878787 102 grey
" Color: colorMP #ff00af 199 magenta
" Color: colorV #5fd7ff 81 cyan
" Color: colorSt #9e9e9e 247 grey
" Color: diffAdd #5f875f 65 darkgreen
" Color: diffAddFg #afffaf 157 black
" Color: diffDelete #875f5f 95 darkred
@@ -733,7 +753,7 @@ endif
" Color: color14 #00afaf 37 cyan
" Color: color07 #8a8a8a 245 grey
" Color: color15 #ffffff 231 white
" Color: color16 #8700ff 93 darkred
" Color: color16 #5f00d7 56 blue
" Color: colorCm #8a8a8a 245 darkgrey
" Color: colorLine #EEEEEE 255 grey
" Color: colorB #E4E4E4 254 grey
@@ -741,7 +761,7 @@ endif
" Color: colorTab #d0d0d0 252 lightgrey
" Color: colorC #000000 16 black
" Color: colorlC #FF00FF 201 magenta
" Color: colorV #5F87AF 67 darkblue
" Color: colorV #0087af 31 darkcyan
" Color: colorDim #626262 241 darkgrey
" Color: colorSt #5f5f5f 59 darkgrey
" Color: colorMP #ff00af 199 magenta

View File

@@ -4,7 +4,7 @@
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:43
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -35,6 +35,8 @@ hi PmenuExtra guifg=#878092 guibg=#ffffff gui=NONE cterm=NONE
hi! link PmenuExtraSel PmenuSel
hi PmenuKind guifg=#878092 guibg=#ffffff gui=NONE cterm=NONE
hi! link PmenuKindSel PmenuSel
hi PmenuMatch guifg=#d700ff guibg=#ffffff gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#d700ff guibg=#afafff gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#510039 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#362b49 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#362b49 gui=NONE cterm=NONE
@@ -89,6 +91,7 @@ hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link PopupSelected PmenuSel
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
@@ -138,6 +141,8 @@ if s:t_Co >= 256
hi! link PmenuExtraSel PmenuSel
hi PmenuKind ctermfg=103 ctermbg=231 cterm=NONE
hi! link PmenuKindSel PmenuSel
hi PmenuMatch ctermfg=165 ctermbg=231 cterm=NONE
hi PmenuMatchSel ctermfg=165 ctermbg=147 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=52 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
@@ -192,6 +197,7 @@ if s:t_Co >= 256
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link PopupSelected PmenuSel
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
@@ -244,6 +250,8 @@ if s:t_Co >= 16
hi! link PmenuExtraSel PmenuSel
hi PmenuKind ctermfg=darkgray ctermbg=white cterm=NONE
hi! link PmenuKindSel PmenuSel
hi PmenuMatch ctermfg=black ctermbg=white cterm=bold
hi PmenuMatchSel ctermfg=white ctermbg=blue cterm=bold
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
@@ -298,6 +306,7 @@ if s:t_Co >= 16
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link PopupSelected PmenuSel
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
@@ -350,6 +359,8 @@ if s:t_Co >= 8
hi! link PmenuExtraSel PmenuSel
hi! link PmenuKind Pmenu
hi! link PmenuKindSel PmenuSel
hi PmenuMatch ctermfg=black ctermbg=white cterm=bold
hi PmenuMatchSel ctermfg=white ctermbg=blue cterm=bold
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
@@ -404,6 +415,7 @@ if s:t_Co >= 8
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link PopupSelected PmenuSel
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement

View File

@@ -4,7 +4,7 @@
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 15 Dec 2023 20:05:44
" Last Change: 2025 Jan 07
" Generated by Colortemplate v2.2.3
@@ -26,6 +26,7 @@ hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
@@ -42,6 +43,8 @@ hi Pmenu guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#a9a9a9 gui=NONE cterm=NONE
hi PmenuMatch guifg=#a52a2a guibg=#dadada gui=NONE cterm=NONE
hi PmenuMatchSel guifg=#a52a2a guibg=#ffff00 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#a9a9a9 gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=bold
@@ -82,7 +85,7 @@ hi Type guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Tag guifg=#006400 guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#0000ff guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#a020f0 guibg=NONE gui=bold cterm=bold
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
@@ -99,6 +102,7 @@ if s:t_Co >= 256
hi! link CursorLineSign CursorLine
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
@@ -115,6 +119,8 @@ if s:t_Co >= 256
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=248 cterm=NONE
hi PmenuMatch ctermfg=124 ctermbg=253 cterm=NONE
hi PmenuMatchSel ctermfg=124 ctermbg=226 cterm=NONE
hi TabLine ctermfg=16 ctermbg=248 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=231 cterm=bold
@@ -155,7 +161,7 @@ if s:t_Co >= 256
hi Special ctermfg=201 ctermbg=NONE cterm=NONE
hi Tag ctermfg=22 ctermbg=NONE cterm=NONE
hi Directory ctermfg=21 ctermbg=NONE cterm=bold
hi Conceal ctermfg=196 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=248 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=129 ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
@@ -183,6 +189,8 @@ if s:t_Co >= 16
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=grey cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=yellow cterm=bold
hi TabLine ctermfg=black ctermbg=grey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold
@@ -223,7 +231,7 @@ if s:t_Co >= 16
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
hi Conceal ctermfg=red ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
@@ -251,6 +259,8 @@ if s:t_Co >= 8
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkmagenta cterm=NONE
hi PmenuMatch ctermfg=black ctermbg=darkcyan cterm=bold
hi PmenuMatchSel ctermfg=black ctermbg=darkyellow cterm=bold
hi TabLine ctermfg=black ctermbg=gray cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
@@ -288,7 +298,7 @@ if s:t_Co >= 8
hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
hi Special ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=darkred ctermbg=NONE cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE

View File

@@ -4,6 +4,8 @@ They are used with the ":compiler" command.
These scripts usually set options, for example 'errorformat'.
See ":help write-compiler-plugin".
To undo the effect of a compiler plugin, use the make compiler plugin.
If you want to write your own compiler plugin, have a look at the other files
for how to do it, the format is simple.

12
runtime/compiler/bash.vim Normal file
View File

@@ -0,0 +1,12 @@
" Vim compiler file
" Compiler: Bash Syntax Checker
" Maintainer: @konfekt
" Last Change: 2024 Dec 27
if exists("current_compiler")
finish
endif
let current_compiler = "bash"
CompilerSet makeprg=bash\ -n
CompilerSet errorformat=%f:\ line\ %l:\ %m

View File

@@ -0,0 +1,40 @@
" vim compiler file
" Compiler: cppcheck (C++ static checker)
" Maintainer: Vincent B. (twinside@free.fr)
" Last Change: 2024 Nov 19 by @Konfekt
if exists("current_compiler") | finish | endif
let current_compiler = "cppcheck"
let s:cpo_save = &cpo
set cpo&vim
let s:slash = has('win32')? '\' : '/'
if !exists('g:c_cppcheck_params')
let g:c_cppcheck_params = '--verbose --force --inline-suppr'
\ ..' '..'--enable=warning,style,performance,portability,information,missingInclude'
\ ..' '..(executable('getconf') ? '-j' .. systemlist('getconf _NPROCESSORS_ONLN')[0] : '')
let s:undo_compiler = 'unlet! g:c_cppcheck_params'
endif
let &l:makeprg = '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, ' \|"')
CompilerSet errorformat=
\%f:%l:%c:\ %tarning:\ %m,
\%f:%l:%c:\ %trror:\ %m,
\%f:%l:%c:\ %tnformation:\ %m,
\%f:%l:%c:\ %m,
\%.%#\ :\ [%f:%l]\ %m
exe get(s:, 'undo_compiler', '')
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,13 +1,12 @@
" Vim compiler file
" Compiler: ESLint for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 August 20
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
" Last Change: 2024 Nov 30
if exists("current_compiler")
finish
endif
let current_compiler = "eslint"
CompilerSet makeprg=npx\ eslint\ --format\ compact
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
CompilerSet makeprg=npx\ eslint\ --format\ stylish
CompilerSet errorformat=%-P%f,\%\\s%#%l:%c\ %#\ %trror\ \ %m,\%\\s%#%l:%c\ %#\ %tarning\ \ %m,\%-Q,\%-G%.%#,

View File

@@ -0,0 +1,45 @@
" Vim compiler file
" Compiler: Groff
" Maintainer: Konfekt
" Last Change: 2024 Nov 19
"
" Expects output file extension, say `:make html` or `:make pdf`.
" Supported devices as of Sept 2024 are: (x)html, pdf, ps, dvi, lj4, lbp ...
" Adjust command-line flags, language, encoding by buffer-local/global variables
" groff_compiler_args, groff_compiler_lang, and groff_compiler_encoding,
" which default to '', &spelllang and 'utf8'.
if exists("current_compiler")
finish
endif
let s:keepcpo = &cpo
set cpo&vim
let current_compiler = 'groff'
silent! function s:groff_compiler_lang()
let lang = get(b:, 'groff_compiler_lang',
\ &spell ? matchstr(&spelllang, '^\a\a') : '')
if lang ==# 'en' | let lang = '' | endif
return empty(lang) ? '' : '-m'..lang
endfunction
" Requires output format (= device) to be set by user after :make.
execute 'CompilerSet makeprg=groff'..escape(
\ ' '..s:groff_compiler_lang()..
\ ' -K'..get(b:, 'groff_compiler_encoding', get(g:, 'groff_compiler_encoding', 'utf8'))..
\ ' '..get(b:, 'groff_compiler_args', get(g:, 'groff_compiler_args', ''))..
\ ' -mom -T$* -- %:S > %:r:S.$*', ' \|"')
" From Gavin Freeborn's https://github.com/Gavinok/vim-troff under Vim License
" https://github.com/Gavinok/vim-troff/blob/91017b1423caa80aba541c997909a4f810edd275/compiler/troff.vim#L39
CompilerSet errorformat=%o:<standard\ input>\ (%f):%l:%m,
\%o:\ <standard\ input>\ (%f):%l:%m,
\%o:%f:%l:%m,
\%o:\ %f:%l:%m,
\%f:%l:\ macro\ %trror:%m,
\%f:%l:%m,
\%W%tarning:\ file\ '%f'\\,\ around\ line\ %l:,%Z%m
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,28 +1,29 @@
" Vim compiler file
" Compiler: Hare Compiler
" Maintainer: Amelia Clarke <me@rsaihe.dev>
" Last Change: 2022-09-21
" 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
" Vim compiler file.
" Compiler: Hare
" Maintainer: Amelia Clarke <selene@perilune.dev>
" Last Change: 2024-05-23
" Upstream: https://git.sr.ht/~sircmpwn/hare.vim
if exists("g:current_compiler")
if exists('current_compiler')
finish
endif
let g:current_compiler = "hare"
let current_compiler = 'hare'
let s:cpo_save = &cpo
set cpo&vim
if filereadable("Makefile") || filereadable("makefile")
if filereadable('Makefile') || filereadable('makefile')
CompilerSet makeprg=make
else
CompilerSet makeprg=hare\ build
endif
CompilerSet errorformat=
\Error\ %f:%l:%c:\ %m,
\Syntax\ error:\ %.%#\ at\ %f:%l:%c\\,\ %m,
\%f:%l:%c:\ syntax\ error:\ %m,
\%f:%l:%c:\ error:\ %m,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: tabstop=2 shiftwidth=2 expandtab
" vim: et sts=2 sw=2 ts=8

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Java Development Kit Compiler
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2024 Apr 03
" Last Change: 2024 Nov 19 (enable local javac_makeprg_params)
if exists("current_compiler")
finish
@@ -11,7 +11,8 @@ let current_compiler = "javac"
let s:cpo_save = &cpo
set cpo&vim
CompilerSet makeprg=javac
execute $'CompilerSet makeprg=javac\ {escape(get(b:, 'javac_makeprg_params', get(g:, 'javac_makeprg_params', '')), ' \|"')}'
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
\%W%f:%l:\ warning:\ %m,
\%-Z%p^,

13
runtime/compiler/make.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim compiler plugin
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2024 Sep 10
" Original Author: Konfekt
"
" This compiler plugin is used to reset previously set compiler options.
if exists("g:current_compiler") | unlet g:current_compiler | endif
if exists("b:current_compiler") | unlet b:current_compiler | endif
CompilerSet makeprg&
CompilerSet errorformat&

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