diff options
-rw-r--r-- | ale_linters/dart/language_server.vim | 2 | ||||
-rw-r--r-- | ale_linters/gitcommit/gitlint.vim | 6 | ||||
-rw-r--r-- | autoload/ale.vim | 5 | ||||
-rw-r--r-- | autoload/ale/cursor.vim | 4 | ||||
-rw-r--r-- | test/command_callback/test_dart_language_server_command_callback.vader | 8 | ||||
-rw-r--r-- | test/handler/test_gitlint_handler.vader | 19 | ||||
-rw-r--r-- | test/test_should_do_nothing_conditions.vader | 18 |
7 files changed, 56 insertions, 6 deletions
diff --git a/ale_linters/dart/language_server.vim b/ale_linters/dart/language_server.vim index 14b6ab93..8e0c139b 100644 --- a/ale_linters/dart/language_server.vim +++ b/ale_linters/dart/language_server.vim @@ -15,6 +15,6 @@ call ale#linter#Define('dart', { \ 'name': 'language_server', \ 'lsp': 'stdio', \ 'executable_callback': ale#VarFunc('dart_language_server_executable'), -\ 'command_callback': 'ale_linters#dart#language_server#GetExecutable', +\ 'command': '%e', \ 'project_root_callback': 'ale_linters#dart#language_server#GetProjectRoot', \}) diff --git a/ale_linters/gitcommit/gitlint.vim b/ale_linters/gitcommit/gitlint.vim index ec3bfb0b..a9c4822d 100644 --- a/ale_linters/gitcommit/gitlint.vim +++ b/ale_linters/gitcommit/gitlint.vim @@ -23,8 +23,10 @@ function! ale_linters#gitcommit#gitlint#Handle(buffer, lines) abort for l:match in ale#util#GetMatches(a:lines, l:pattern) let l:code = l:match[2] - if l:code is# 'T2' && !ale#Var(a:buffer, 'warn_about_trailing_whitespace') - continue + if !ale#Var(a:buffer, 'warn_about_trailing_whitespace') + if l:code is# 'T2' || l:code is# 'B2' + continue + endif endif let l:item = { diff --git a/autoload/ale.vim b/autoload/ale.vim index 51c0ce83..3747539b 100644 --- a/autoload/ale.vim +++ b/autoload/ale.vim @@ -62,6 +62,11 @@ function! ale#ShouldDoNothing(buffer) abort return 1 endif + " Don't start linting and so on when an operator is pending. + if ale#util#Mode(1) is# 'no' + return 1 + endif + " Do nothing if running in the sandbox. if ale#util#InSandbox() return 1 diff --git a/autoload/ale/cursor.vim b/autoload/ale/cursor.vim index 73dbebb2..3fa4e5ba 100644 --- a/autoload/ale/cursor.vim +++ b/autoload/ale/cursor.vim @@ -61,7 +61,7 @@ function! ale#cursor#EchoCursorWarning(...) abort endif " Only echo the warnings in normal mode, otherwise we will get problems. - if mode() isnot# 'n' + if mode(1) isnot# 'n' return endif @@ -91,7 +91,7 @@ function! ale#cursor#EchoCursorWarningWithDelay() abort endif " Only echo the warnings in normal mode, otherwise we will get problems. - if mode() isnot# 'n' + if mode(1) isnot# 'n' return endif diff --git a/test/command_callback/test_dart_language_server_command_callback.vader b/test/command_callback/test_dart_language_server_command_callback.vader new file mode 100644 index 00000000..5567f271 --- /dev/null +++ b/test/command_callback/test_dart_language_server_command_callback.vader @@ -0,0 +1,8 @@ +Before: + call ale#assert#SetUpLinterTest('dart', 'language_server') + +After: + call ale#assert#TearDownLinterTest() + +Execute(The default command should be correct): + AssertLinter 'dart_language_server', ale#Escape('dart_language_server') diff --git a/test/handler/test_gitlint_handler.vader b/test/handler/test_gitlint_handler.vader index 60d632a0..5c531664 100644 --- a/test/handler/test_gitlint_handler.vader +++ b/test/handler/test_gitlint_handler.vader @@ -61,6 +61,19 @@ Execute(Disabling trailing whitespace warnings should work): \ '8: T2 Trailing whitespace', \]) + AssertEqual + \ [ + \ { + \ 'lnum': 8, + \ 'type': 'E', + \ 'text': 'Trailing whitespace', + \ 'code': 'B2', + \ }, + \ ], + \ ale_linters#gitcommit#gitlint#Handle(bufnr(''), [ + \ '8: B2 Trailing whitespace', + \]) + let b:ale_warn_about_trailing_whitespace = 0 AssertEqual @@ -68,3 +81,9 @@ Execute(Disabling trailing whitespace warnings should work): \ ale_linters#gitcommit#gitlint#Handle(bufnr(''), [ \ '8: T2 Trailing whitespace', \ ]) + + AssertEqual + \ [], + \ ale_linters#gitcommit#gitlint#Handle(bufnr(''), [ + \ '8: B2 Trailing whitespace', + \ ]) diff --git a/test/test_should_do_nothing_conditions.vader b/test/test_should_do_nothing_conditions.vader index 062ab875..de2e2782 100644 --- a/test/test_should_do_nothing_conditions.vader +++ b/test/test_should_do_nothing_conditions.vader @@ -4,10 +4,18 @@ Before: Save g:ale_enabled Save &l:statusline + let b:fake_mode = 'n' + call ale#test#SetDirectory('/testplugin/test') let b:funky_command_created = 0 + runtime autoload/ale/util.vim + + function! ale#util#Mode(...) abort + return b:fake_mode + endfunction + " We will test for the existence of this command, so create one if needed. if !exists(':CtrlPFunky') command CtrlPFunky echo @@ -25,6 +33,9 @@ After: endif unlet! b:funky_command_created + unlet! b:fake_mode + + runtime autoload/ale/util.vim Given foobar(An empty file): Execute(ALE shouldn't do much of anything for ctrlp-funky buffers): @@ -44,7 +55,7 @@ Execute(ALE shouldn't try to check buffers with '.' as the filename): Assert ale#ShouldDoNothing(bufnr('')) -Execute(DoNothing should return 0 when the filetype is empty): +Execute(DoNothing should return 1 when the filetype is empty): AssertEqual \ 0, \ ale#ShouldDoNothing(bufnr('')), @@ -54,6 +65,11 @@ Execute(DoNothing should return 0 when the filetype is empty): AssertEqual 1, ale#ShouldDoNothing(bufnr('')) +Execute(DoNothing should return 1 when an operator is pending): + let b:fake_mode = 'no' + + 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 |