diff --git a/autoload/ale.vim b/autoload/ale.vim index cd106887..a887834b 100644 --- a/autoload/ale.vim +++ b/autoload/ale.vim @@ -43,6 +43,11 @@ function! ale#ShouldDoNothing(buffer) abort return 1 endif + " Do nothing for diff buffers. + if getbufvar(a:buffer, '&diff') + return 1 + endif + " Do nothing for blacklisted files. if index(get(g:, 'ale_filetype_blacklist', []), l:filetype) >= 0 return 1 diff --git a/test/test_should_do_nothing_conditions.vader b/test/test_should_do_nothing_conditions.vader index de2e2782..6dfed555 100644 --- a/test/test_should_do_nothing_conditions.vader +++ b/test/test_should_do_nothing_conditions.vader @@ -35,6 +35,10 @@ After: unlet! b:funky_command_created unlet! b:fake_mode + if &diff is 1 + let &diff = 0 + endif + runtime autoload/ale/util.vim Given foobar(An empty file): @@ -70,6 +74,11 @@ Execute(DoNothing should return 1 when an operator is pending): AssertEqual 1, ale#ShouldDoNothing(bufnr('')) +Execute(DoNothing should return 1 for diff buffers): + let &diff = 1 + + AssertEqual 1, ale#ShouldDoNothing(bufnr('')) + Execute(The DoNothing check should work if the ALE globals aren't defined): unlet! g:ale_filetype_blacklist unlet! g:ale_maximum_file_size