summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/ale/balloon.vim12
-rw-r--r--doc/ale.txt15
2 files changed, 25 insertions, 2 deletions
diff --git a/autoload/ale/balloon.vim b/autoload/ale/balloon.vim
index d36dd4f5..d49dcbf9 100644
--- a/autoload/ale/balloon.vim
+++ b/autoload/ale/balloon.vim
@@ -15,10 +15,18 @@ function! ale#balloon#MessageForPos(bufnr, lnum, col) abort
" Show the diagnostics message if found, 'Hover' output otherwise
if l:index >= 0
return l:loclist[l:index].text
- else
+ elseif exists('*balloon_show') || getbufvar(
+ \ a:bufnr,
+ \ 'ale_set_balloons_legacy_echo',
+ \ get(g:, 'ale_set_balloons_legacy_echo', 0)
+ \)
+ " Request LSP/tsserver hover information, but only if this version of
+ " Vim supports the balloon_show function, or if we turned a legacy
+ " setting on.
call ale#hover#Show(a:bufnr, a:lnum, a:col, {'called_from_balloonexpr': 1})
- return ''
endif
+
+ return ''
endfunction
function! ale#balloon#Expr() abort
diff --git a/doc/ale.txt b/doc/ale.txt
index fa5e30de..636ef12a 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -1363,6 +1363,21 @@ g:ale_set_balloons *g:ale_set_balloons*
globally.
+g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo*
+ *b:ale_set_balloons_legacy_echo*
+ Type: |Number|
+ Default: undefined
+
+ If set to `1`, moving your mouse over documents in Vim will make ALE ask
+ `tsserver` or `LSP` servers for information about the symbol where the mouse
+ cursor is, and print that information into Vim's echo line. This is an
+ option for supporting older versions of Vim which do not properly support
+ balloons in an asynchronous manner.
+
+ If your version of Vim supports the |balloon_show| function, then this
+ option does nothing meaningful.
+
+
g:ale_set_highlights *g:ale_set_highlights*
Type: |Number|