Improve performance when using gometalinter (#566)

* Improve performance when using gometalinter

Before this change when I opened a big project that had 6000+ warnings/errors it took ages to get the actual warnings/errors and it caused my CPU to be busy for quite some time. The call to gometalinter alone took about 24 seconds, but after that vim was struggling as well.

After this change the gometalinter call just takes 2 seconds and nothing noticable happens with the CPU and/or vim.

* Removed obsolete test

This logic is no longer done by the `ale` plugin, but by `gometalinter` itself.
This commit is contained in:
Sander van Harmelen authored and w0rp committed 2017-05-20 11:43:28 +01:00
1 parent bb1f045d59
commit 455793dfd9
2 files changed
+1 -27

No files matched your search

+1 -6
View File
@@ -6,7 +6,7 @@ if !exists('g:ale_go_gometalinter_options')
endif
function! ale_linters#go#gometalinter#GetCommand(buffer) abort
return 'gometalinter '
return 'gometalinter --include=''^' . expand('%:p') . '.*$'' '
\ . ale#Var(a:buffer, 'go_gometalinter_options')
\ . ' ' . ale#Escape(fnamemodify(bufname(a:buffer), ':p:h'))
endfunction
@@ -21,11 +21,6 @@ function! ale_linters#go#gometalinter#Handler(buffer, lines) abort
let l:output = []
for l:match in ale_linters#go#gometalinter#GetMatches(a:lines)
" Omit errors from files other than the one currently open
if !ale#path#IsBufferPath(a:buffer, l:match[1])
continue
endif
call add(l:output, {
\ 'lnum': l:match[2] + 0,
\ 'col': l:match[3] + 0,