* 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'
The previous jump method (using G) set a jump, but cursor() doesn't, so
we manually update the jumplist before moving the cursor so as to not
take away previously existing functionality (the ability to use <C-O> to
undo a jump)
On tab-indented lines, (or any line where column number and virtual
column number are different) `|` puts the cursor on the nth virtual
column, not the nth character of the line. This caused the
Lsp{Next,Previous}Reference commands to place the cursor on the wrong
column on tab-indented lines.
* 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
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.