Commit Graph

24462 Commits

Author SHA1 Message Date
Amaan Qureshi
80bede1dfc
vim-patch:9.0.1229: Cap'n Proto files are not recognized (#21950)
Problem:    Cap'n Proto files are not recognized.
Solution:   Add a pattern and the "capnp" filetype. (Amaan Qureshi,
            closes vim/vim#11862)

040e795e8d
2023-01-22 22:08:33 +08:00
zeertzjq
2ef913468b
vim-patch:9.0.1228: fuzzy menu completion is only tested in the GUI (#21948)
Problem:    Fuzzy menu completion is only tested in the GUI.
Solution:   Make fuzzy menu completion test work without GUI.
            (closes vim/vim#11861)

145a6afe3a
2023-01-22 21:13:52 +08:00
zeertzjq
18fb669b9b
fix(completion): include lua syntaxes in :ownsyntax completion (#21941)
This just removes DIP_LUA and always executes its branches.
Also add tests for cmdline completion for other lua runtime files.
2023-01-22 11:19:58 +08:00
zeertzjq
108452aaba
vim-patch:9.0.1225: reading past the end of a line when formatting text (#21937)
Problem:    Reading past the end of a line when formatting text.
Solution:   Check for not going over the end of the line.

11977f9175

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-01-22 07:41:39 +08:00
zeertzjq
0f52e2c849
vim-patch:8.2.0382: some tests fail when run under valgrind (#21936)
Problem:    Some tests fail when run under valgrind.
Solution:   Increase timeouts.

353c351bd2

Cherry-pick Test_pum_with_preview_win() from patch 8.2.0011.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-01-21 20:50:46 +08:00
zeertzjq
fb805bb8b7
fix(remote): don't leak memory on failure to connect to server (#21931)
Also fix the race between output and resize in the test for this.
2023-01-21 18:54:17 +08:00
zeertzjq
eec979ca81
test(tui_spec): don't expect exact screen in rapid resize test (#21935)
There may be a race between resizes, so don't expect exact screen.
Expect window width instead.
2023-01-21 18:15:38 +08:00
zeertzjq
e336251f2b
test(tui_spec): make rapid resize test test what it wants to test (#21933)
Actually execute the command.
Don't use assert_alive() as it checks the host session instead of the
child session. Use screen:expect() instead.
2023-01-21 17:11:02 +08:00
dundargoc
9a81ce6854
build: bump MSVC warning to level two (#21890) 2023-01-21 09:55:10 +01:00
kishii
7ef5e363d3
feat(lsp): add triggerKind option for vim.lsp.buf.code_action (#21905) 2023-01-21 08:22:34 +01:00
zeertzjq
e86d2734a9
refactor: use uint8_t for blobs and ga_append() (#21916)
A blob is used as a sequence of bytes and usually accessed individually,
not as as a NUL-terminuated string, so uint8_t should be better.

Not sure about ga_append(), but using uint8_t leads to fewer casts.
2023-01-21 09:24:09 +08:00
zeertzjq
1c16d0994d
refactor: change char_u to uint8_t or char in sha256.c/undo.c (#21914)
Use uint8_t for bytes in hashes as it doesn't make sense for them to be signed.
2023-01-21 08:58:57 +08:00
zeertzjq
efe5ce6fa8
vim-patch:9.0.1223: cannot use setcellwidths() below 0x100 (#21929)
Problem:    Cannot use setcellwidths() below 0x100.
Solution:   Also accept characters between 0x80 and 0x100. (Ken Takata,
            closes vim/vim#11834)

7193323b77

Co-authored-by: K.Takata <kentkt@csc.jp>
2023-01-21 08:44:14 +08:00
dundargoc
4c5c6ca800
build: various cmake fixes (#21902)
* build: various cmake refactors and simplifications

- Add STATUS keyword to message to ensure messages are shown in the
  correct order.
- Remove DEPS_CXX_COMPILER as we don't rely on C++ for any of our
  dependencies.
- Simplify how msgpack and luv configure options are constructed.
- Rely on the default installation for luv instead of manually passing
  configure, build and install commands.
- Simplify return code conditional.

* build: remove CMAKE_OSX_ARCHITECTURES_ALT_SEP workaround

CMAKE_OSX_ARCHITECTURES_ALT_SEP was defined as a workaround to prevent
the shell from interpreting `;`, which CMake uses as a list separator.
However, the same thing can be achieved by instead passing
CMAKE_OSX_ARCHITECTURES as a cache variable instead, which is a more
idiomatic way of achieving the same thing.

* build: define CMAKE_BUILD_TYPE before adding it to BUILD_TYPE_STRING

The problem with the current setup is that CMAKE_BUILD_TYPE is defined
after BUILD_TYPE_STRING. BUILD_TYPE_STRING will then be empty on the
first run, meaning that dependencies are built without a build type.
However, since CMAKE_BUILD_TYPE is a cache variable its value will
persist in subsequent runs. On the second run BUILD_TYPE_STRING will
have the correct value, but it's a different value from the ones the
dependencies were built with. This will force some dependencies to be
built again.

Fixes https://github.com/neovim/neovim/issues/21672.
2023-01-20 23:48:46 +01:00
Sizhe Zhao
c41214c7d4
docs: docs: use codeblocks in runtime/doc/options.txt (#21919)
ensure correct parsing with tree-sitter

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-01-20 17:29:15 +01:00
Raphael
d8d39344e3
fix(lsp): fix removed param value in add_workspace_folder (#21915) 2023-01-20 07:59:31 +01:00
zeertzjq
51d082b466
vim-patch:9.0.0358: 'breakindent' does not indent non-lists (#21913)
Problem:    'breakindent' does not indent non-lists with
            "breakindentopt=list:-1".
Solution:   Adjust indent computation. (Maxim Kim, closes vim/vim#11038)

119167265e

Co-authored-by: Maxim Kim <habamax@gmail.com>
2023-01-20 10:35:52 +08:00
zeertzjq
0481f04ec9
test(syn_attr_spec): add more information (#21912)
This makes it clear on test failure what the attributes are.
2023-01-20 10:03:29 +08:00
luukvbaal
999bb983f0
perf(statuscolumn): only fill click defs array once per redraw (#21884)
Problem:    'statuscolumn' click definitions are cleared, evaluated,
            allocated and filled each redraw for every row in a window.
            This despite the fact that we only store a single click
            definition array for the entire column as opposed to one
            for each row.
Solution:   Only fill the 'statuscolumn' click definition array once per
            window per redraw.

Resolve https://github.com/neovim/neovim/issues/21767.
2023-01-20 07:47:02 +08:00
dundargoc
775e292290
build: remove nvim as a dependency of unittests (#21903)
Unittests rely on nvim-test and not nvim, leading to both nvim and
nvim-test being compiled each time a file is changed. Furthermore, the
dependencies are already specified by CMakeLists.txt and shouldn't need
to be specified in Makefile as it's only meant to be syntactic sugar.
2023-01-19 22:12:27 +01:00
Lewis Russell
5f3b76d5ce
refactor(highlight_group.c): reduce scope of locals 2023-01-19 15:54:59 +00:00
dundargoc
4c531714ff
refactor: replace char_u with char 25 (#21838)
refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459
2023-01-19 22:25:56 +08:00
zeertzjq
adfad50ac0
fix(rpc): don't parse msgpack if buflen is 0 (#21899)
This prevents `buflen` from becoming a very large number when it is 0
when calling mpack_rtoken().
2023-01-19 20:38:29 +08:00
dundargoc
363d153bb9
fix: pass value instead of pointer to isalpha (#21898) 2023-01-19 18:48:49 +08:00
dundargoc
00a976129b
build: enable cmake workflow presets (#21860)
Workflow presets allows combining configure, build, test and packaging
steps and makes it possible to run everything in a single command. So

cmake --preset iwyu
cmake --build --preset iwyu

instead becomes

cmake --workflow --preset iwyu

Workflow presets requires at least cmake version 3.25 to use.
2023-01-19 10:34:45 +01:00
zeertzjq
6e3890f4ce
vim-patch:8.2.4655: cmdline completion popup menu positioned wrong (#21894)
Problem:    Command line completion popup menu positioned wrong when using a
            terminal window.
Solution:   Position the popup menu differently when editing the command line.
            (Yegappan Lakshmanan, closes vim/vim#10050, closes vim/vim#10035)

1104a6d0c2

The test in the patch looks a bit hard to understand.
Add a Lua test that is more straightforward.

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-01-19 15:13:27 +08:00
zeertzjq
93adf74a03
refactor(eval.c): factor out get_number_tv() (#21893)
It was refactored into a separate function in Vim in patch 8.2.0149.
2023-01-19 13:27:36 +08:00
zeertzjq
42e9a09a44
Merge pull request #21879 from zeertzjq/stl-click-zero-len
Fix statusline memory leaks with click labels
2023-01-19 11:00:00 +08:00
zeertzjq
01ddc09747 fix(statusline): don't leak memory with truncated click labels 2023-01-19 10:36:29 +08:00
zeertzjq
295a264b65 fix(statusline): don't leak memory with zero-width click labels
A zero-width click label isn't assigned to any click definition, so its
function name should be freed when filling click definitions.
2023-01-19 10:36:29 +08:00
zeertzjq
45dc0f3454
vim-patch:9.0.1221: code is indented more than necessary (#21891)
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes vim/vim#11833)

f97a295cca

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-01-19 09:51:59 +08:00
zeertzjq
f8669e8a18
vim-patch:8.2.1698: cannot lock a variable in legacy Vim script like in Vim9 (#21883)
Problem:    Cannot lock a variable in legacy Vim script like in Vim9.
Solution:   Make ":lockvar 0" work.

a187c43cfe

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-01-19 08:03:13 +08:00
dundargoc
42d5142367
ci: enable CI_BUILD on windows (#21557)
This will ensure warnings are treated as errors when using MSVC.

Also fix const correctness warnings. The warnings in mbyte.c are false
positives that triggers this warning on MSVC v19.32 and lower, which our
CI still use. The (void *) casts can be removed once the CI MSVC version
has been upgraded to v19.33 or higher.
2023-01-18 20:23:46 +01:00
bfredl
92a46727f7
Merge pull request #21881 from bfredl/uniterror
fix(unittests): do not consider process crash to be a success
2023-01-18 18:52:24 +01:00
bfredl
6bfbb4db1d fix(unittests): fix TUI broken test previously ignored 2023-01-18 14:56:55 +01:00
bfredl
847a1507aa fix(unittest): delete unused duplicated code
YAGNI. These were disabled 5 years ago in lint commit 29ed5b3a39
2023-01-18 14:56:55 +01:00
bfredl
9fdb586592 fix(unittests): do not consider process crash to be a success
unittests relied on the exact setup of coredumps on CI to detect
process crashing, and otherwise completely discarded errors.

Dectect child process failure reliably using process status, so that
unittests actually work locally as well.
2023-01-18 14:56:55 +01:00
dundargoc
8a4285d563
refactor: replace char_u with char 24 (#21823)
refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459
2023-01-18 21:17:11 +08:00
dundargoc
2c1e7242f9
refactor: replace char_u with char 23 (#21798)
Work on https://github.com/neovim/neovim/issues/459
2023-01-18 18:52:19 +08:00
Enan Ajmain
7f7b83baef
build(Windows): fix redoing version generation (#21880)
Problem: On Windows, neovim's version is generated every time nvim is
built, even if code hasn't been changed.  That is because version
generation is done based on a hash matching of a file and the content of
the file.  And in Windows they don't match, because of the DOS
line-endings.

Solution: Write the file containing nvim version with UNIX line-endings.
2023-01-18 11:48:01 +01:00
zeertzjq
36555730da
fix(statuscolumn): always fill click defs array (#21878)
Click definitions are always filled for tabline, statusline and winbar,
so they should also be always filled for statuscolumn, otherwise it will
leak memory.

Note: this doesn't actually change the existing code much, because of a
typo in the existing code.
2023-01-18 17:55:03 +08:00
zeertzjq
0aae7f3860
vim-patch:9.0.0149: test for fuzzy completion fails sometimes (#21876)
Problem:    Test for fuzzy completion fails sometimes.
Solution:   Use a more specific file name to minimize the chance of matching a
            random directory name. (closes vim/vim#10854)

5ac4b1a24e

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-01-18 12:00:40 +08:00
Lucas Merritt
2082d275fe
refactor(PVS): suppress false positive V547 in drawline.c (#21875)
This is a false positive as "did_emsg" can be set by get_syntax_attr()

Example: get_syntax_attr() -> syn_current_attr() -> syn_getcurline()
-> ml_get_buf() -> siemsg() -> semsgv() -> emsg() -> emsg_multiline()
2023-01-18 10:36:23 +08:00
zeertzjq
0133fbb37a
vim-patch:9.0.1213: adding a line below the last one does not expand fold (#21869)
Problem:    Adding a line below the last one does not expand fold.
Solution:   Do not skip mark_adjust() when adding lines below the last one.
            (Brandon Simmons, closes vim/vim#11832, closes vim/vim#10698)

da3dd7d857

Co-authored-by: Brandon Simmons <simmsbra@gmail.com>
2023-01-18 07:33:18 +08:00
Lucas Merritt
1453c7163d
refactor(PVS/V1048): remove unnecessary assignment (#21870) 2023-01-18 07:22:25 +08:00
zeertzjq
847e603554
Merge pull request #21868 from zeertzjq/vim-9.0.1214
vim-patch:9.0.{1214,1215}
2023-01-18 07:21:57 +08:00
zeertzjq
9a2dd52a6a vim-patch:9.0.1215: using isalpha() adds dependency on current locale
Problem:    Using isalpha() adds dependency on current locale.
Solution:   Do not use isalpha() for recognizing a URL or the end of an Ex
            command. (closes vim/vim#11835)

0ef9a5c094
2023-01-18 06:50:47 +08:00
zeertzjq
8c344378b8 vim-patch:9.0.1214: file left behind after running tests
Problem:    File left behind after running tests.
Solution:   Delete the file. (Dominique Pellé, closes vim/vim#11839)

541c87c808

Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
2023-01-18 06:50:47 +08:00
zeertzjq
f4e03cbdbc
vim-patch:9.0.1212: cannot read back what setcellwidths() has done (#21867)
Problem:    Cannot read back what setcellwidths() has done.
Solution:   Add getcellwidths(). (Kota Kato, closes vim/vim#11837)

66bb9ae70f

Co-authored-by: Kota Kato <github@kat0h.com>
2023-01-18 06:50:22 +08:00
Lewis Russell
20b7be2d10
fix(treesitter): really restore syntax
- also unset b:ts_highlight on stop()

Fixes: #21836
2023-01-17 16:56:23 +00:00