| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
The method with the name 'textDocument/peekDefinition' is not part of
the official language server protocol specification. Therefore no
language server can/will support this. Thereby all related code and
documentation as been removed.
|
|
|
|
|
|
|
|
|
| |
Expose `vim.lsp.buf.diagnostics_by_buf`
This makes it easier to customize the diagnostics behavior. For example
to defer the update they can override the
`textDocument/publishDiagnostics` callback to only call
`buf_diagnostics_save_positions` and then defer the other actions to a
autocmd event.
|
|
|
|
| |
When we save the buffer, the buffer is detached and attached again.
So the client also needs to remove the buffer version once.
|
|\
| |
| | |
LSP/completion: add textEdit support
|
| | |
|
| |
| |
| |
| |
| | |
According to lsp specification, value of insertText should be ignored if
textEdit is provided.
|
| |
| |
| | |
This function is also useful for users to create their own `textDocument/signatureHelp` callback function.
|
| |
| |
| |
| |
| |
| | |
InsertCharPre to CursolMovedI (#11954)
In the case of InsertCharPre, it is inconvenient because the signature help is displayed
when backspaced in insert mode, so change it to CursolMovedI.
|
| |
| |
| |
| |
| |
| |
| | |
Fix #12122
>Error executing vim.schedule lua callback: /usr/local/share/nvim/runtime/lua/vim/lsp/util.lua:560: Expected lua string
Some lsp server(e.g. https://github.com/bash-lsp/bash-language-server) not have kind in reference, reference["kind"] is nil
|
|\ \
| |/
|/| |
LSP: Use buffer version instead of changedtick for edits
|
| | |
|
| |
| |
| |
| | |
Spec: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_documentSymbol
|
| |
| |
| |
| |
| | |
`locations_to_items` is for turning `Location[]` into items, not for
`Diagnostic[]`
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changes the `textDocument/references' callback to annotate the
locations returned by the server with the content present at the
locations range.
The quickfix list then looks as follows:
cr8/insert_fake_data.py|17 col 32| from .misc import parse_table, parse_version
cr8/insert_fake_data.py|43 col 15| version = parse_version(r['rows'][0][0])
cr8/java_magic.py|8 col 22| from cr8.misc import parse_version
cr8/java_magic.py|30 col 19| version = parse_version(fst)
cr8/java_magic.py|33 col 16| return parse_version(version_str)
Instead of:
cr8/insert_fake_data.py|17 col 32|
cr8/insert_fake_data.py|43 col 15|
cr8/java_magic.py|8 col 22|
cr8/java_magic.py|30 col 19|
cr8/java_magic.py|33 col 16|
|
| |
| |
| |
| |
| |
| | |
* Add signs for Lsp diagnostics
* defer sign definition until init.vim is loaded
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
haskell-ide-engine sends `hover` payloads as follows:
{
contents = {
kind = "markdown",
value = "\n```haskell\nfoo :: Either String (Integer, Text)\n```\n`foo` *local*"
},
range = {
end = {
character = 5,
line = 57
},
start = {
character = 2,
line = 57
}
}
}
`value` starts with `\n`. The logic in `convert_input_to_markdown_lines`
threw away the whole information.
|
| |
| |
| |
| |
| | |
* add support to show diagnostics count in statusline
* documentation
|
|/
|
|
|
|
|
|
| |
* implement documentHighlight
* fix bug
* document highlight groups
* use uppercase for help section title
* documentation
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow duplicates so that in languages with overloaded functions it will
show all signatures.
E.g. instead of having a single (last one wins)
add(int index, String element)
It shows all signatures:
add(String e) : boolean
add(int index, String element) : void
|
| |
|
| |
|
|
|
|
|
|
|
| |
fix: #11826
Some lanuguage servers return complementary candidates whose prefixes do not match are also returned.
So we exclude completion candidates whose prefix does not match.
ex) Microsoft python-language-server, rust-analyzer
|
|
|
|
|
|
|
|
|
| |
Using `vim.lsp.buf.rename()` can result in receiving a TextEdit that
affects a file for which there is no active or loaded buffer.
In that case `api.nvim_buf_get_lines(...)` returned an empty result,
leading to an error.
Closes https://github.com/neovim/neovim/issues/11790
|
|
|
|
|
| |
instead of the content of the file at this line.
ref https://github.com/neovim/nvim-lsp/issues/69
|
| |
|
| |
|
|
|
|
| |
Make the hover window position itself vertically wherever is the most
space available.
|
|
|
| |
Strips the code blocks from markdown and does syntax highlighting.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- In the process, refactored focusable_preview to a util function.
- Add text for locations_to_items of the current line.
- Improve location callback to handle multiple return values by using
set_qflist.
- Remove update_tagstack and leave note for future travelers.
|
|
|
|
|
|
| |
Add set_qflist and set_loclist.
- Also add locations_to_items, which calculates byte offsets for
character positions in files and avoids unnecessary operations.
|
|
|
|
|
|
| |
- Hide diagnostics on client exit
- Stop insert on popup focus.
- Hide popup on insertchar (for signature_help)
|
| |
|
|
|
|
|
| |
Also permit character_offset for col past the end of line (useful in
range formatting).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Use correct implementation of text_edits.
- Send indent options to rangeFormatting and formatting.
- Remove references to vim bindings and filetype from lsp.txt
- Add more examples to docs.
- Add before_init to allow changing initialize_params.
|
| |
|
|
|
|
|
|
|
|
| |
- Implements textDocument/formatting, textDocument/rangeFormatting,
workspace/applyEdit.
TODO:
- still has edge cases around replacement probably. Only tested with
inserts on the same position.
|
| |
|
| |
|
| |
|
|
|
|
| |
Don't modify your inputs.
|
|
Mainly configuration and RPC infrastructure can be considered "done". Specific requests and their callbacks will be improved later (and also served by plugins). There are also some TODO:s for the client itself, like incremental updates.
Co-authored by at-tjdevries and at-h-michael, with many review/suggestion contributions.
|