Closed markonm closed 7 years ago
Could you log some profiler results for each case? http://stackoverflow.com/a/12216578/1836507
Maybe by looking at the profile, we can see where the lag comes in. It might be something internal to Vim, as you say.
I can't see any difference in profile results. It seems as vim receives linter's results at the same time, but for some reason doesn't update gui when there are no moving elements present.
slow.txt fast.txt slow2.txt fast2.txt slow3.txt fast3.txt
This snippet provided by @roxma somehow forces gui to react. The workaround solves the issue but causes some other problems.
func g:Foo(...)
" do nothing
endfunc
call timer_start(100,function('g:Foo'),{'repeat':-1})
I guess it's a GVim bug, then.
This commit fixed the issue.
When I set g:ale_set_balloons
to 0 results are still delayed, though.
Maybe setting balloonexpr
causes GVim to redraw the window. If this has been fixed now, I'll close this issue.
When I disable cursor and toolbar animations and use linting on save, linting results are delayed. Delay is sometimes longer than 5 seconds.
Linting results are reported immediately when I move cursor.
I'm using Windows 10 and this bug is present only in gVim 8.
I encountered similar bug in other plugins which use async features (neomake, NCM) .
I suppose this is strictly speaking Vim's bug, but I've been unable to compose minimal reproducible case which I could use to report directly to Vim.
Examples
I'm using jshint.
gui without moving parts long delay gui with moving parts (blinking cursor, copy to clipboard icon) small delay
Minimal vimrc
ALEInfo
:version