| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactors how required capabilities are detected and validated, and make
sure requests are only sent to clients that support it (and only fail if
no clients support the provided method).
The validation happens at the buf_request level, because we assume that
if someone is sending the request directly through the client, they know
what they're doing. Also, let unknown methods go through.
This is extracted from #12518 and closes #12755.
Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
| |
Language servers can already send log messages to the client while the
server is still being initialized.
This currently leads to "client has shut down" messages which are
confusing to the user as the server is properly starting.
To fix this this changes the `get_client_by_id` method to also return a
client if it is still initializing.
|
|\ |
|
| |
| |
| |
| | |
Unless we look at the code every time, we will not know what the value is, so add the key name.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
- remove redundant autocmd list
This "grouped" list is useless, it only gets in the way when searching
for event names.
- intro.txt: cleanup
- starting.txt: update, revisit
- doc: `:help bisect`
- mbyte.txt: update aliases 1656367b90bd. closes #11960
- options: remove 'guifontset'. Why:
- It is complicated and is used by almost no one.
- It is unlikely to be implemented by Nvim GUIs (complicated to parse,
specific to Xorg...).
|
| |
|
|
|
|
| |
Most of the lsp.log will be addressed in a separate PR.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* LSP: Add support for call hierarchies
* LSP: Add support for call hierarchies
* LSP: Add support for call hierarchies
* LSP: Jump to call location
Jump to the call site instead of jumping to the definition of the
caller/callee.
* LSP: add tests for the call hierarchy callbacks
* Fix linting error
Co-authored-by: Cédric Barreteau <>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix some small doc issues
* doc: fixup
* doc: fixup
* Fix lint and rebase
* Remove bad advice
* Ugh, stupid mpack files...
* Don't let people include these for now until they specifically want to
* Prevent duplicate tag
|
|
|
|
| |
fix: https://github.com/neovim/neovim/issues/12414
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
server before making `request` (#12421)
* Add check for typeDefinition support in vim lsp server
* Check for typeDefinitionProvider in server
* Check for declarationProvider in server
* Add check for client support
* Fix typo
|
| |
|
|
|
|
|
| |
* lsp.lua: make the error message more detailed
* test: add lsp._cmd_part test
|
|
|
|
|
|
|
|
| |
* lsp: add workspace/symbol
* refactor symbol callback
* set hierarchical symbol support to true
* add documentation and default mapping
Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit creates 4 new highlight groups:
- LspDiagnosticsErrorSign
- LspDiagnosticsWarningSign
- LspDiagnosticsInformationSign
- LspDiagnosticsHintSign
These highlight groups are linked to their corresponding LspDiagnostics
highlight groups by default.
This lets users choose a different color for their sign columns and
virtualtext diagnostics.
|
|
|
|
|
| |
ref: #12164
fix #12201
sign_getdefined() returns a list, {} if the sign is not defined.
|
|
|
| |
fix #12162
|
|
|
|
| |
When we save the buffer, the buffer is detached and attached again.
So the client also needs to remove the buffer version once.
|
|\
| |
| | |
LSP: Use buffer version instead of changedtick for edits
|
| | |
|
| |
| |
| |
| | |
Spec: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_documentSymbol
|
| |
| |
| |
| |
| | |
DocumentSymbol type doesn't have location field.
So when we'll add 'textDocument/documentSymbol’ handler, we can't decide which file have we jump to.
|
|/
|
|
|
| |
* add support to show diagnostics count in statusline
* documentation
|
|
|
|
|
|
|
| |
fix: #11826
Some lanuguage servers return complementary candidates whose prefixes do not match are also returned.
So we exclude completion candidates whose prefix does not match.
ex) Microsoft python-language-server, rust-analyzer
|
|
|
|
|
| |
- `cmd_env` is a table not a function.
- tests: Set $NVIM_LOG_FILE for fake LSP server.
|
|
|
| |
and now only accepts a list of strings (instead of string or list).
|
|
|
| |
InitializeParams.rootPath is deprecated now. But some language servers still use it.
|
| |
|
|
|
|
|
| |
Reduce API surface. We should not add functions unless they are really
needed. Users should be nudged to use vim.inspect() directly.
|
|
|
|
|
|
| |
Reduce API surface. We don't need so many variations of functions. Too
many functions means verbose, largely redundant documentation, tests,
and cognitive burden.
|
| |
|
|
|
| |
reverts 680693e263576e34d5947c43ab0ae3ff0ebfeab5 #11603
|
|
|
|
| |
Since the client name is more obvious than the client id for the user, add an
API to get the lsp client by the client name.
|
| |
|
| |
|
|
|
|
|
|
|
| |
- In the process, refactored focusable_preview to a util function.
- Add text for locations_to_items of the current line.
- Improve location callback to handle multiple return values by using
set_qflist.
- Remove update_tagstack and leave note for future travelers.
|
| |
|
|
|
|
|
|
| |
- Hide diagnostics on client exit
- Stop insert on popup focus.
- Hide popup on insertchar (for signature_help)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Use correct implementation of text_edits.
- Send indent options to rangeFormatting and formatting.
- Remove references to vim bindings and filetype from lsp.txt
- Add more examples to docs.
- Add before_init to allow changing initialize_params.
|
|\ |
|
| |
| |
| |
| |
| | |
Otherwise some servers like clangd will emit spurious
"no newline at end of file" warnings.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This allows default_callbacks to be specified after client creation to
be considered. Also it simplifies the code.
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Rename builtin_callbacks to default_callbacks and slightly change its
semantics:
- No longer contains the default implementations. Instead, any
default_callbacks will be used in preference for our .buf methods.
- Add this to the docs.
|
|/
|
|
|
| |
- Return after an error in RPC.
- Use an empty vim table for serialization.
|
|
Mainly configuration and RPC infrastructure can be considered "done". Specific requests and their callbacks will be improved later (and also served by plugins). There are also some TODO:s for the client itself, like incremental updates.
Co-authored by at-tjdevries and at-h-michael, with many review/suggestion contributions.
|