* Save/restore cursor position
* Cosmetic change
* selection should be inclusive
Because exclusive doesn't select fisrt character with 1GvG0
* Remove last extra \n
* Be graceful
* Use winsaveview/winrestoreview
The correct way to deal with edge cases (column = 0 or column = line
length) is to use selection=excluise (does not delete the last
character) and virutaledit=onemore (enable select last line
character) instead of transforming the text edits
* WIP code actions
It was addded the code actions funcionality
https://microsoft.github.io/language-server-protocol/specification#textDocument_codeAction
Processing the result is not quite right, because it is always applying
the c (change) command, and it does not insert the new line (\n)
character
* WIP code actions
It was addded the code actions funcionality
https://microsoft.github.io/language-server-protocol/specification#textDocument_codeAction
Processing the result is not quite right, because it is always applying
the c (change) command, and it does not insert the new line (\n)
character
* Improved apply_text_edit
Now the function apply_text_edit insert texts as well, instead of only
replacing it.
Fixed some typos and broken links
* Added documentation and fixed code_action
Now lsp#ui#vim#code_action uses the diagnostic range instead of the
get_position
* Fixed code action
The code action had a problem when it needed to delete/replace some
text, and when the code was folded it did not work since to execute do
not seem to unfold the code
* Changed copy to deepcopy
Since we modifying nested objects we need to use deepcopy
* Fixed preprocessing and added sort to textedits
To perform an unfold it is necessary to check first if the line has
fold level, if the line has foldlevel = 0 and you try to unfold it will
cause and error.
Since LSP specification does not guarantee that text edits are ordered,
we needed to sort it so it will work on any valid LSP
* Fixed text edits sort
Removed stable_sort since it is not necessary
Now it sorts the text edits in a reverse order and merge text edits
that are inserts on the same place
* Fixed codeAction deleting lines
* Passing capability on initialization
* Added buffer validation before setting the sign
This validation is necessary since the documentation states that the
file {fname} must be already be loaded in a buffer.
* Changed msgpack_type to v:true
Msgpack_type does not work on vim
* Create preview window instead of using quickfix list
This removes from us burden of providing formatting for content as this
is now simple as setting proper filetype.
* Create custom filetype for preview window
This will allow users to provide their own mappings and features in
hover window easily.
* Add proper statusline for LSP Hover
* Guard and undo_ftplugin
* Support all LSP hover syntaxes
* Use paste mode when inserting text from response
This will disable all built in Vim formatting and will input text
exactly as is. This will prevent any formatting issues due to invalid
Vim configuration.
* Use try/finally when setting paste mode
* Add position to jumplist before :LspDefinition
Currently when we jump with :LspDefinition there's no easy
way to go back. With this change we can move back easily
with `<c-o>` or `''`.
* fix space
* Wrap silent aucmds in augroup
Prevents stacking up multiple.
* Fix function signatures
Add ! and/or abort.
* Fix syntax and variable name typo
* Use robust equality comparison
* The == operator behaves differently depending on 'ignorecase'.