Marco Hinz
a215adabc1
lsp: make sure borders are always inside of the screen
...
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.
2021-04-12 19:51:18 +02:00
Michael Lingelbach
91cdc11984
Merge pull request #14309 from mjlbach/feature/hover_return_win_buf
...
lsp: hover window should return buf/winnr from focusable float
2021-04-07 00:58:32 -07:00
Michael Lingelbach
5610e8a4ac
lsp: hover window should return buf/winnr from focusable float
2021-04-07 00:21:56 -07:00
Michael Lingelbach
2c0bcc539a
lsp: update documentation on window borders
2021-04-06 23:51:15 -07:00
elianiva
c84b1b1ad0
feat(lsp): make hover/signature_help borders configurable
...
change hl groups for the example
rename borders -> border
2021-04-06 12:13:31 +07:00
Michael Lingelbach
2c4e9c5245
lsp: floating window improvements ( #14207 )
...
* remove left/right padding feature from trim_and_pad
* use invisible borders by default on floating windows
2021-04-05 15:43:08 +02:00
Michael Lingelbach
3b01dd4183
lsp: allow launching language servers with uv_spawn using cwd arg
2021-04-01 14:24:37 -07:00
Fabian David Schmidt
a2bd2f220c
fix: selectionrange over range for document symbols
2021-04-01 14:16:01 +02:00
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