* Add support for tagfunc option
* Consolidate various synchronous wait implementations
* Refactor to use lsp#utils#position#lsp_to_vim
Also marks get_symbol_text_from_kind as internal and fixes compatibility
with older vims.
* Cache signature_help_trigger_chars
* Move code to the part which updating init_results.
* Tweaking delay for signature help
* Disable warning of unused-variables
* Improve signature help with lexima.vim
* Fix buffer change problem
* Display signature help after cursor jumped
* Fix event
* Add _ prefix for inner functions
* Move some codes to completion.vim that related to handling CompleteDone.
* Add abort
* Fix test
* Add l: prefix to self vars
* Disable unused vars
* Restore position
* Support snippet simple case and vim-lsp-snippets
* Support g:lsp_text_edit_enabled
* Fix for v:null results
* Fix multi-byte chars
* Add document
* Fix for vim-lsp-snippets for now
* Prepare to future improvements
* More clalify line comment
* User get_user_data instead of extract_user_data
* Always use [''] pattern for accessing dictionary property
* Fix misspelling
* More strict check for completionProvider.resolveProvider
* Fix obj.key to obj['key']
* Store completed_item id to the user_data
* Fix omni tests
* Apply for the review
- Rename expand_text_simply -> simple_expand_text
- to_col -> _lsp_to_vim
- Rename user_data key
* Add example tests
* Add timeout to completionItem/resolve in completion.vim
* Fix timeout feature
* Add timeout log
* Fix documents
* 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.