summaryrefslogtreecommitdiff
path: root/autoload/ale/balloon.vim
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-05-31 22:04:33 +0100
committerw0rp <devw0rp@gmail.com>2017-05-31 22:04:33 +0100
commit735a6a2a885d8c5581a19f16998b4b6209742bd5 (patch)
tree2491953f638693e1a9825bb01052fe555f8db742 /autoload/ale/balloon.vim
parent5e4c302b5bfd916214865c3c3d3808c75d137932 (diff)
downloadale-735a6a2a885d8c5581a19f16998b4b6209742bd5.zip
Fix #537 - Add support for balloons
Diffstat (limited to 'autoload/ale/balloon.vim')
-rw-r--r--autoload/ale/balloon.vim21
1 files changed, 21 insertions, 0 deletions
diff --git a/autoload/ale/balloon.vim b/autoload/ale/balloon.vim
new file mode 100644
index 00000000..3d179a0d
--- /dev/null
+++ b/autoload/ale/balloon.vim
@@ -0,0 +1,21 @@
+" Author: w0rp <devw0rp@gmail.com>
+" Description: balloonexpr support for ALE.
+
+function! ale#balloon#MessageForPos(bufnr, lnum, col) abort
+ let l:loclist = get(g:ale_buffer_info, a:bufnr, {'loclist': []}).loclist
+ let l:index = ale#util#BinarySearch(l:loclist, a:lnum, a:col)
+
+ return l:index >= 0 ? l:loclist[l:index].text : ''
+endfunction
+
+function! ale#balloon#Expr() abort
+ return ale#balloon#MessageForPos(v:beval_bufnr, v:beval_lnum, v:beval_col)
+endfunction
+
+function! ale#balloon#Disable() abort
+ set noballooneval
+endfunction
+
+function! ale#balloon#Enable() abort
+ set ballooneval balloonexpr=ale#balloon#Expr()
+endfunction