| Commit message (Collapse) | Author | Age |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There were a couple of reports of "Buffer X newer than edits" problems.
We first assumed that it is incorrect for a server to send 0 as a
version - and stated that they should send a `null` instead, given that
in the specification the `textDocument` of a `TextDocumentEdit` is a
`OptionalVersionedTextDocumentIdentifier`.
But it turns out that this was a change in 3.16, and in 3.15 and earlier
versions of the specification it was a `VersionedTextDocumentIdentifier`
and language servers didn't have a better option than sending `0` if
they don't keep track of the version numbers.
So this changes the version check to always accept `0` values.
See
- https://github.com/neovim/neovim/issues/12970
- https://github.com/neovim/neovim/issues/14256
- https://github.com/haskell/haskell-language-server/pull/1727
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Because borders add up to 2 to the height of a float, we need to subtract that
from the anchor position, when opening a float in the lower half of the window.
|
|/ /
| |
| |
| |
| | |
Add a helper function to get the additional width a border adds to a float to
make sure that the border is always inside the visible screen.
|
|\ \
| | |
| | | |
lsp: hover window should return buf/winnr from focusable float
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
change hl groups for the example
rename borders -> border
|
| |
| |
| |
| | |
* remove left/right padding feature from trim_and_pad
* use invisible borders by default on floating windows
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
lsp: fix utf16 ranges for incremental sync
|
| | |
|
|\ \
| |/
|/| |
lsp: add syntax highlighting to signature help
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
lsp: add custom syntax rule for floating window
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
* Implementation derived from and validated by vim-lsc authored by Nate
Bosch
|
|\ \
| |/
|/| |
improve vimdoc generation
|
| | |
|
|\ \
| | |
| | | |
fix: fix empty line in lsp log after each run
|
| | |
| | |
| | |
| | | |
fix: address typo and review comments
|
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/13989
See https://github.com/microsoft/language-server-protocol/issues/288
|
| |
| |
| |
| |
| |
| | |
Currently it's not 100% clear that without setting these, using the autocomds
to utilize the `textDocument/documentHighlight` functionality, nothing will
actually be visible since the highlight groups don't have any details. This
just adds in a couple simple extra notes to make sure that's done
|
| |
| |
| |
| |
| | |
vim.lsp.callbacks was deprecated a few months ago. This is a cleanup before the release.
Use vim.lsp.handlers instead.
|
| | |
|
| |
| |
| |
| |
| |
| | |
`lines` can be empty, in which case `#lines[#lines]` failed with an
error:
lsp/util.lua:214: attempt to get length of a nil value
|
|/
|
|
|
|
|
|
| |
* lsp: client stop cleanups
* Add diagnostic clearing to client.stop() method used by nvim-lspconfig
* Clear diagnostic cache to prevent stale diagnostics on client restart
* lsp: Add test for vim.lsp.diagnostic.reset
|
|\
| |
| | |
[RDY] Notification provider
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds function to notify the user like this:
`:lua vim.notify("hello user")`
embeds log levels vim.log.levels.
you can then reassign vim.notify to for instance
```
function notify_external(msg, log_level, opts)
vim.fn.jobstart({"notify-send", msg })
end
```
|
|/
|
|
|
|
|
|
| |
`pumvisible()` returns a number, and numbers are always `true` in Lua,
so the return value needs to be checked explicitly.
Using https://github.com/neovim/neovim/pull/12900 as context, it appears
the intention was to move into the `if` branch when the completion popup
is not shown (i.e. `vim.fn.pumvisible() == 0`).
|
|
|
|
|
|
|
|
|
| |
The `workspace/configuration` handler could fail with the following
error if `config.settings` is nil:
runtime/lua/vim/lsp/util.lua:1432: attempt to index local 'settings' (a nil value)"
This ensures that `config.settings` is always initialized to an empty
table.
|
|
|
| |
Until we support dynamicRegistration, we should handle the client/registerCapability in core. There are still some language servers that send this request despite dynamicRegistration not being registered client-side (we got an upstream fix for the node ones, but this depends on them bumping vscode-languageserver-node).
|
|
|
|
|
| |
while there is some controversy, stdpath('cache') looks like a better fit for logs than stdpath('data'): you can remove logs without preventing nvim to work which fits the XDG_CACHE_HOME definition of `user specific non-essential data files`.
|
|
|
|
|
|
|
|
|
|
|
| |
* lsp: Add severity_limit for other diagnostics
* docs and tests
* fix: lint
* Add to other types
* fix: lint
|
|
|
|
|
|
|
| |
* fix: Allow subsequent text document edits to pass
* fixup: cleaner code
* add tests
|
|
|
| |
pyright (possibly others) does not send any hint diagnostics if we do not have tagSupport in PublishDiagnosticsClientCapabilities. This PR just adds them.
|
|
|
|
|
| |
* LSP: fix window/showMessageRequest to not return nested title
* Add window/showMessageRequest handler to docs
|