aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp
Commit message (Collapse)AuthorAge
...
* | | lsp: Accept text document edits with version zeroMathias Fussenegger2021-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | lsp: fix _make_floating_popup_size when wrap_at is nil (#14359)Michael Lingelbach2021-04-14
| | |
* | | lsp: fix off-by-one in line diagnostic highlightingMarco Hinz2021-04-14
| | |
* | | lsp: correct float placement when using bordersMarco Hinz2021-04-12
| | | | | | | | | | | | | | | 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.
* | | lsp: make sure borders are always inside of the screenMarco Hinz2021-04-12
|/ / | | | | | | | | 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.
* | Merge pull request #14309 from mjlbach/feature/hover_return_win_bufMichael Lingelbach2021-04-07
|\ \ | | | | | | lsp: hover window should return buf/winnr from focusable float
| * | lsp: hover window should return buf/winnr from focusable floatMichael Lingelbach2021-04-07
| | |
* | | lsp: update documentation on window bordersMichael Lingelbach2021-04-06
|/ /
* | feat(lsp): make hover/signature_help borders configurableelianiva2021-04-06
| | | | | | | | | | | | change hl groups for the example rename borders -> border
* | lsp: floating window improvements (#14207)Michael Lingelbach2021-04-05
| | | | | | | | * remove left/right padding feature from trim_and_pad * use invisible borders by default on floating windows
* | lsp: allow launching language servers with uv_spawn using cwd argMichael Lingelbach2021-04-01
|/
* lsp: use utf-8 when utf-16 not requestedMichael Lingelbach2021-03-30
|
* lsp: fix utf-16 ranges to use second return value for incremental syncMichael Lingelbach2021-03-28
|
* Merge pull request #14231 from mjlbach/fix_utf16_rangesMichael Lingelbach2021-03-27
|\ | | | | lsp: fix utf16 ranges for incremental sync
| * lsp: fix utf16 ranges for incremental syncMichael Lingelbach2021-03-27
| |
* | Merge pull request #14186 from mjlbach/feature/make_signature_help_beautifulMichael Lingelbach2021-03-23
|\ \ | |/ |/| lsp: add syntax highlighting to signature help
| * lsp: add syntax highlighting to signature helpMichael Lingelbach2021-03-22
| |
* | lsp: Unopened buffers return 0 for line count, which leads to broken positionsTJ DeVries2021-03-22
| |
* | runtime/lua/vim/lsp: check emptyness in get_completion_wordVincent Rischmann2021-03-21
| |
* | lsp: set syntax instead of filetype for preview location highlightingMichael Lingelbach2021-03-19
|/
* lsp: Add support for delete workspaceEdit resource operationMathias Fussenegger2021-03-18
|
* lsp: Add support for create workspaceEdit resource operationMathias Fussenegger2021-03-18
|
* lsp: Add support for file rename via workspaceEditMathias Fussenegger2021-03-18
|
* lsp: fix highlighting for lsp markdown code blocksMichael Lingelbach2021-03-10
|
* Merge pull request #14073 from mjlbach/feature/syntax_highlight_ruleMichael Lingelbach2021-03-10
|\ | | | | lsp: add custom syntax rule for floating window
| * lsp: add custom syntax rules for lsp floating windowMichael Lingelbach2021-03-09
| |
* | lsp: Resolve codeLense server capabilities (#14056)Josa Gesell2021-03-10
| |
* | lsp: add incremental text synchronizationMichael Lingelbach2021-03-09
| | | | | | | | | | * Implementation derived from and validated by vim-lsc authored by Nate Bosch
* | Merge pull request #13993 from teto/gendocMatthieu Coudron2021-03-07
|\ \ | |/ |/| improve vimdoc generation
| * chore: rename progress_callback to progress_handlerMatthieu Coudron2021-03-04
| |
* | Merge pull request #13919 from TheAlakazam/lsplogfixMichael Lingelbach2021-03-06
|\ \ | | | | | | fix: fix empty line in lsp log after each run
| * | lsp: add explicit entry on lsp log startPiyush Jaipuriyar2021-03-06
| | | | | | | | | | | | fix: address typo and review comments
* | | lsp: fix diagnostic reported on terminating EOL characterMichael Lingelbach2021-03-02
| |/ |/|
* | fix: show error when language server start fails and prevent future requestsDavid Zhang2021-02-26
| |
* | LSP: Resolve text_document_save capability according to specMathias Fussenegger2021-02-25
| | | | | | | | | | Fixes https://github.com/neovim/neovim/issues/13989 See https://github.com/microsoft/language-server-protocol/issues/288
* | [LSP] Add in more docs for highlight groups with document_highlight() (#13614)Chris Kipp2021-02-24
| | | | | | | | | | | | 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
* | lsp: remove deprecated references to 'callbacks' (#13945)Matthieu Coudron2021-02-23
| | | | | | | | | | vim.lsp.callbacks was deprecated a few months ago. This is a cleanup before the release. Use vim.lsp.handlers instead.
* | feat(lsp): use vim.notify for some errors (#13992)Matthieu Coudron2021-02-22
| |
* | lsp: Fix text edits operating on the last line of a document (#13677)Mathias Fußenegger2021-02-19
| | | | | | | | | | | | `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 (#13877)Michael Lingelbach2021-02-19
|/ | | | | | | | * 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
* Merge pull request #13843 from teto/notif_providerMatthieu Coudron2021-02-08
|\ | | | | [RDY] Notification provider
| * feat: adds vim.notifyMatthieu Coudron2021-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* | lsp: Fix pumvisible() check introduced in #12900 (#13866)runiq2021-02-04
|/ | | | | | | | `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`).
* LSP: Fix nil settings handling in workspace/configuration (#13708)Mathias Fußenegger2021-01-18
| | | | | | | | | 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.
* lsp: add client/registerCapability handler (#13780)Michael Lingelbach2021-01-18
| | | 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).
* logging: move to XDG_CACHE_HOME (#13739)Michael Lingelbach2021-01-13
| | | | | 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 features (#13528)TJ DeVries2021-01-12
| | | | | | | | | | | * lsp: Add severity_limit for other diagnostics * docs and tests * fix: lint * Add to other types * fix: lint
* fix(lsp): Allow subsequent text document edits to pass (#13534)TJ DeVries2021-01-11
| | | | | | | * fix: Allow subsequent text document edits to pass * fixup: cleaner code * add tests
* LSP: Add diagnostic tags to client capabilities (#13578)Timmy Xiao2021-01-05
| | | pyright (possibly others) does not send any hint diagnostics if we do not have tagSupport in PublishDiagnosticsClientCapabilities. This PR just adds them.
* LSP: fix messageRequest to not return nested title (#13674)Michael Lingelbach2021-01-03
| | | | | * LSP: fix window/showMessageRequest to not return nested title * Add window/showMessageRequest handler to docs