From 2e85eed756f29f37cce41db6edccb40bd3f68437 Mon Sep 17 00:00:00 2001 From: Andrey Popp <8mayday@gmail.com> Date: Mon, 21 Jan 2019 17:00:23 +0300 Subject: Fix ale#lsp#message#* to convert column to 0-based This is what LSP specifies. --- autoload/ale/lsp/message.vim | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'autoload') diff --git a/autoload/ale/lsp/message.vim b/autoload/ale/lsp/message.vim index 9fffb83a..a9921478 100644 --- a/autoload/ale/lsp/message.vim +++ b/autoload/ale/lsp/message.vim @@ -3,6 +3,10 @@ " " Messages in this movie will be returned in the format " [is_notification, method_name, params?] +" +" All functions which accept line and column arguments expect them to be 1-based +" (the same format as being returned by getcurpos() and friends), those then +" will be converted to 0-based as specified by LSP. let g:ale_lsp_next_version_id = 1 " The LSP protocols demands that we send every change to a document, including @@ -98,7 +102,7 @@ function! ale#lsp#message#Completion(buffer, line, column, trigger_character) ab \ 'textDocument': { \ 'uri': ale#path#ToURI(expand('#' . a:buffer . ':p')), \ }, - \ 'position': {'line': a:line - 1, 'character': a:column}, + \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] if !empty(a:trigger_character) @@ -116,7 +120,7 @@ function! ale#lsp#message#Definition(buffer, line, column) abort \ 'textDocument': { \ 'uri': ale#path#ToURI(expand('#' . a:buffer . ':p')), \ }, - \ 'position': {'line': a:line - 1, 'character': a:column}, + \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] endfunction @@ -125,7 +129,7 @@ function! ale#lsp#message#References(buffer, line, column) abort \ 'textDocument': { \ 'uri': ale#path#ToURI(expand('#' . a:buffer . ':p')), \ }, - \ 'position': {'line': a:line - 1, 'character': a:column}, + \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \ 'context': {'includeDeclaration': v:false}, \}] endfunction @@ -141,7 +145,7 @@ function! ale#lsp#message#Hover(buffer, line, column) abort \ 'textDocument': { \ 'uri': ale#path#ToURI(expand('#' . a:buffer . ':p')), \ }, - \ 'position': {'line': a:line - 1, 'character': a:column}, + \ 'position': {'line': a:line - 1, 'character': a:column - 1}, \}] endfunction -- cgit debian/1.2.3+git2.25.1-1-2-gaceb0 From bcf63eea96ae83a5557a779324b3c1c5ec59f990 Mon Sep 17 00:00:00 2001 From: Andrey Popp <8mayday@gmail.com> Date: Mon, 21 Jan 2019 23:19:47 +0300 Subject: Request LSP completion for the next col after the cursor --- autoload/ale/completion.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'autoload') diff --git a/autoload/ale/completion.vim b/autoload/ale/completion.vim index 157cac36..9baf29fd 100644 --- a/autoload/ale/completion.vim +++ b/autoload/ale/completion.vim @@ -480,7 +480,7 @@ function! s:OnReady(linter, lsp_details, ...) abort \ b:ale_completion_info.line, \ min([ \ b:ale_completion_info.line_length, - \ b:ale_completion_info.column, + \ b:ale_completion_info.column + 1, \ ]), \ ale#completion#GetTriggerCharacter(&filetype, b:ale_completion_info.prefix), \) -- cgit debian/1.2.3+git2.25.1-1-2-gaceb0