aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* fix(treesitter): do not error on empty filetypeLewis Russell2023-03-10
| | | | Ignore instead
* vim-patch:9.0.1393: Cairo files are not recognized (#22578)Amaan Qureshi2023-03-09
| | | | | | Problem: Cairo files are not recognized. Solution: Add a pattern for Cairo files. (Amaan Qureshi, closes vim/vim#12118) https://github.com/vim/vim/commit/ff226d49fed2d8fc668084324c7b0f00117c5e74
* feat(lsp): overwrite omnifunc/tagfunc set by ftplugin #22267Michal Liszcz2023-03-09
| | | | | | | | | | | | | | | | | Problem: Some built-in ftplugins set omnifunc/tagfunc/formatexpr which causes lsp.lua:set_defaults() to skip setup of defaults for those filetypes. For example the C++ ftplugin has: omnifunc=ccomplete#Complete Last set from /usr/share/nvim/runtime/ftplugin/c.vim line 30 so the changes done in #95c65a6b221fe6e1cf91e8322e7d7571dc511a71 will always be skipped for C++ files. Solution: Overwrite omnifunc/tagfunc/formatexpr options that were set by stock ftplugin. Fixes #21001
* feat: try to recover from missing tempdir #22573Justin M. Keyes2023-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If vim_tempdir mysteriously goes missing (typically by "antivirus" on Windows), any plugins using tempname() will be broken for the rest of the session. #1432 #9833 https://groups.google.com/g/vim_use/c/ef55jNm5czI Steps: mkdir foo TMPDIR=./foo nvim :echo tempname() !rm -r foo :echo tempname() tempname() still uses the foo path even though it was deleted. Solution: - Don't assume that vim_tempdir exists. - If it goes missing once, retry vim_mktempdir and log (silently) an error. - If it goes missing again, retry vim_mktempdir and show an error. Rejected in Vim for performance reasons: https://groups.google.com/g/vim_use/c/qgRob9SWDv8/m/FAOFVVcDTv0J https://groups.google.com/g/vim_dev/c/cogp-Vye4oo/m/d_SVFXBbnnoJ But, logging shows that `vim_gettempdir` is not called frequently. Fixes #1432 Fixes #9833 Fixes #11250 Related: stdpath("run") f50135a32e11c535e1dc3a8e9460c5b4e640ee86
* Merge pull request #22547 from luukvbaal/statuslinebfredl2023-03-09
|\ | | | | perf(statusline): UI elements are always redrawn on K_EVENT
| * test(statusline): UI elements are not redrawn on K_EVENT unnecessarilyLuuk van Baal2023-03-08
| |
* | vim-patch:8.2.1067: expression "!expr->func()" does not work (#22585)zeertzjq2023-03-09
| | | | | | | | | | | | | | | | Problem: Expression "!expr->func()" does not work. Solution: Apply plus and minus earlier. (closes vim/vim#6348) https://github.com/vim/vim/commit/0b1cd52ff6bf690388f892be686a91721a082e55 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | fix(buffer_updates): save and restore current window cursor (#16732)zeertzjq2023-03-09
| | | | | | | | | | | | | | | | When a buffer update callback is called, textlock is active so buffer text cannot be changed, but cursor can still be moved. This can cause problems when the buffer update is in the middle of an operator, like the one mentioned in #16729. The solution is to save cursor position and restore it afterwards, like how cursor is saved and restored when evaluating an <expr> mapping.
* | vim-patch:9.0.1392: using NULL pointer with nested :open command (#22583)zeertzjq2023-03-09
| | | | | | | | | | | | | | | | Problem: Using NULL pointer with nested :open command. Solution: Check that ccline.cmdbuff is not NULL. https://github.com/vim/vim/commit/7ac5023a5f1a37baafbe1043645f97ba3443d9f6 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | fix(treesitter): is_in_node_range (#22582)Lewis Russell2023-03-08
| | | | | | | | TS ranges are end column exclusive, so fix is_in_node_range to account for that.
* | vim-patch:9.0.1395: Odin files are not recognized (#22580)Amaan Qureshi2023-03-09
| | | | | | | | | | | | Problem: Odin files are not recognized. Solution: Add a pattern for Odin files. (Amaan Qureshi, closes vim/vim#12122) https://github.com/vim/vim/commit/638388b8ef37684e36a7f5d9286bab2d31c28f36
* | vim-patch:9.0.1394: Unx Tal files are not recognized (#22579)Amaan Qureshi2023-03-09
| | | | | | | | | | | | Problem: Unx Tal files are not recognized. Solution: Add a pattern for Unx Tal files. (Amaan Qureshi, closes vim/vim#12117) https://github.com/vim/vim/commit/cde1f8714ed2c046aa770c46229e781380122bd7
* | vim-patch:8.2.3741: using freed memory in open command (#22568)zeertzjq2023-03-08
| | | | | | | | | | | | | | | | Problem: Using freed memory in open command. Solution: Make a copy of the current line. https://github.com/vim/vim/commit/e031fe90cf2e375ce861ff5e5e281e4ad229ebb9 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | test(old): move memfile_test.c to test/old/ (#22567)zeertzjq2023-03-08
|/
* fix(man.lua): tests, namingJustin M. Keyes2023-03-07
|
* feat(man.lua): support spaces in manpage namesEriks Muhins2023-03-07
| | | | | | | | | | Problem: :Man command errors if given more than two arguments. Thus, it is impossible to open man pages that contain spaces in their names. Solution: Adjust :Man so that it tries variants with spaces and underscores, and uses the first found.
* vim-patch:8.2.3969: value of MAXCOL not available in Vim scriptzeertzjq2023-03-07
| | | | | | | | | | | | Problem: Value of MAXCOL not available in Vim script. Solution: Add v:maxcol. (Naohiro Ono, closes vim/vim#9451) https://github.com/vim/vim/commit/56200eed62e59ad831f6564dcafe346e6f97ac20 The variable is always 2147483647, but introducing it makes functions easier to document. Co-authored-by: naohiro ono <obcat@icloud.com>
* test: move oldtests to test directory (#22536)dundargoc2023-03-07
| | | | | The new oldtest directory is in test/old/testdir. The reason for this is that many tests have hardcoded the parent directory name to be 'testdir'.
* fix(column): issues with 'statuscolumn' width (#22542)luukvbaal2023-03-07
| | | | | | | | Problem: 'statuscolumn' width can be incorrect when toggling 'number' or setting 'statuscolumn'. Solution: Make sure the width is reset and re-estimated when 'statuscolumn' and 'number' are set. (When 'relativenumber' is set this already happens because it always changes "nrwidth_line_count".)
* Merge pull request #13834 from bfredl/omniluabfredl2023-03-07
|\ | | | | omnifunc for builtin lua
| * feat(lua): omnifunc for builting lua interpreterBjörn Linse2023-03-06
| | | | | | | | | | | | | | 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.
* | feat(lsp)!: add rule-based sem token highlighting (#22022)swarn2023-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | fix(vim.version): incorrect version.cmp()Justin M. Keyes2023-03-06
| | | | | | | | | | | | | | | | | | Problem: If major<major but minor>minor, cmp_version_core returns 1 Solution: - Fix logic in cmp_version_core - Delete most eq()/gt()/lt() tests, they are redundant.
* | refactor(vim.version): cleanupJustin M. Keyes2023-03-06
| | | | | | | | | | | | | | - version.cmp(): assert valid version - add test for loading vim.version (the other tests use shared.lua in the test runner) - reduce test scopes, reword test descriptions
* | feat(lua): add semver apiKelly Lin2023-03-06
| |
* | vim-patch:9.0.1385: g'Esc is considered an error (#22544)zeertzjq2023-03-06
| | | | | | | | | | | | Problem: g'Esc is considered an error. Solution: Make g'Esc silently abandon the command. (closes vim/vim#12110) https://github.com/vim/vim/commit/f86dea8119f3141e3d2c680219036d1511101f9b
* | ci: skip core dump checkdundargoc2023-03-05
| | | | | | | | | | The core dump check interferes with CI as it interprets any file with "core" in it to be a core dump, which is incorrect.
* | test: don't search entire repo for filesdundargoc2023-03-05
|/ | | | | Searching the entire repo for a directory named "contrib" causes failure if there happens to be another subdirectory with the name "contrib". Instead, point directly to the correct contrib directory.
* feat(lsp): implement workspace/didChangeWatchedFiles (#22405)Jon Huhn2023-03-05
|
* vim-patch:9.0.1380: CTRL-X on 2**64 subtracts two (#22530)zeertzjq2023-03-05
| | | | | | | | Problem: CTRL-X on 2**64 subtracts two. (James McCoy) Solution: Correct computation for large number. (closes vim/vim#12103) https://github.com/vim/vim/commit/5fb78c3fa5c996c08a65431d698bd2c251eef5c7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(extmarks): don't leak memory on error (#22507)zeertzjq2023-03-05
|
* refactor(log): reduce compile time LOG_LEVEL granularitybfredl2023-03-04
|
* fix(redraw): get the line again after evaluating somethingzeertzjq2023-03-04
|
* fix(treesitter): disallow empty filetypesLewis Russell2023-03-03
| | | Fixes #22473
* build: cmake cleanup (#22251)dundargoc2023-03-02
| | | | | | | | - 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".
* test(treesitter/parser_spec): correct time unit (#22471)zeertzjq2023-03-02
|
* feat(vim.fs): pass path to find() predicate, lazy evaluate #22378Mike2023-03-01
| | | | | | | | Problem: No easy way to find files under certain directories (ex: grab all files under `test/`) or exclude the content of certain paths (ex. `build/`, `.git/`) Solution: Pass the full `path` as an arg to the predicate.
* fix(lsp): use buffer scheme for files not stored on disk (#22407)Mathias Fußenegger2023-03-01
| | | | | | Sending `didOpen` with a `file` scheme causes problems with some language servers because they expect the file to exist on disk. See https://github.com/microsoft/language-server-protocol/pull/1679
* test(ui): wait for another success with failure after successzeertzjq2023-03-01
| | | | | | | | | | | Problem: In a success-failure-success situation, if minimal timeout is reached between the failure and the second success, the session is stopped without waiting for the second success, causing the test to fail. Solution: Wait for another success if a failure is seen after a success. Ref #22155 #22464
* test(termxx_spec): fix TermClose bdelete test flakiness (#22463)zeertzjq2023-03-01
| | | | | | | | Problem: If shell-test finishes before the next RPC call, TermClose has already been triggered, so the test fails. Solution: Add INTERACT argument so that shell-test keeps running.
* Merge pull request #22454 from bfredl/lspredrawbfredl2023-02-28
|\ | | | | perf(lsp): only redraw the windows containing LSP tokens
| * perf(lsp): only redraw the windows containing LSP tokensbfredl2023-02-28
| | | | | | | | | | | | | | | | redraw! redraws the entire screen instead of just the windows with the buffer which were actually changed. I considered trying to calculating the range for the delta but it looks tricky. Could a follow-up.
* | Merge #22382 has('gui_running')Justin M. Keyes2023-02-28
|\ \ | |/ |/|
| * feat(ui): restore has('gui_running')Justin M. Keyes2023-02-27
| | | | | | | | | | | | | | | | | | | | Problem: has('gui_running') is still common in the wild and our answer has changed over time, causing frustration. https://github.com/vimpostor/vim-tpipeline/commit/95a6ccbe9f33bc42dd4cee45731d8bc3fbcd92d1 Solution: Use stdin_tty/stdout_tty to decide if a UI is (not) a GUI.
| * feat(api): more fields in nvim_list_uisJustin M. Keyes2023-02-27
| | | | | | | | | | | | | | | | Problem: nvim_list_uis does not report all ":help ui-option" fields. Solution: Store ":help ui-option" fields on the `UI` object and update ui_array.
* | fix(column): cmdwin cursor is offset with 'statuscolumn' (#22445)luukvbaal2023-02-28
| |
* | fix(tui): avoid stack-use-after-scope with cursor color (#22435)zeertzjq2023-02-28
|/
* Revert "feat(lsp): implement workspace/didChangeWatchedFiles (#21293)"Mathias Fussenegger2023-02-25
| | | | | | This reverts commit 5732aa706c639b3d775573d91d1139f24624629c. Causes editor to freeze in projects with many watcher registrations
* feat(lsp): implement workspace/didChangeWatchedFiles (#21293)Jon Huhn2023-02-25
|
* feat(treesitter)!: remove silent option from language.add()Lewis Russell2023-02-24
| | | Simply use `pcall` if you want to silence an error.