aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
Commit message (Collapse)AuthorAge
...
* lsp: only send buf requests to servers that support the request (#12764)francisco souza2020-10-25
| | | | | | | | | | | | | 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>
* lsp: Fix "client has shut down" errors during initializing (#13103)Mathias Fußenegger2020-10-22
| | | | | | | | | | 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.
* Merge #12468 'lsp: logging'Justin M. Keyes2020-09-01
|\
| * lsp: add key name to the output log valueHirokazu Hata2020-08-26
| | | | | | | | Unless we look at the code every time, we will not know what the value is, so add the key name.
* | docs, remove 'guifontset' #11708Justin M. Keyes2020-08-31
|/ | | | | | | | | | | | | - 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...).
* Add FIXMEsPatrice Peterson2020-08-23
|
* Add docs for most vim.lsp methodsPatrice Peterson2020-08-23
| | | | Most of the lsp.log will be addressed in a separate PR.
* lsp: Add support for call hierarchies (#12556)cbarrete2020-07-18
| | | | | | | | | | | | | | | | | | * 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 <>
* doc: fix scripts and regenerate (#12506)TJ DeVries2020-07-02
| | | | | | | | | | | | | | | | | * 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
* lsp: even if contents before change is 0 byte, request to serverHirokazu Hata2020-06-11
| | | | fix: https://github.com/neovim/neovim/issues/12414
* lsp: Add check for `declaration` and `typeDefinition` support in vim lsp ↵Dheepak Krishnamurthy2020-06-04
| | | | | | | | | | | | | 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
* lua: vim.wait implementationTJ DeVries2020-05-30
|
* lsp: make the command error message more detailed (#11633)Hirokazu Hata2020-05-26
| | | | | * lsp.lua: make the error message more detailed * test: add lsp._cmd_part test
* lsp: add workspace/symbol (#12224)Christian Clason2020-05-02
| | | | | | | | * 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>
* LSP: enable using different highlighting rules for LSP signs (#12176)Ghjuvan Lacambre2020-04-29
| | | | | | | | | | | | | 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.
* lsp: use vim.tbl_isempty to check sign (#12190)Hirokazu Hata2020-04-28
| | | | | ref: #12164 fix #12201 sign_getdefined() returns a list, {} if the sign is not defined.
* LSP: don't redefine LspDiagnostics signs #12164jakbyte2020-04-26
| | | fix #12162
* lsp: remove buffer version on buffer_detach (#12029)Hirokazu Hata2020-04-25
| | | | When we save the buffer, the buffer is detached and attached again. So the client also needs to remove the buffer version once.
* Merge pull request #11927 from Jesse-Bakker/lsp-buf-versionBjörn Linse2020-03-16
|\ | | | | LSP: Use buffer version instead of changedtick for edits
| * Use buffer version instead of changedtick for editsJesse Bakker2020-02-27
| |
* | lsp: add 'textDocument/documentSymbol’ callbackHirokazu Hata2020-03-01
| | | | | | | | Spec: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_documentSymbol
* | lsp: add bufnr to callback function argumentsHirokazu Hata2020-02-28
| | | | | | | | | | 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 (#11641)Alvaro Muñoz2020-02-26
|/ | | | | * add support to show diagnostics count in statusline * documentation
* lsp: fix textDocument/completion handlingHirokazu Hata2020-02-19
| | | | | | | 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
* LSP: fix validate_client_configJustin M. Keyes2020-02-16
| | | | | - `cmd_env` is a table not a function. - tests: Set $NVIM_LOG_FILE for fake LSP server.
* LSP: rename validate_command to _cmd_parts #11847Matthieu Coudron2020-02-11
| | | and now only accepts a list of strings (instead of string or list).
* LSP: set InitializeParams.rootPath value #11838Hirokazu Hata2020-02-08
| | | InitializeParams.rootPath is deprecated now. But some language servers still use it.
* doc [ci skip] #11656Justin M. Keyes2020-01-12
|
* LSP: eliminate lsp.print_debug_info…()Justin M. Keyes2019-12-31
| | | | | Reduce API surface. We should not add functions unless they are really needed. Users should be nudged to use vim.inspect() directly.
* LSP: eliminate lsp.stop_all_clients()Justin M. Keyes2019-12-31
| | | | | | Reduce API surface. We don't need so many variations of functions. Too many functions means verbose, largely redundant documentation, tests, and cognitive burden.
* gen_vimdoc.py: generate LSP docsJustin M. Keyes2019-12-31
|
* Revert "runtime: Add vim.lsp.get_client_by_name" #11623Ashkan Kiani2019-12-29
| | | reverts 680693e263576e34d5947c43ab0ae3ff0ebfeab5 #11603
* runtime: Add vim.lsp.get_client_by_name (#11603)Hirokazu Hata2019-12-28
| | | | 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.
* LSP: Use async completion for omnifunc. (#11578)Ashkan Kiani2019-12-20
|
* LSP: fix omnifunc findstart (#11522)Mike Hartington2019-12-20
|
* LSP: Move default buf callbacks to vim.lsp.callbacks (#11452)Ashkan Kiani2019-11-26
| | | | | | | - 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.
* Bring vim into local scopeAshkan Kiani2019-11-24
|
* UI tweaks.Ashkan Kiani2019-11-23
| | | | | | - Hide diagnostics on client exit - Stop insert on popup focus. - Hide popup on insertchar (for signature_help)
* Fix encoding translation in other places.Ashkan Kiani2019-11-21
|
* Remove comments.Ashkan Kiani2019-11-21
|
* UpdatesAshkan Kiani2019-11-21
| | | | | | | | - 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.
* Merge remote-tracking branch 'origin/master' into lsp-followupAshkan Kiani2019-11-21
|\
| * lsp: transmit "\n" after last line when 'eol' is setBjörn Linse2019-11-21
| | | | | | | | | | Otherwise some servers like clangd will emit spurious "no newline at end of file" warnings.
* | Satisfy lualint.Ashkan Kiani2019-11-20
| |
* | Change error writer to not be annoying.Ashkan Kiani2019-11-20
| |
* | Change callback resolution to be dynamic.Ashkan Kiani2019-11-20
| | | | | | | | | | This allows default_callbacks to be specified after client creation to be considered. Also it simplifies the code.
* | Move everything to buf & default_callbacksAshkan Kiani2019-11-20
| | | | | | | | | | | | | | | | - 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.
* | Bugfixes.Ashkan Kiani2019-11-20
|/ | | | | - Return after an error in RPC. - Use an empty vim table for serialization.
* lua LSP client: initial implementation (#11336)Ashkan Kiani2019-11-13
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.