- 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.
Moving the error navigation code out of signs.vim to diagnostics.vim
means that errors can be navigated when signs are disabled.
This commit re-introduces error-column navigation, after the signs
refactoring.
Avoid barfing up errors if user edits a file where lsp is configured,
but we can't run.
json_encode caused errors on vim 7.4 for me. timers and lambda are other
major required features.