Commit Graph

209 Commits

Author SHA1 Message Date
Michael Lingelbach
0cadab1412 lsp: use utf-8 when utf-16 not requested 2021-03-30 14:14:09 -07:00
Michael Lingelbach
32cf278a19 lsp: fix utf-16 ranges to use second return value for incremental sync 2021-03-28 02:22:13 -07:00
Michael Lingelbach
b79596eb5e Merge pull request #14231 from mjlbach/fix_utf16_ranges
lsp: fix utf16 ranges for incremental sync
2021-03-27 19:02:48 -07:00
Michael Lingelbach
af683fdb57 lsp: fix utf16 ranges for incremental sync 2021-03-27 18:31:29 -07:00
Michael Lingelbach
9f5c8226bb Merge pull request #14186 from mjlbach/feature/make_signature_help_beautiful
lsp: add syntax highlighting to signature help
2021-03-23 09:38:21 -07:00
Michael Lingelbach
3113d4befa lsp: add syntax highlighting to signature help 2021-03-22 10:57:21 -07:00
TJ DeVries
875979ec3f lsp: Unopened buffers return 0 for line count, which leads to broken positions 2021-03-22 10:22:23 -04:00
Vincent Rischmann
24ad2c7067 runtime/lua/vim/lsp: check emptyness in get_completion_word 2021-03-21 00:30:01 +01:00
Michael Lingelbach
2358e52fc4 lsp: set syntax instead of filetype for preview location highlighting 2021-03-19 12:55:58 -07:00
Mathias Fussenegger
84213b5b9a lsp: Add support for delete workspaceEdit resource operation 2021-03-18 19:53:43 +01:00
Mathias Fussenegger
191afb42be lsp: Add support for create workspaceEdit resource operation 2021-03-18 19:53:42 +01:00
Mathias Fussenegger
5e401b693b lsp: Add support for file rename via workspaceEdit 2021-03-18 19:53:14 +01:00
Michael Lingelbach
6b7cde3dd0 lsp: fix highlighting for lsp markdown code blocks 2021-03-10 17:26:22 -08:00
Michael Lingelbach
4ed860a64c Merge pull request #14073 from mjlbach/feature/syntax_highlight_rule
lsp: add custom syntax rule for floating window
2021-03-10 14:15:24 -08:00
Josa Gesell
d1074e0077 lsp: Resolve codeLense server capabilities (#14056) 2021-03-10 17:02:09 -05:00
Michael Lingelbach
d49177afd9 lsp: add custom syntax rules for lsp floating window 2021-03-09 21:15:10 -08:00
Michael Lingelbach
e4e51c69d7 lsp: add incremental text synchronization
* Implementation derived from and validated by vim-lsc authored by Nate
  Bosch
2021-03-09 20:14:08 -08:00
Matthieu Coudron
5c4fbe34f9 Merge pull request #13993 from teto/gendoc
improve vimdoc generation
2021-03-07 17:20:09 +01:00
Michael Lingelbach
0496b572ac Merge pull request #13919 from TheAlakazam/lsplogfix
fix: fix empty line in lsp log after each run
2021-03-06 09:40:57 -08:00
Piyush Jaipuriyar
82c09f7c0b lsp: add explicit entry on lsp log start
fix: address typo and review comments
2021-03-06 10:39:40 +05:30
Matthieu Coudron
55d6699dfd chore: rename progress_callback to progress_handler 2021-03-04 15:42:05 +01:00
Michael Lingelbach
db96edb58d lsp: fix diagnostic reported on terminating EOL character 2021-03-02 09:42:00 -08:00
David Zhang
365c353c9a fix: show error when language server start fails and prevent future requests 2021-02-26 17:24:18 +08:00
Mathias Fussenegger
eff7666163 LSP: Resolve text_document_save capability according to spec
Fixes https://github.com/neovim/neovim/issues/13989
See https://github.com/microsoft/language-server-protocol/issues/288
2021-02-25 10:08:14 +01:00
Chris Kipp
7d82aaa6f5 [LSP] Add in more docs for highlight groups with document_highlight() (#13614)
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
2021-02-24 17:23:47 +01:00
Matthieu Coudron
9d5f842807 lsp: remove deprecated references to 'callbacks' (#13945)
vim.lsp.callbacks was deprecated a few months ago. This is a cleanup before the release.
Use vim.lsp.handlers instead.
2021-02-23 00:02:51 +01:00
Matthieu Coudron
46a58b74f4 feat(lsp): use vim.notify for some errors (#13992) 2021-02-22 23:31:12 +01:00
Mathias Fußenegger
1caf58578c lsp: Fix text edits operating on the last line of a document (#13677)
`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
2021-02-19 22:20:42 -05:00
Michael Lingelbach
b2fcfc65b7 lsp: client stop cleanups (#13877)
* 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
2021-02-19 22:05:49 -05:00
Matthieu Coudron
00423730b5 Merge pull request #13843 from teto/notif_provider
[RDY] Notification provider
2021-02-08 15:49:27 +01:00
runiq
94cf7bba00 lsp: Fix pumvisible() check introduced in #12900 (#13866)
`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`).
2021-02-04 12:35:17 +01:00
Matthieu Coudron
3f81f5c7a4 feat: adds vim.notify
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
```
2021-01-31 00:18:22 +01:00
Mathias Fußenegger
3f63100d5b LSP: Fix nil settings handling in workspace/configuration (#13708)
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.
2021-01-18 19:33:10 +01:00
Michael Lingelbach
6d659bb338 lsp: add client/registerCapability handler (#13780)
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).
2021-01-18 10:11:19 +01:00
Michael Lingelbach
ea8756f85d logging: move to XDG_CACHE_HOME (#13739)
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`.
2021-01-13 23:20:21 +01:00
TJ DeVries
9f3b2a757b lsp: Add severity_limit for other diagnostics features (#13528)
* lsp: Add severity_limit for other diagnostics

* docs and tests

* fix: lint

* Add to other types

* fix: lint
2021-01-12 12:58:50 -05:00
TJ DeVries
e0a4399adc fix(lsp): Allow subsequent text document edits to pass (#13534)
* fix: Allow subsequent text document edits to pass

* fixup: cleaner code

* add tests
2021-01-11 11:39:11 -05:00
Timmy Xiao
2bfd0ba8ae LSP: Add diagnostic tags to client capabilities (#13578)
pyright (possibly others) does not send any hint diagnostics if we do not have tagSupport in PublishDiagnosticsClientCapabilities. This PR just adds them.
2021-01-05 21:15:08 +01:00
Michael Lingelbach
fff4facdc4 LSP: fix messageRequest to not return nested title (#13674)
* LSP: fix window/showMessageRequest to not return nested title

* Add window/showMessageRequest handler to docs
2021-01-03 20:31:09 +01:00
Matthieu Coudron
48caf1df85 Merge pull request #13649 from mjlbach/move_from_nvim-lspconfig
LSP: Move workspace/configuration from nvim-lspconfig to core
2021-01-01 23:52:48 +01:00
jdrouhard
4a0a6f7bff LSP: progress callback should only update existing dict for reports (#13652)
Change the update of the client.messages.progress table to overwrite only the percentage and message properties on $report, Previously we were overwriting the table which meant client.messages.progress[token].message.title was wiped on report.
2021-01-01 23:51:47 +01:00
Michael Lingelbach
e467d29390 LSP: Move workspace/configuration handler from nvim-lspconfig to core 2021-01-01 01:40:33 -08:00
Michael Lingelbach
8742082661 LSP: Add helper function from accessing language server settings from nvim-lspconfig 2021-01-01 01:40:33 -08:00
Michael Lingelbach
fd507e2788 LSP: window/showMessageRequest (#13641)
Another 3.16 compatibility. Solves Vue crashing currently. Currently not handling the return result, but would allow opening web browser in this case.
2020-12-31 00:09:33 +01:00
Michael Lingelbach
28b7574c94 lsp: Disable capabilities not currently supported by language client handlers (#13638)
Several language servers are incorrectly invoking handlers which are not yet implemented in core.
2020-12-30 23:54:02 +01:00
Michael Lingelbach
fb90b6ec98 LSP: implement window/workDoneProgress/create (#13640) 2020-12-30 23:17:35 +01:00
Adam P. Regasz-Rethy
93762072d1 lsp: Use correct bufnr for documentHighlight handler (#13622) 2020-12-29 00:05:30 +01:00
Josh French
6eecd4230d lsp: Fire LspDiagnosticsChanged before returning (#13483)
Run hook even when transitioning from some diagnostics to no diagnostics
2020-12-23 23:29:37 +01:00
Nils
aa3b17d04a lsp: Add <nomodeline> to doautocmd calls (#13576)
When using "au User LspDiagnosticsChanged redrawstatus!", modelines get processed again (see h: doautocmd). Fortunately this can be suppressed using the <nomodeline> flag. this replaces every doautocmd call, that issues a User command, with doautocmd <nomodeline>.
2020-12-21 20:03:50 +01:00
Matthieu Coudron
1e59134834 lsp: add $/progress report (#13294)
Heavily inspired by https://github.com/nvim-lua/lsp-status.nvim.
listen to the LspProgressUpdate event to update your statusline.
2020-12-20 21:59:25 +01:00