summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Stern <github@ericstern.com>2017-08-22 13:35:09 -0700
committerw0rp <w0rp@users.noreply.github.com>2017-08-22 21:35:09 +0100
commit2f19cf874b33f55312d1a5814eab16f8eec7432e (patch)
treef82c742bd303bd6ebbc73d5eaa8fe7ee90d3c975
parent1a524ca63e51092ab10febea40a6f018b6e85173 (diff)
downloadale-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.vim7
-rw-r--r--doc/ale-javascript.txt10
-rw-r--r--test/eslint-test-files/eslintignore/ignored.js1
-rw-r--r--test/test_eslint_suppress_eslintignore.vader38
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]',
+ \ ])