aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* ci: test build with external dependencies on every pull requestdundargoc2023-03-11
| | | | | | Only testing the build with external dependencies on build system changes is too naive, as demonstrated by b9f19d3e286d95d9209afbc479fa2eb908067fb1.
* ci: remove environment variable DEPS_BUILD_DIR from CIdundargoc2023-03-11
| | | | | | If one uses .deps when DEPS_BUILD_DIR is defined in another location it leads to very surprising behaviors, as it looks for libraries in other places other than .deps.
* revert: "fix(lsp): use buffer scheme for files not stored on disk" (#22604)Mathias Fußenegger2023-03-11
| | | | | | | | | | | Although using `buffer://` for unsaved file buffers fixes issues with language servers like eclipse.jdt.ls or ansible-language-server, it breaks completion and signature help for clangd. A regression is worse than a fix for something else, so this reverts commit 896d672736b32a8f4a4fa51844b44f266dcdcc6c. The spec change is also still in dicussion, see https://github.com/microsoft/language-server-protocol/pull/1679#discussion_r1130704886
* refactor(runtime.c): factor out find_script_by_name() (#22620)zeertzjq2023-03-11
| | | This the refactoring done in Vim patch 8.2.4050.
* vim-patch:9.0.0244: cannot easily get the list of sourced scripts (#22596)Michal Liszcz2023-03-11
| | | | | | | | | | | Problem: Cannot easily get the list of sourced scripts. Solution: Add the getscriptinfo() function. (Yegappan Lakshmanan, closes vim/vim#10957) https://github.com/vim/vim/commit/f768c3d19c518822d89dec4cc3947ddeea249316 Cherry-pick usr_41.txt change from a later runtime update. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.1397: highlight for popupmenu kind and extra cannot be set ↵zeertzjq2023-03-11
| | | | | | | | | | | (#22619) Problem: Highlight for popupmenu kind and extra cannot be set. Solution: Add PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel highlight groups and use them. (Gianmaria Bajo, closes vim/vim#12114) https://github.com/vim/vim/commit/6a7c7749204b256e779c245b1e999bf852ad7b64 Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
* build: explicitly add dependency include dir for header generationdundargoc2023-03-10
| | | | | | | | | | | Neovim and the generated headers needs to use the same include directories to build correctly. However, we need to generate headers before all target dependencies has been resolved, meaning that we cannot rely on any target to determine the final list of include directories. This may lead to a problems when bundling some, but not all or none, dependencies as the dependency include directory won't be included. Also remove the dependency path options as this assumes a specific structure on the dependency build directory.
* fix(lsp): prevent lsp tests from picking up local user config (#22606)Mathias Fußenegger2023-03-10
| | | | | | | | Sets `NVIM_APPNAME` for the lsp server instances and also for the `exec_lua` environment to ensure local user config doesn't interfere with the test cases. My local `ftplugin/xml.lua` broke the LSP test cases about setting `omnifunc` defaults.
* feat!(treesitter): do not return changes from LanguageTree:parse() Lewis Russell2023-03-10
| | | | | | | | | Never return the changes an only notify them using the `on_changedtree` callback. It is not guaranteed for a plugin that it'll be the first one to call `tree:parse()` and thus get the changes. Closes #19915
* Merge pull request #22594 from lewis6991/perf/treefoldLewis Russell2023-03-10
|\
| * perf(treesitter): more efficient foldexprLewis Russell2023-03-10
| |
| * fix(treesitter): better lang handling of get_parser()Lewis Russell2023-03-10
| |
| * fix(treesitter): do not error on empty filetypeLewis Russell2023-03-10
| | | | | | | | Ignore instead
| * fix(treesitter): correct include_bytes arg for parse()Lewis Russell2023-03-10
| |
* | perf(lsp): better binary search mid calculation in semantic token (#22607)Null Chilly2023-03-10
|/ | | This commit replaces the usage of math.floor((lo + hi) / 2) with the faster and equivalent bit.rshift(lo + hi, 1) for calculating the midpoint in binary search.
* build(deps): set query parser to release (#22603)Christian Clason2023-03-10
|
* docs(lsp): type annotation for lsp.client (#22509)Jaehwang Jung2023-03-09
| | | | | | * Also fix newly found type mismatch. * Note that it generates new warnings about using @private client methods. A proper fix would be to revamp the lsp client documentation altogether.
* 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
* refactor(treesitter): use byte ranges from treesitter (#22589)Lewis Russell2023-03-09
|
* build: fix build warning when using gcc 4.9.2red2023-03-09
| | | | | | | | Problem: When building with gcc 4.9.2, tree-sitter throws warning: "for loop initial declarations are only allowed in C99 or C11 mode" Solution: set CMAKE_C_STANDARD option to 99
* 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
| * perf(statusline): UI elements are always redrawn on K_EVENTLuuk van Baal2023-03-08
| | | | | | | | | | Problem: 'statusline'-format UI elements are redrawn on each K_EVENT. Solution: Only redraw UI elements when something relevant has changed.
| * test(statusline): UI elements are not redrawn on K_EVENT unnecessarilyLuuk van Baal2023-03-08
| |
* | docs: add missing highlight groups for floatsEvgeni Chasnovski2023-03-09
| |
* | 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
* | Revert "refactor(treesitter): delegate region calculation to treesitter" ↵Lewis Russell2023-03-08
| | | | | | | | | | | | | | (#22575) Revert "refactor(treesitter): delegate region calculation to treesitter (#22553)" This reverts commit 276b647fdba07bf1762d8dd371c4b655b8a418df.
* | refactor(treesitter): delegate region calculation to treesitter (#22553)Lewis Russell2023-03-08
| |
* | ci(news): don't run on draft (#22574)Christian Clason2023-03-08
| |
* | feat(treesitter): use upstream format for injection queriesLewis Russell2023-03-08
| |
* | 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
| |
* | Merge pull request #22561 from bfredl/cmakeinstallbfredl2023-03-07
|\ \ | | | | | | refactor(build): make installation of runtime/ more effective
| * | refactor(build): make installation of runtime/ more effectivebfredl2023-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently files to install in runtime/ is detected by recursive glob pattern which has two problems: - cmake needs to do a of work at config time and build/runtime/cmake_install.cmake becomes HUGE (2.5MB, biggest config file) - we need to explicitly specify each file suffix used in the entire runtime, which is duplication of information. These globs specify every single file in a subdirectory. Thus, we can just install every runtime/ subdirectory as a single install command. Furthermore, at the top-level, only .vim and .lua files need to be installed. Further possible refactor: we could move files which does not belong in $PREFIX/runtime out of $REPO/runtime. Then runtime could be installed with a single install_helper(DIRECTORY ...) command.
* | | fix(lsp): change LspTokenUpdate to use buffer instead of pattern (#22559)jdrouhard2023-03-07
| |/ |/|
* | Merge #22503 from eriks47/man-spacesJustin M. Keyes2023-03-07
|\ \ | | | | | | feat(man.lua): support spaces in manpage names
| * | 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.
* | | refactor(runtime): use vim.version to compare versions #22550Justin M. Keyes2023-03-07
|/ / | | | | | | | | | | | | TODO: Unfortunately, cannot (yet) use vim.version for tmux version comparison, because `vim.version.parse(…,{strict=false})` does not coerce tmux's funny "tmux 3.3a" version string. https://github.com/neovim/neovim/blob/6969d3d7491fc2f10d80309b26dd0c26d211b1b3/runtime/autoload/provider/clipboard.vim#L148
* | Merge pull request #22558 from zeertzjq/vim-8.2.3969zeertzjq2023-03-07
|\ \
| * | vim-patch:partial:944697ae196zeertzjq2023-03-07
| | | | | | | | | | | | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/944697ae19683441981539cd4d2469df89d6ec82 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | 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>
* | | build!: make libintl a required dependencydundargoc2023-03-07
| |/ |/| | | | | Libintl being an optional dependency is not by design, but a workaround as it didn't use work on all platforms. That should be fixed by now.
* | docs(lsp): change type annotations from number → integer (#22510)Jaehwang Jung2023-03-07
|/