Michael Lingelbach
3f20d8bb09
chore(lsp): fix formatting in vim.lsp.log ( #15596 )
2021-10-02 17:18:22 -07:00
Michael Lingelbach
9eed756cad
feat(lsp): add warning message for large log size
2021-10-02 17:18:11 -07:00
Michael Lingelbach
dc15b3a92c
fix(lsp): avoid ipairs on non-sequential tables ( #15059 )
...
ipairs terminates on the first nil index when iterating over table keys:
for i,k in ipairs( {[1] = 'test', [3] = 'test'} ) do
print(i, k)
end
prints:
1 test
Instead, use pairs which continues iterating over the entire table:
for i,k in pairs( {[1] = 'test', [3] = 'test'} ) do
print(i, k)
end
prints:
1 test
3 test
2021-09-26 11:28:28 -07:00
hrsh7th
18375c6df6
feat(lsp): improve vim.lsp.util.apply_text_edits ( #15561 )
...
- Fix the cursor position after applying TextEdits
- Support reversed range of TextEdit
- Invoke nvim_buf_set_text one by one
2021-09-26 11:28:28 -07:00
Michael Lingelbach
7b1315fe61
feat(lsp): improve logging ( #15636 )
...
* Simplify rpc encode/decode messages to rpc.send/rcp.receive
* Make missing handlers message throw a warning
* Clean up formatting style in log
* Move all non-RPC loop messages to trace instead of debug
* Add format func option to log to allow newlines in per log entry
2021-09-26 11:28:28 -07:00
Mathias Fußenegger
27bac13be6
fix(lsp): update lsp-handler signature in call_hierarchy ( #15738 )
...
This fixes the handler signature and also prevents n+1 requests firing
if there are multiple clients.
(The first `prepareCallHierarchy` handler is called once per client,
each invocation used `buf_request` to make more requests using *all*
clients)
2021-09-26 10:25:17 -07:00
Mathias Fußenegger
d26d489e2e
fix(lsp): adapt codelens resolve to handler signature change ( #15578 )
...
Follow up to https://github.com/neovim/neovim/pull/15504
2021-09-26 10:25:17 -07:00
Jose Alvarez
a6eab6e25e
fix(lsp): update workspace/applyEdit handler signature ( #15573 )
2021-09-26 10:25:17 -07:00
Michael Lingelbach
cd8f6c5fb7
feat(lsp)!: change handler signature #15504
2021-09-26 10:25:17 -07:00
Mathias Fussenegger
a265201307
backport: fix(lsp): Ensure human readable errors are printed
...
`return err_message(tostring(err))` caused errors to be printed as
`table: 0x123456789` instead of showing the error code and error
message.
This also removes some `if err` blocks that never got called because at
the end of `handlers.lua` all the handlers are wrapped with logic that
adds generic error handling.
2021-09-16 14:37:20 +01:00
Mathias Fussenegger
33000bd9cf
backport: fix(lsp): Ensure users get feedback on references/symbols errors or empty results
...
Relates to https://github.com/neovim/neovim/issues/15050
Users should get some indication if there was an error or an empty
result.
2021-09-16 14:36:49 +01:00
Oliver Marriott
9f73b7c214
backport: fix(lsp): correctly check for windows in lsp logger ( #14954 )
2021-09-16 14:31:49 +01:00
Folke Lemaitre
eaa1c47377
backport: fix(lsp): restore diagnostics extmarks that were moved to the last edit line ( #15023 )
2021-09-16 14:26:05 +01:00
hrsh7th
64dc7a1b55
fix(lsp): correctly parse LSP snippets #15579
...
Fixes #15522
2021-09-14 07:11:40 -07:00
Folke Lemaitre
989ccb8222
backport: fix(lsp): restore diagnostics extmarks on buffer changes ( #15011 )
2021-09-14 13:15:38 +01:00
Folke Lemaitre
2ae4c96d91
backport: fix(lsp): prevent double <text> for cached plaintext markup
2021-09-14 13:15:38 +01:00
jimman2003
bdf3df4027
Fixed +1 -1 in util.lua ( #14913 )
...
No point in adding and then subtracting I believe ;)
2021-06-26 13:43:18 -04:00
Folke Lemaitre
e680d7d6af
fix(lsp): render the last line in stylize_markdown
2021-06-25 11:45:42 -07:00
Folke Lemaitre
28dde1038f
style(lsp): make get_markdown_fences private
2021-06-25 18:32:00 +02:00
Michael Lingelbach
5d792701cf
Merge pull request #14904 from mfussenegger/nil-message-callbacks
...
fix(lsp): Handle nil message_callbacks
2021-06-25 09:13:01 -07:00
Michael Lingelbach
7b5a233d64
Merge pull request #14617 from folke/fancy_markdown_fences_support
...
feat(lsp): use `g:markdown_fenced_languages` in `vim.lsp.util.stylized_markdown`
2021-06-25 09:02:28 -07:00
Folke Lemaitre
aa1e20497a
feat(lsp): use markdown_fenced_languages in stylized_markdown
2021-06-25 17:27:38 +02:00
Mathias Fussenegger
58473178ff
fix(lsp): Handle nil message_callbacks
...
The `onexit` handler could set `message_callbacks` to `nil` within the
luv event loop while the mainloop runs a function that tries to access
`message_callbacks`.
This adds some checks to prevent errors in that case.
Fixes https://github.com/neovim/neovim/issues/14863
2021-06-25 14:45:17 +02:00
Mathias Fussenegger
7ea652e4bf
fix(lsp): Set dir
completion option for add_workspace_folder
...
Given that the input is pre-filled with a path, it should be possible to
use dir completion.
2021-06-25 14:28:17 +02:00
Akin Sowemimo
444f175335
fix(lsp): do not convert vim.NIL to nil in lists
2021-06-24 11:23:19 +01:00
Michael Lingelbach
060255253f
fix(lsp): handlers should focus quickfix list
2021-06-21 20:44:37 -07:00
Steven Arcangeli
43835ab0da
fix(lsp): fix severity_limit logic in set_loclist
2021-06-19 07:35:17 -07:00
Folke Lemaitre
39d9713c5b
chore(lsp): removed deprecated floating preview methods
2021-06-17 07:48:40 +02:00
Lukas Reineke
f76f72a27b
fix(lsp): add bufnr to formatting requests
...
Add the buffer number to the `textDocument/formatting` request, so
that it is passed to the handler.
The built-in formatting handlers do not use the buffer number, but user
overrides should have access to it.
2021-06-15 23:53:43 -07:00
Shadman
3df0e475e8
docs(lsp): Clarify opts for show_line_diagnostics()
2021-06-15 23:21:04 -07:00
cbarrete
8cdffd42dd
docs(lsp): annotate call_hierarchy function as private
2021-06-14 23:19:23 -07:00
Jaehwang Jerry Jung
b8dfa2f112
fix(lsp): fix on_detach in lsp.diagnostic
...
`lsp.diagnostic.get_all()` was returning diagnotics for `:bwipeout`-ed
buffers because the diagnostic cache is not cleared. The first argument
of on_detach callback is the string "detach", not the bufnr.
2021-06-14 23:07:52 -07:00
Folke Lemaitre
d7d1f40d2c
fix(lsp): replace --- by a line in stylize_markdown
2021-06-15 07:35:58 +02:00
Michael Lingelbach
98b597bf03
Merge pull request #14737 from rktjmp/lsp-guard-against-negative-lines
...
[RDY] fix(lsp): guard against negative diagnostic line numbers
2021-06-14 15:01:58 -07:00
Timothée Sterle
15039d7597
fix(lsp): allow 'rounded' and 'solid' in floats
2021-06-14 23:19:45 +02:00
Mathias Fussenegger
2bdd553c9e
feat(lsp): Add codelens support
2021-06-14 21:45:14 +02:00
Michael Lingelbach
141647cfbb
Merge pull request #14765 from folke/lsp_plaintext
...
fix(lsp): convert_input_to_markdown_lines: preserve plaintext
2021-06-12 17:48:04 -07:00
Folke Lemaitre
afb0274c28
fix(lsp): convert_input_to_markdown_lines: preserve plaintext
2021-06-12 21:47:17 +02:00
Oliver Marriott
ee4735881d
fix(lsp): guard against negative diagnostic line numbers
2021-06-13 03:38:59 +10:00
Michael Lingelbach
f9b9b82047
fix(lsp): cap diagnostic end range to buf length
...
Closes #14743
2021-06-10 22:16:34 -04:00
Mathias Fussenegger
f03a4d616b
feat(lsp): Split out a diagnostics_to_items
function from set_loclist
...
Makes it easier to re-use the logic to populate the quickfix list
instead of the location list.
2021-06-07 18:24:32 +02:00
Michael Lingelbach
4ce61742cf
Merge pull request #14726 from folke/lsp_single_popup_per_buffer
...
fix(lsp): max 1 floating preview per buffer. Fixes #11508
2021-06-06 03:22:10 -07:00
Viktor Kojouharov
36d05845f7
feat(lsp): extend diagnostic.set_loclist
...
add option to show workspace diagnostic instead of the current buffer's
2021-06-06 09:59:46 +02:00
Michael Lingelbach
5902bed406
docs(lsp): fix locations_to_items docstring
2021-06-05 17:22:47 -07:00
Michael Lingelbach
36802b895f
Merge pull request #14730 from mjlbach/feature/open_loclist_on_win
...
fix(lsp): set_loclist should target current win
2021-06-05 17:12:55 -07:00
Michael Lingelbach
f214c19e2b
Merge pull request #14707 from ray-x/master
...
fix(lsp): floating window border size for string type
2021-06-05 15:00:07 -07:00
Michael Lingelbach
15abde1676
fix(lsp): set_loclist should target current win
...
Currently, for large number of diagnostics, the delay in populating
loclist may be sufficient for a user to switch to another window,
resulting in the loclist being populated on the wrong window.
2021-06-05 14:46:10 -07:00
Michael Lingelbach
d846bd7e06
feat(lsp): remove line from diagnostic quickfix
...
Adding the line takes up valuable horizontal screen space, and also
precludes using the quickfixtextfunc built into neovim due to the
harcoded `|`.
2021-06-05 13:39:30 -07:00
Folke Lemaitre
149efa9b2b
fix(lsp): max 1 floating preview per buffer. Fixes #11508
2021-06-05 10:13:01 +02:00
ray-x
351050a10f
fix(lsp): floating window border size for string type 'none' and 'shadow'
2021-06-02 20:44:13 +10:00