diff options
author | Eric Stern <github@ericstern.com> | 2017-08-22 13:35:09 -0700 |
---|---|---|
committer | w0rp <w0rp@users.noreply.github.com> | 2017-08-22 21:35:09 +0100 |
commit | 2f19cf874b33f55312d1a5814eab16f8eec7432e (patch) | |
tree | f82c742bd303bd6ebbc73d5eaa8fe7ee90d3c975 | |
parent | 1a524ca63e51092ab10febea40a6f018b6e85173 (diff) | |
download | ale-2f19cf874b33f55312d1a5814eab16f8eec7432e.zip |
Suppress warning about .eslintignore'd file (#836)
* Suppress warning about .eslintignore'd file
* Fix slightly ironic lint error
* Lock error suppression behind a variable; add docs and tests
-rw-r--r-- | autoload/ale/handlers/eslint.vim | 7 | ||||
-rw-r--r-- | doc/ale-javascript.txt | 10 | ||||
-rw-r--r-- | test/eslint-test-files/eslintignore/ignored.js | 1 | ||||
-rw-r--r-- | test/test_eslint_suppress_eslintignore.vader | 38 |
4 files changed, 56 insertions, 0 deletions
diff --git a/autoload/ale/handlers/eslint.vim b/autoload/ale/handlers/eslint.vim index a5210ae0..6c5d75c0 100644 --- a/autoload/ale/handlers/eslint.vim +++ b/autoload/ale/handlers/eslint.vim @@ -4,6 +4,7 @@ call ale#Set('javascript_eslint_options', '') call ale#Set('javascript_eslint_executable', 'eslint') call ale#Set('javascript_eslint_use_global', 0) +call ale#Set('javascript_eslint_suppress_eslintignore', 0) function! ale#handlers#eslint#GetExecutable(buffer) abort return ale#node#FindExecutable(a:buffer, 'javascript_eslint', [ @@ -82,6 +83,12 @@ function! ale#handlers#eslint#Handle(buffer, lines) abort let l:type = 'Error' let l:text = l:match[3] + if ale#Var(a:buffer, 'javascript_eslint_suppress_eslintignore') + if l:text is# 'File ignored because of a matching ignore pattern. Use "--no-ignore" to override.' + continue + endif + endif + " Take the error type from the output if available. if !empty(l:match[4]) let l:type = split(l:match[4], '/')[0] diff --git a/doc/ale-javascript.txt b/doc/ale-javascript.txt index 4abc6298..3adba503 100644 --- a/doc/ale-javascript.txt +++ b/doc/ale-javascript.txt @@ -50,6 +50,16 @@ g:ale_javascript_eslint_use_global *g:ale_javascript_eslint_use_global* See |ale-integrations-local-executables| +g:ale_javascript_eslint_suppress_eslintignore + *g:ale_javascript_eslint_suppress_eslintignore* + *b:ale_javascript_eslint_suppress_eslintignore* + Type: |Number| + Default: `0` + + This variable can be set to disable the warning that linting is disabled on + the current file due to being covered by `.eslintignore`. + + =============================================================================== prettier *ale-javascript-prettier* diff --git a/test/eslint-test-files/eslintignore/ignored.js b/test/eslint-test-files/eslintignore/ignored.js new file mode 100644 index 00000000..4ec1fa47 --- /dev/null +++ b/test/eslint-test-files/eslintignore/ignored.js @@ -0,0 +1 @@ +var foo = "bar"; diff --git a/test/test_eslint_suppress_eslintignore.vader b/test/test_eslint_suppress_eslintignore.vader new file mode 100644 index 00000000..2893d21a --- /dev/null +++ b/test/test_eslint_suppress_eslintignore.vader @@ -0,0 +1,38 @@ +Before: + Save g:ale_javascript_eslint_suppress_eslintignore + + call ale#test#SetDirectory('/testplugin/test') + + runtime ale_linters/javascript/eslint.vim + +After: + Restore + + call ale#test#RestoreDirectory() + call ale#linter#Reset() + +Execute(eslint should warn about ignored file): + call ale#test#SetFilename('eslint-test-files/eslintignore/ignore.js') + + AssertEqual + \ [{ + \ 'lnum': 0, + \ 'col': 0, + \ 'type': 'W', + \ 'text': 'File ignored because of a matching ignore pattern. Use "--no-ignore" to override. [Warning]' + \ }], + \ ale#handlers#eslint#Handle(347, [ + \ '/path/to/some/ignored.js:0:0: File ignored because of a matching ignore pattern. Use "--no-ignore" to override. [Warning]', + \ ]) + + +Execute(eslint should not warn about ignored file when configured): + let g:ale_javascript_eslint_suppress_eslintignore = 1 + + call ale#test#SetFilename('eslint-test-files/eslintignore/ignore.js') + + AssertEqual + \ [], + \ ale#handlers#eslint#Handle(347, [ + \ '/path/to/some/ignored.js:0:0: File ignored because of a matching ignore pattern. Use "--no-ignore" to override. [Warning]', + \ ]) |