| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
With the new implementation added in
https://github.com/neovim/neovim/pull/14079 I think this is now working
well enough to enable it by default.
There are high CPU usage issues popping up now and then and they might
at least partially be related to the full-text sync.
|
|\
| |
| | |
lsp: add custom syntax rule for floating window
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Allow specifying a languageId for a lsp
For some languages the filetype might not match the languageId the
language server accepts. In these cases the config for the language
server can contain a function which gets the current buffer and filetype
and returns a languageId. When it isn't provided the filetype is used
instead.
Example:
```lua
require'lspconfig'.sourcekit.setup{
get_language_id = function(bufnr, ft)
return 'swift'
end;
}
```
Closes #13093
* lsp: Change to get_language_id
Co-authored-by: Jan Dammshäuser <mail@jandamm.de>
|
| | |
|
| |
| |
| |
| |
| | |
* 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
|
|\ \ \
| | | |
| | | | |
[RDY] lsp: fix diagnostic reported on terminating EOL character
|
| | |/
| |/| |
|
| | | |
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
(#13986)
|
| |
| |
| |
| |
| | |
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
```
|
| |
| |
| |
| | |
Mostly typos I found while reading the code.
|
|/
|
|
|
|
|
|
| |
`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`).
|
|
|
| |
We should be consistent in sending the EOL character to servers(I think). Julia expects this to match on bufwrite, or it crashes when vim appends the newline during the write process.
|
| |
|
| |
|
|\
| |
| | |
treesitter: default start and end row when omitted
|
| |
| |
| |
| |
| |
| |
| | |
logic
This function returns the start and stop value if set else the node's range is used
When the node's range is used, the stop is incremented by 1 to make the search inclusive
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for default start and end row when omitted in the
query:iter_captures and query:iter_matches functions.
When the start and end row values are omitted, the values of the given
node is used. The end row value is incremented by 1 to include the node end
row in the match.
Updated tests and docs accordingly.
|
| | |
|
| |
| |
| |
| | |
* update lua documentation
* run docgen
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add in clienInfo to initalize_params.
Some servers (like Metals in my case) will actually pull this
info from the initalize_params and display it in the logs. I
know from the server perspective it helps at times to have this
available to pull from to have more details about the client and
version. You can see that this is part of the spec here:
microsoft.github.io/language-server-protocol/specification#initialize
|
|/
|
| |
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).
|
|
|
|
|
| |
Fixes an issue that tree-sitter always attached to the current buffer,
instead of the provided buffer.
|
|
|
|
|
| |
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`.
|
|
|
| |
* trim trailing whitespace from docs
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only the plugin/package manager should "manage" after/. Consumers of
nvim_get_runtime_file() should not need to special case it (if your plugin
manager is broken then fix it instead).
Don't use vim.fn.readfile(). Lua can already read files. It is even
better at it than vim script.
expose M.get_query_files(). Listing the queries is essential for user
config debug, and let plugins do fun things with it.
Abstraction-by-obscurity is not useful (plugins can just cargo cult copy
the code anyway, better with public entry points).
|
|
|
|
|
| |
* LSP: fix window/showMessageRequest to not return nested title
* Add window/showMessageRequest handler to docs
|
|\
| |
| | |
LSP: Move workspace/configuration from nvim-lspconfig to core
|
| | |
|