| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
When LSP client renames a directory, opened buffers in the edfitor are not
renamed or closed. Then `:wall` shows errors.
https://github.com/neovim/neovim/blob/master/runtime/lua/vim/lsp/util.lua#L776
works correctly if you try to rename a single file, but doesn't delete old
buffers with `old_fname` is a dir.
Solution:
Update the logic in runtime/lua/vim/lsp/util.lua:rename()
Fixes #22617
|
|
|
|
|
|
|
|
| |
Problem
Using wrong variable when checking the cursor position is valid or not in
vim.lsp.util.apply_text_edits.
Solution
Use the correct variable.
|
|
|
|
|
|
| |
#22633
When a client has no workspace_folders, (e.g., copilot), `pairs`
code would crash.
|
|\
| |
| | |
refactor!: remove deprecated functions
|
| | |
|
| |
| |
| |
| | |
vim.highlight.create/link
|
| |
| |
| | |
The ranges passed to foldinfo.remove_range were in the wrong order.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
The function name `vim.pretty_print`:
1. is verbose, which partially defeats its purpose as sugar
2. does not draw from existing precedent or any sort of convention
(except external projects like penlight or python?), which reduces
discoverability, and degrades signaling about best practices.
Solution:
- Rename to `vim.print`.
- Change the behavior so that
1. strings are printed without quotes
2. each arg is printed on its own line
3. tables are indented with 2 instead of 4 spaces
- Example:
:lua ='a', 'b', 42, {a=3}
a
b
42
{
a = 3
}
Comparison of alternatives:
- `vim.print`:
- pro: consistent with Lua's `print()`
- pro: aligns with potential `nvim_print` API function which will
replace nvim_echo, nvim_notify, etc.
- con: behaves differently than Lua's `print()`, slightly misleading?
- `vim.echo`:
- pro: `:echo` has similar "pretty print" behavior.
- con: inconsistent with Lua idioms.
- `vim.p`:
- pro: very short, fits with `vim.o`, etc.
- con: not as discoverable as "echo"
- con: less opportunity for `local p = vim.p` because of potential shadowing.
|
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/22629
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- And address more type errors.
- Removed the `concat` option from `get_node_text` since it was applied
inconsistently and made typing awkward.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Subset of https://github.com/neovim/neovim/pull/22407 that was reverted
in https://github.com/neovim/neovim/pull/22604
If a buffer is renamed sending `didClose` for the old buffer helps
ensure the language server doesn't keep a stale document in memory.
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Ignore instead
|
|/
|
| |
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.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
TS ranges are end column exclusive, so fix is_in_node_range
to account for that.
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
(#22575)
Revert "refactor(treesitter): delegate region calculation to treesitter (#22553)"
This reverts commit 276b647fdba07bf1762d8dd371c4b655b8a418df.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
omnifunc for builtin lua
|
| |
| |
| |
| |
| |
| |
| | |
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)!: 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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Problem:
gen_vimdoc.py / lua2dox.lua does not support @defgroup or \defgroup
except for "api-foo" modules.
Solution:
Modify `gen_vimdoc.py` to look for section names based on `helptag_fmt`.
TODO:
- Support @module ?
https://github.com/LuaLS/lua-language-server/wiki/Annotations#module
|
|
|
|
|
|
|
|
| |
Fixes:
Error SERVER_REQUEST_HANDLER_ERROR: "...di/dev/neovim/neovim/runtime/lua/vim/lsp/_watchfiles.lua
:200: bad argument #1 to 'ipairs' (table expected, got nil)"
Language servers can be started without root_dir or workspace_folders.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|