Commit Graph

16376 Commits

Author SHA1 Message Date
Björn Linse
79571b92ce feat(lua): omnifunc for builting lua interpreter
also make implicit submodules "uri" and "_inspector" work with completion

this is needed for `:lua=vim.uri_<tab>` wildmenu completion
to work even before uri or _inspector functions are used.
2023-03-06 23:12:21 +01:00
dundargoc
6aa5346b04 build: enable unit testing on release builds (#22554)
Unittests not working on release builds can lead to confusing
situations, such as contributors wondering why their tests aren't
working if they forgot they've built with a release build. This only
increased the Release executable size by 8 kB on my personal machine,
which is an acceptable tradeoff.
2023-03-06 22:36:04 +01:00
swarn
1cc23e1109 feat(lsp)!: add rule-based sem token highlighting (#22022)
feat(lsp)!: change semantic token highlighting

Change the default highlights used, and add more highlights per token.

Add an LspTokenUpdate event and a highlight_token function.

:Inspect now shows any highlights applied by token highlighting rules,
default or user-defined.

BREAKING CHANGE: change the default highlight groups used by semantic
token highlighting.
2023-03-06 19:03:13 +01:00
Lewis Russell
98f2df931a fix(diff): add NULL check 2023-03-06 16:10:04 +00:00
Kelly Lin
0e7196438d feat(lua): add semver api 2023-03-06 13:45:59 +01:00
zeertzjq
b0620ffe5a vim-patch:9.0.1386: options test fails with some window width (#22548)
Problem:    Options test fails with some window width.
Solution:   Adjust what text the test checks with. (closes vim/vim#12111)

30585e03a7
2023-03-06 16:45:57 +08:00
zeertzjq
e389b18902 vim-patch:9.0.1385: g'Esc is considered an error (#22544)
Problem:    g'Esc is considered an error.
Solution:   Make g'Esc silently abandon the command. (closes vim/vim#12110)

f86dea8119
2023-03-06 07:52:11 +08:00
dundargoc
da0c66bcdd build: remove workaround for incorrectly packaged libluv
This removes a workaround for incorrectly packaged libluv in
90e44ecf11 as it should not be needed
anymore.
2023-03-05 21:13:28 +01:00
Biswapriyo Nath
0775858703 build: fix unknown pragma warning with mingw (#22533)
This checks MSVC toolchain with _MSC_VER macro before adding
pragma warning directive. It is specific to MSVC and shows
compiler warning with mingw gcc as following:

main.c:187: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
  187 | # pragma warning(suppress : 4996)
2023-03-05 21:52:32 +08:00
zeertzjq
e0bbe8ccf8 vim-patch:9.0.0870: get E967 when using text property in quickfix window
Problem:    Get E967 when using text property in quickfix window. (Sergey
            Vlasov)
Solution:   Do not add an extra NUL and compute the text length correctly.
            (closes vim/vim#11513)

2f7bfe66a1

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-05 17:05:33 +08:00
zeertzjq
749fe2c383 vim-patch:9.0.0770: quickfix commands may keep memory allocated
Problem:    Quickfix commands may keep memory allocated.
Solution:   Free memory when it's a bit much. (Yegappan Lakshmanan,
            closes vim/vim#11379)

d8cd6f7427

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-03-05 17:04:43 +08:00
zeertzjq
1adad44b7c vim-patch:9.0.0749: alloc/free of buffer for each quickfix entry is inefficient
Problem:    Alloc/free of buffer for each quickfix entry is inefficient.
Solution:   Use a shared grow array. (Yegappan Lakshmanan, closes vim/vim#11365)

975a665d48

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-03-05 17:02:24 +08:00
zeertzjq
1cfe83c2a2 vim-patch:9.0.0736: quickfix listing does not handle very long messages
Problem:    Quickfix listing does not handle very long messages.
Solution:   Use a growarray instead of a fixed size buffer. (Yegappan
            Lakshmanan, closes vim/vim#11357)

f8412c9d7c

Override Test_very_long_error_line() with a rewrite that doesn't use
deferred delete and string interpolation.

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-03-05 16:51:22 +08:00
zeertzjq
419819b624 vim-patch:9.0.1380: CTRL-X on 2**64 subtracts two (#22530)
Problem:    CTRL-X on 2**64 subtracts two. (James McCoy)
Solution:   Correct computation for large number. (closes vim/vim#12103)

5fb78c3fa5

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-05 09:18:42 +08:00
zeertzjq
b44b8e7687 test(old): make getting an unused PID work (#22529) 2023-03-05 08:34:58 +08:00
zeertzjq
089f962d6a vim-patch:9.0.1378: illegal memory access when using virtual editing (#22527)
Problem:    Illegal memory access when using virtual editing.
Solution:   Make sure "startspaces" is not negative.

c99cbf8f28

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-05 08:08:04 +08:00
zeertzjq
39842be8cd fix(extmarks): don't leak memory on error (#22507) 2023-03-05 07:09:28 +08:00
bfredl
bc26f23e5a Merge pull request #22415 from bfredl/log_debug
refactor(log): reduce compile time LOG_LEVEL granularity
2023-03-04 17:18:32 +01:00
bfredl
2ba224e152 refactor(log): reduce compile time LOG_LEVEL granularity 2023-03-04 15:26:17 +01:00
zeertzjq
dde5ce46b2 refactor(spell): use uint8_t for "byts" variables (#22519)
Avoid casting back and forth.
2023-03-04 21:09:50 +08:00
dundargoc
6cab36e5b7 refactor: replace char_u with char or uint8_t (#22400)
Work on https://github.com/neovim/neovim/issues/459
2023-03-04 20:10:00 +08:00
zeertzjq
b7d59649ac fix(redraw): get the line again after evaluating something 2023-03-04 13:53:09 +08:00
zeertzjq
808691e399 fix(luado): get old_line length before executing Lua code 2023-03-04 13:53:09 +08:00
zeertzjq
98e8464319 vim-patch:9.0.0016: comparing line pointer for 'breakindent' is not reliable
Problem:    Comparing line pointer for 'breakindent' is not reliable.
Solution:   Make a copy of the line.

c2a79b87fc

Test changes have been squashed into the previous commit.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-04 13:53:09 +08:00
zeertzjq
0a897f89c5 vim-patch:partial:9.0.0013: reproducing memory access errors can be difficult
Problem:    Reproducing memory access errors can be difficult.
Solution:   When testing, copy each line to allocated memory, so that valgrind
            can detect accessing memory before and/or after it.  Fix uncovered
            problems.

fa4873ccfc

Since test_override() is N/A, enable ml_get_alloc_lines when ASAN is
enabled instead, so it also applies to functional tests.

Use xstrdup() to copy the line as ml_line_len looks hard to port.

Squash the test changes from patch 9.0.0016.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-04 13:53:09 +08:00
zeertzjq
446c353a50 vim-patch:9.0.1376: accessing invalid memory with put in Visual block mode (#22505)
Problem:    Accessing invalid memory with put in Visual block mode.
Solution:   Adjust the cursor column if needed.

1c73b65229

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-04 08:39:54 +08:00
Christian Clason
7e90f247e7 fix(treesitter): raise ts_match_limit to 256 (#22497)
Problem: Some complex queries may not return all matches.

Solution: Raise `ts_match_limit` from current 64 (twice the original
default) to 256 (which Helix uses, and seems to be enough for the reported
problematic cases).

If this leads performance regressions in other queries, we should add a
generic querying timeout instead of relying on a low value here.
2023-03-03 16:16:17 +01:00
zeertzjq
a88c18c24e vim-patch:9.0.0527: long sign text may overflow buffer (#22496)
Problem:    Long sign text may overflow buffer.
Solution:   Use a larger buffer.  Prevent for overflow.

2b1ddf19f8

Don't change the size of extra[] as it's already large enough.

N/A patches for version.c:

vim-patch:9.0.0523: more compiler warnings for arguments in small version

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 22:24:12 +08:00
bfredl
2cffd04833 refactor(build): graduate -Wvla, -fno-common and -Og "features"
These are in gcc 4.9+ which we require anyway.
-Og is safe on clang as well (reserved for a future debug-optimize mode,
and currently does the same as -O1 which is reasonable)
2023-03-03 14:26:29 +01:00
bfredl
848dac0aaa refactor(build): graduate unibilium VAR_FROM feature from 2017 2023-03-03 14:26:11 +01:00
bfredl
c9b6db4541 refactor(build): graduate msgpack-c FLOAT32 "feature" since forever 2023-03-03 14:26:10 +01:00
bfredl
c002fd421e refactor(build): graduate libtreesitter features which are 1+ years old 2023-03-03 14:25:20 +01:00
bfredl
1b3c1f6c06 refactor(build): graduate HAVE_LOCALE_H feature
Merge locale.h into os/lang.h
Having a source file with the same name as a system header we use is
considered an anti-pattern.
2023-03-03 14:19:46 +01:00
bfredl
166b149d5b refactor(build): remove unused stdlib function and include checks
In addition: merge some checks for the same feature into one
test_compile. This reduces the total number of test compiles
which speeds up the cmake configure stage.
2023-03-03 14:19:46 +01:00
zeertzjq
bdde07f60e vim-patch:9.0.0533: the win_line() function is much too long
Problem:    The win_line() function is much too long.
Solution:   Move code to separate functions.

e49f9acecc

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 19:28:56 +08:00
zeertzjq
a7dbfec9f3 vim-patch:partial:9.0.0531: the win_line() function is much too long
Problem:    The win_line() function is much too long.
Solution:   Move code to separate functions.

c20a41972c

Partial port as this depends on patch 9.0.0148.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 19:28:56 +08:00
zeertzjq
bf44556906 refactor(drawline.c): move number column helpers function together 2023-03-03 19:09:53 +08:00
zeertzjq
89cccea167 vim-patch:9.0.0519: the win_line() function is much too long (#22491)
Problem:    The win_line() function is much too long.
Solution:   Move the code to draw the line number to a separate function.

d7657e95b2

N/A patches for version.c:

vim-patch:9.0.0521: compiler warns for unused argument in small version

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 17:24:14 +08:00
zeertzjq
5311c9048a refactor(win_line): move some variables into a struct (#22490)
This reduces the number of arguments to helpers functions.

N/A patches for version.c:

vim-patch:9.0.0152: warning for unused argument in small build

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 14:50:37 +08:00
zeertzjq
bcf077414c vim-patch:9.0.1373: wrong text displayed when using both 'linebreak' and 'list'
Problem:    Wrong text displayed when using both 'linebreak' and 'list'.
Solution:   Only set "c_extra" to NUL when "p_extra" is not empty. (Hirohito
            Higashi, closes vim/vim#12065)

194555c001

Cherry-pick a change from patch 9.0.0153.

Co-authored-by: h-east <h.east.727@gmail.com>
2023-03-03 11:00:47 +08:00
zeertzjq
4a3594f60e vim-patch:9.0.0991: crash when reading help index with various options set
Problem:    Crash when reading help index with various options set. (Marius
            Gedminas)
Solution:   Do not set wlv.c_extra to NUL when wlv.p_extra is NULL.
            (closes vim/vim#11651)

c67c89c758

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 07:54:26 +08:00
zeertzjq
c2e602b9d0 vim-patch:9.0.0691: lalloc(0) error in listchars test
Problem:    lalloc(0) error in listchars test.
Solution:   Skip generating text for tab if tab_len is zero.

2b7b4f7670

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 07:54:25 +08:00
zeertzjq
a974d1511e vim-patch:9.0.0690: buffer size for expanding tab not correctly computed
Problem:    Buffer size for expanding tab not correctly computed.
Solution:   Correctly use size of end character.

a0789478f6

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-03 07:54:01 +08:00
zeertzjq
361de6d54d vim-patch:9.0.1371: ballooneval interferes with Insert completion (#22487)
Problem:    Ballooneval interferes with Insert completion.
Solution:   Ignore mouse-move events when completing. (closes vim/vim#12094,
            closes vim/vim#12092)

440d4cb55b
2023-03-03 07:44:16 +08:00
Amaan Qureshi
fdb6b4d2e7 vim-patch:9.0.1368: Bass files are not recognized (#22485)
Problem:    Bass files are not recognized.
Solution:   Add patterns for Bass files. (Amaan Qureshi, closes vim/vim#12088)

4ed914b18a
2023-03-02 23:29:03 +01:00
dundargoc
4cf4ae93df build: cmake cleanup (#22251)
- Remove unused code
- Use consistent casing. Variable names such as LibLuV_LIBRARIES is
  needlessly jarring, even if the name might be technically correct.
- Use title casing for packages. find_package(unibilium) requires the
  find_module to be named "Findunibilium.cmake", which makes it harder
  to spot when scanning the files. Instead, use "Unibilium".
2023-03-02 22:50:43 +01:00
dundargoc
a0292b4e5f build: remove libfindmacros library (#22423)
Large parts the library weren't being used, and the parts that were was overly
abstracted for our use case. Additionally, part of its use case was to abstract
pkgconfig boilerplate, which is no longer needed as pkgconfig has been removed
in favor of relying on cmake alone in 09118052ce.
2023-03-02 10:22:41 +01:00
zeertzjq
f25d126b18 vim-patch:8.2.{1949,2781} (#22451)
vim-patch:8.2.2781: add() silently skips when adding to null list or blob

Problem:    Add() silently skips when adding to null list or blob.
Solution:   Give an error in Vim9 script.  Allocate blob when it is NULL like
            with list and dict.

b7c21afef1

Do not implicitly change a NULL blob/dict/list to an empty one.

N/A patches for version.c:

vim-patch:8.2.1949: Vim9: using extend() on null dict is silently ignored

Problem:    Vim9: using extend() on null dict is silently ignored.
Solution:   Give an error message.  Initialize a dict variable with an empty
            dictionary. (closes vim/vim#7251)

348be7ed07

N/A because Nvim's current behavior is an error message as a locked
list/dict, which is more consistent. Ref #4615.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-01 23:23:39 +08:00
zeertzjq
999fe94688 vim-patch:9.0.1365: dead test code (#22461)
Problem:    Dead test code.
Solution:   Remove code that depends on Farsi, which has been removed.
            (closes vim/vim#12084)

f0300fc7b8
2023-03-01 08:17:09 +08:00
bfredl
8bd0a9c360 Merge pull request #22429 from bfredl/hkmap
feat(edit)!: remove old c implementation of hebrew keymap
2023-02-28 19:38:38 +01:00