| Commit message (Collapse) | Author | Age |
... | |
|/
|
|
| |
Closes #14743
|
|
|
|
|
| |
Makes it easier to re-use the logic to populate the quickfix list
instead of the location list.
|
|\
| |
| | |
fix(lsp): max 1 floating preview per buffer. Fixes #11508
|
| | |
|
| |
| |
| |
| | |
add option to show workspace diagnostic instead of the current buffer's
|
| | |
|
|\ \
| | |
| | | |
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.
|
|\ \
| | |
| | | |
fix(lsp): floating window border size for string type
|
| |/ |
|
|/
|
|
|
|
| |
Adding the line takes up valuable horizontal screen space, and also
precludes using the quickfixtextfunc built into neovim due to the
harcoded `|`.
|
|\
| |
| |
| |
| | |
shadmansaleh/enhance/lsp/make_focusable_parameter_configurable
feat(lsp): Make focusability of lsp float configurable
|
| |
| |
| |
| |
| |
| | |
In the documentation for `vim.lsp.util.open_floating_preview`
the opts table keys were prefixed with `--` instead of `---`,
preventing capture by docgen.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This pr allows the user to specify whether `lsp.utils.open_floating_preview`
is focusable via the `opts` parameter. Defaults to true.
It can be configured by setting the focusable key inside opts parameter:
```lua
vim.lsp.util.open_floating_preview(contents, syntax, {focusable = false})
```
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
Fixes #14691
|
|\ \
| |/
|/| |
perf(lsp): get all lines from a file in one go (`locations_to_items`)
|
| | |
|
| |
| |
| |
| | |
open_floating_preview
|
|/
|
|
|
| |
After the change to use fancy_floating_markdown for the signature help I
noticed that scratch buffers start to accumulate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handlers passed to `lsp_buf_request` weren't called if the server
responded with an error that looks like this:
"decoded", {
error = {
code = -32601,
message = "No delegateCommandHandler for foo"
},
id = 5,
jsonrpc = "2.0"
}
An example where that happens is both eclipse.jdt.ls and the
haskell-language-server when invoking a command that doesn't exist:
:lua vim.lsp.buf_request(
0,
'workspace/executeCommand',
{ command = 'foo' },
function(err, _, res)
print(vim.inspect(err), vim.inspect(res))
end
)
|
|\
| |
| | |
perf(lsp): `locations_to_items`: use libuv for unloaded buffers to get line
|
| | |
|
|\ \
| | |
| | | |
fix(lsp): prefer selectionRange over range for document symbols in vim.lsp.util.symbols_to_items
|
| | | |
|
|\ \ \
| |_|/
|/| | |
fix(lsp): allow apply_text_edits to append text (insert at last line)
|
| | |
| | |
| | |
| | | |
line. Fixes #14017
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | | |
lsp: handle case where CompletionItem.insertTextFormat is nil
|
| | |
| | |
| | |
| | | |
* Update tests to use explicit insertTextFormat for snippets
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Unfortunately, there are some subtle bugs in the smarter tagstack changes,
so we'll revert them for now and try to come up with a better approach.
One of the added tests, adds current position to jumplist before jumping,
is valuable though and changed to still work after reverting the other two
commits.
Closes #14571
|
| | | |
| | | |
| | | |
| | | | |
This reverts commit 8885ea7f244ee49b0018dc57be84917ea7886c2d.
|
| | | |
| | | |
| | | |
| | | | |
This reverts commit 993ca90c9b53033216d4973e2f995b995ed5740e.
|
|/ / / |
|
|/ / |
|
|\ \
| | |
| | | |
lsp: deep copy vim.lsp.log when reloading
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If vim.lsp.log is loaded the second time,
the vim.log.levels will be modified with additional
entries from 0-5.
This will cause the require to fail as level:lower does
not exists on numbered value.
|
|\ \ \
| | | |
| | | | |
[LSP] Support for sequential formatting with multiple clients
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes a regression that was introduced in [1] by accidentally leaving out a line.
1: https://github.com/neovim/neovim/pull/12262
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some servers might respond to `workspace/executeCommand` requests with a
boolean result and that could be `false`.
A `false` result should be allowed and not trigger the `on_error`
handler:
-- Invalid server message
on_error(client_errors.INVALID_SERVER_MESSAGE, decoded)
Concrete example where this occurred is with eclipse.jdt.ls:
vim.lsp.buf_request(
0,
'workspace/executeCommand',
{
command = 'java.project.isTestFile',
arguments = { vim.uri_from_bufnr(0), },
},
function(err, _, resp)
print(vim.inspect(err), vim.inspect(resp))
end
)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow to sort diagnostics (and thus signs and virtual text) by severity, so that
the most important message is shown first.
vim.lsp.handlers['textDocument/publishDiagnostics'] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {
severity_sort = true,
}
)
Fixes https://github.com/neovim/neovim/issues/13929
|
| | |
| | |
| | |
| | |
| | | |
The rpc layer normalizes `vim.NIL` to `nil`, so the scenario tested
should never happen.
|