Michael Lingelbach
96dfa07642
Merge pull request #14635 from folke/lsp_get_lines
...
perf(lsp): get all lines from a file in one go (`locations_to_items`)
2021-05-31 11:12:23 -07:00
Folke Lemaitre
64da499ac2
refactor(lsp): consolidate the different floating window methods into open_floating_preview
2021-05-29 13:42:15 +02:00
Mathias Fussenegger
e06a73900f
lsp: Ensure floating markdown buffers are deleted on hide
...
After the change to use fancy_floating_markdown for the signature help I
noticed that scratch buffers start to accumulate.
2021-05-26 19:27:04 +02:00
Folke Lemaitre
54c441c80b
perf(lsp): get all lines from a file in one go
2021-05-25 12:23:39 +02:00
Michael Lingelbach
0cbe748da3
Merge pull request #14615 from folke/faster_locations_to_items
...
perf(lsp): `locations_to_items`: use libuv for unloaded buffers to get line
2021-05-22 10:58:45 -07:00
Folke Lemaitre
c98e4d1a2a
perf(lsp): locations_to_items use libuv for unloaded buffers to get line
2021-05-22 18:56:48 +02:00
Michael Lingelbach
5b2be75256
Merge pull request #14269 from fdschmidt93/fix/document_symbol_range
...
fix(lsp): prefer selectionRange over range for document symbols in vim.lsp.util.symbols_to_items
2021-05-22 09:18:03 -07:00
Michael Lingelbach
9c7ad33006
Merge pull request #14603 from folke/format_on_save
...
fix(lsp): allow apply_text_edits to append text (insert at last line)
2021-05-22 09:13:06 -07:00
Folke Lemaitre
bfdd750fce
feat(lsp): use fancy_floating_markdown for signature_help
2021-05-21 19:55:30 +02:00
Folke Lemaitre
02390af5a6
fix(lsp): clear current_syntax before formatting fancy markdown region
2021-05-21 19:18:22 +02:00
Folke Lemaitre
262645b325
fix(lsp): preview_location options and syntax fallback
2021-05-21 19:16:50 +02:00
Folke Lemaitre
d09f53d8ec
fix(lsp): allow apply_text_edits and set_lines to insert text after the last line. Fixes #14017
2021-05-21 09:06:00 +02:00
Folke Lemaitre
07f54201c7
feat(lsp): lsp.util.fancy_floating_markdown improvements
...
fix: fancy_floating_markdown: syn region must include keepend to make sure syntax regions are applied correctly. Fixes #14594
feat: fancy_floating_markdown: handle <pre></pre> code blocks as a markdown code block with plaintext
fix: possible nil check for markdown code blocks till end of buffer
refactor: only one check is needed to see if stripped[h.finish +1] is valid
fix(lsp): dont't set doc ownsyntax, since it breaks contained syntaxes. Set regions for the markdown blocks intsead
fix: apply markdown formatting for code blocks without a language
fix: use markdownCodeBlock when no language was set in a code block
2021-05-21 00:34:30 +02:00
Michael Lingelbach
045e47ec55
Merge pull request #14563 from mjlbach/fix_intelephense_langserver
...
lsp: handle case where CompletionItem.insertTextFormat is nil
2021-05-19 12:39:44 -07:00
Marco Hinz
34922fba6b
Revert "lsp: make tagstack smarter motion-wise ( #12262 )"
...
This reverts commit 8885ea7f24
.
2021-05-19 15:33:32 +02:00
Marco Hinz
3e5c484ec5
Revert "lsp: fix regression in jump_to_location() ( #14446 )"
...
This reverts commit 993ca90c9b
.
2021-05-19 15:31:41 +02:00
Michael Lingelbach
63df353545
lsp: handle case where CompletionItem.insertTextFormat is nil
...
* Update tests to use explicit insertTextFormat for snippets
2021-05-16 15:25:34 -07:00
Mickaël Menu
c23640140d
lsp: Fix range end offset off by one character
2021-05-14 18:33:23 +02:00
francisco souza
993ca90c9b
lsp: fix regression in jump_to_location() ( #14446 )
...
This fixes a regression that was introduced in [1] by accidentally leaving out a line.
1: https://github.com/neovim/neovim/pull/12262
2021-05-01 19:28:21 +02:00
Gabriel Sanches
8885ea7f24
lsp: make tagstack smarter motion-wise ( #12262 )
...
This commit prevents two things regarding the tagstack and jumping to
locations:
- Pushing the same item twice in a row
- Pushing an item where the destination is the same as the source
Both prevent having to press CTRL-T additional times just to pop items
that don't make the cursor move.
2021-04-23 14:50:35 -07:00
Mathias Fussenegger
046991e4d5
lsp: Remove vim.NIL handling from apply_text_document_edit
...
The rpc layer normalizes `vim.NIL` to `nil`, so the scenario tested
should never happen.
2021-04-14 21:42:03 +02:00
Mathias Fussenegger
b67f689e4c
lsp: Accept text document edits with version zero
...
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
2021-04-14 21:29:32 +02:00
Michael Lingelbach
cd3e74201a
lsp: fix _make_floating_popup_size when wrap_at is nil ( #14359 )
2021-04-14 13:01:14 +02:00
Marco Hinz
3831825167
lsp: correct float placement when using borders
...
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.
2021-04-12 19:54:54 +02:00
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
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
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
af683fdb57
lsp: fix utf16 ranges for incremental sync
2021-03-27 18:31:29 -07: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
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
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
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
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
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
Michael Lingelbach
8742082661
LSP: Add helper function from accessing language server settings from nvim-lspconfig
2021-01-01 01:40:33 -08: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
Kevin Fleming
fb1c08a86f
doc: Fix incorrect LSP diagnostic-related helptags ( #13388 )
2020-12-09 11:21:16 +01:00
TJ DeVries
08ec36efaf
feat: Allow incremental sync & lsp flags ( #13371 )
2020-12-08 21:09:33 -05:00
runiq
5c7141cc71
lsp: Make open_floating_preview buffers ephemeral ( #13437 )
...
Fixes #13429 .
2020-12-03 14:20:56 -05:00
Michael Lingelbach
0d83a1c43f
LSP: Feature/add workspace folders ( #12638 )
...
* First implementation of workspace folders
* Add completion for current directory
* Add tracking of workspace folders
* Add workspace folder listing
* Add checks on adding/removing workspaces
* Add appropriate initialization options
* Add documentation
* Make workspaceFolders available wherever client is
2020-11-25 21:07:02 +01:00