* use materialize() for highlight references
* re-enable highlight references by default
* unlet s:Dispose()
* fix checking for isUndefined()
* update callbag to v0.3.0
* dispose if exists
* Show documentation in Vim popup
* Use timer
* Reuse logic from output.vim
* Change default text
* Rename functions
* Refactor
* Use v:event
* Add comment
* Remove log
* Refactor
* Implement documentation in Neovim
* Cleanup Neovim popup
* Let Neovim float take all available space
* Extract get_size_info
* Reuse sizing logic from output.vim
* Fix Neovim positioning being reset
* Update autoload/lsp/ui/vim/documentation.vim
Co-Authored-By: Christian Clason <christian.clason@uni-due.de>
* Make vint happy
* Retrigger Travis CI
* add g:lsp_documentation_float flag
* fix lint issues
Co-authored-by: Christian Clason <christian.clason@uni-due.de>
Co-authored-by: Prabir Shrestha <mail@prabir.me>
* 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.
* use lua if available for diff
* add docs
* sync with latest vim-lsc changes
* lazily init lua
* update vim to 8.2.0817
* update vim to 8.2.0817 for windows
* use vim 8.2.0814
* check for path 8.2.0775 before enabling lua
* use vim 8.2.0813 since it exists for both linux and windows
* update lua patch check
* optimize vimscript diff by using range
* fix lint issues
* Commonalize some similar functions
* Add <mods> support for some commands
Supported commands:
- :LspDeclaration
- :LspDefinition
- :LspTypeDefinition
- :LspImplementation
* 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
- add LspNextWarning, LspPreviousWarning commands to jump to warnings
- add LspNextDiagnostic, LspPreviousDiagnostic commands to jump to
all kinds of diagnostics
* Filter completed items based on typed word
* Remove logs
* Only calculate typed_word once
* Revert "Only calculate typed_word once"
This reverts commit 161c7f460e.
* Revert "Remove logs"
This reverts commit 861c70fc7c.
* Revert "Filter completed items based on typed word"
This reverts commit c450e839b4.
* Reimplement filtering completion items
* Remove s:remove_typed_part
* Fix for NeoVim
* Use 'ignorecase' to filter items
* Allow configuration of filter
* Add documentation
* Add example for typed_pattern
* Change surrounding of `/$` to indicate it is a tag
* Add g:lsp_ignorecase
* Use filterText for filtering
* Add 'contains' filter
* Fix tests
* Avoid using regex
* Fix bug in 'contains' filter
* Use completion trigger chars for typed text
* Move copy
* Update documentation
* Use textEdit starting position
* Change default typed_pattern
* Update documentation
* Fix documentation
* Add note about narrowing down completions
* Fix tests
* Make filtering note clearer
* Remove duplicate text
* Add <plug>(lsp-document-range-format)
This binding defines an operator and can be used with a motion. Because
s:document_format_range() did only format based on the visual selection
markers, a new type parameter was added to pass the selection type
according to 'opfunc'.
* Denote mapmode for plug mappings and add missing
This option allows prepending characters or text to the diagnostics
which are display as virtual text. It allows virtual text to be
differentiated from the code
* Add g:lsp_signs_priority option
When used with other plugins (e.g. gitgutter), the signs will often get
replaced. This patch makes priority configurable for the user and
defaults to a value of 15, which should be a reasonable value for most
use cases.
* Adapt vim's default value of 10 as sign priority
* Add LspPeekDefinition
* Add documentation
* Add lsp-peek-definition mapping to documentation
* Add link to Vim preview-window help
* Rewrite LspPeekDefinition using preview window
* Implement peek for Vim popup window
* Make LspPeekDefinition work in Neovim
* Support align in Neovim
* Fix linter errors
* Extract duplicate code to s:align_preview function
* Merge setlocal settings in one line
* Remove suppress_close
* Clean up cursor movement for preview window
* Move Neovim cursor code to separate function
* Allow customising peek alignment
* Move Vim alignment code to separate function
* Implement Vim alignment of popup window
* Cleanup
* Remove extraneous lines
* Move set_cursor logic
* Move scrolloff setting
* Make function calls a bit more consistent
* Vim popup window fixes
* Remove extraneous call
* Fix Vim alignment
* Remove hardcoded width
* Add abort to closure function
* Fix artifacts
* Fix wrong height if popup above cursor
* Add remaining Peek commands
Add LspPeekImplementation, LspPeekTypeDefinition and LspPeekDeclaration.
* Fix wrong positioning of Vim popup
* Allow setting max width of popup window in Vim
* Allow setting max width of popup window in Neovim
* Add documentation
* Uses spaces instead of tabs for indent in help
* Move Neovim logic to s:setcontent
* Rename setting to g:lsp_preview_max_width
* Replace 'popup' with 'preview'
* 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.