* allow for MarkdownContent in completion info
* add check for correct type in MarkupContent
* also pass Markdown, and hope for the best
* d'oh!
* advertise plaintext preference in documentation
* fix documentationFormat
Co-Authored-By: Thomas Faingnaert <thomas.faingnaert@hotmail.com>
* use locationLink for definition preview
* remove cursor setting for location link
* make vint happy
* also advertise support for declaration, typeDefinition, implementation
* small refactor
* refactor to avoid code duplication
* restore lost check for file
* Multibyte character support for lsp#get_position()
* Multibyte character support for "textDocument/documentHighlight"
* Fix `lsp#utils#byteindex()` would fails if a file is not yet loaded
* Add tests
* Rename lsp#utils#byteindex() and lsp#utils#charindex()
lsp#utils#byteindex() -> lsp#utils#to_col()
lsp#utils#charindex() -> lsp#utils#to_char()
* Multibyte character support for textEdit
* Remove unused line
* Multibyte character support for "textDocument/rangeFormatting"
* Multibyte character support for "textDocument/publishDiagnostics"
* Implement basic UltiSnips integration
* Fix already inserted text not being removed
* Fix incorrect whitespace when nesting snippets
* Fix tabstops not working in nested snippets
* Make functions abort on error
* Check if Vim has the user_data patch
* Add basic documentation
* Add explanation UltiSnips integration to README
* Use single quoted string in plugin/lsp.vim
* Allow plugins to override get_completion_item
* Remove UltiSnips specific code to set user_data
* Remove CompleteDone autocmd from omni.vim
* Revert "Add explanation UltiSnips integration to README"
This reverts commit ee12343cbf.
* Revert "Add basic documentation"
This reverts commit 979275bb4f.
* Allow changing supported capabilities
* Remove g:lsp_ultisnips_integration
* Mention snippets in READE and documentation
* Add documentation for new configuration options
* Pass server_info to get_capabilities
* Change configuration variables to be a List
This way, we don't need to start them with a capital letter.
* Add lsp_complete_done autocmd
* Add documentation of lsp_complete_done
* Highlight references to the symbol under cursor
Use the `textDocument/documentHighlight` method to retrieve references
to the symbol under the cursor, and highlight them with matchaddpos().
Add the commands `LscPreviusReference` and `LscNextReference` to
navigate between references within the buffer.
Adaption from the implementation of "Highlight references" in vim-lsc:
https://github.com/natebosch/vim-lsc/blob/5b587b0c/autoload/lsc/cursor.vim
* Fixups
+ Lapsus: `while` statement where it should be `if`.
+ Fix alignment in docs.
* Update LICENSE-THIRD-PARTY
* Support refactorings through code actions.
- make LspCodeAction work on a selected range, to support extract method
or extract variable refactorings
- properly execute commands returned by code actions
- support workspace/applyEdit requests from server
* Fixes to match the Google VimScript Style Guide
* Refactor handling of requests from server.
Introduce an on_request option in lsp#client#start, that will be called
every time a request is received from a server.
* Use robust operator ==#
* Move apply_workspace_edit to separate file.
The 'applyEdit ' field inside initialize reqest (inside
capabilities.workspace) has trailing space which is incorrect and can
cause servers to ignore this capability.
The LSP has TextDocumentIdentifier and VersionedTextDocumentIdentifier.
Currently vim-lsp uses Versioned one in didSave notification which is
incorrect. This change will correctly omit 'version' from didSave
notification but will keep including it in didChange notification.
According to LSP 3.0 specification, params in 'initialize' request is
required (it can be null, but it has to be specified). This change
populates the processId with PID of vim process.
* If the user has "fixendofline" set, append a blank line to preserve the EOF newline
* Break utility function out into its own file and add tests
* Improve EOL detection based on docs and improve tests