Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ale_linters/css/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ call ale#Set('css_stylelint_use_global', get(g:, 'ale_use_global_executables', 0

function! ale_linters#css#stylelint#GetCommand(buffer) abort
return '%e ' . ale#Pad(ale#Var(a:buffer, 'css_stylelint_options'))
\ . ' --stdin-filename %s'
\ . ' --no-color --stdin-filename %s'
endfunction

call ale#linter#Define('css', {
Expand Down
2 changes: 1 addition & 1 deletion ale_linters/html/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function! ale_linters#html#stylelint#GetCommand(buffer) abort

return ale#Escape(l:executable)
\ . (!empty(l:options) ? ' ' . l:options : '')
\ . ' --stdin-filename %s'
\ . ' --no-color --stdin-filename %s'
endfunction

call ale#linter#Define('html', {
Expand Down
2 changes: 1 addition & 1 deletion ale_linters/less/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ call ale#Set('less_stylelint_use_global', get(g:, 'ale_use_global_executables',
function! ale_linters#less#stylelint#GetCommand(buffer) abort
let l:options = ale#Var(a:buffer, 'less_stylelint_options')

return '%e' . ale#Pad(l:options) . ' --stdin-filename %s'
return '%e' . ale#Pad(l:options) . ' --no-color --stdin-filename %s'
endfunction

call ale#linter#Define('less', {
Expand Down
2 changes: 1 addition & 1 deletion ale_linters/sass/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ call ale#linter#Define('sass', {
\ 'executable': {b -> ale#path#FindExecutable(b, 'sass_stylelint', [
\ 'node_modules/.bin/stylelint',
\ ])},
\ 'command': '%e --stdin-filename %s',
\ 'command': '%e --no-color --stdin-filename %s',
\ 'callback': 'ale#handlers#css#HandleStyleLintFormat',
\})
2 changes: 1 addition & 1 deletion ale_linters/scss/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ call ale#Set('scss_stylelint_use_global', get(g:, 'ale_use_global_executables',

function! ale_linters#scss#stylelint#GetCommand(buffer) abort
return '%e ' . ale#Pad(ale#Var(a:buffer, 'scss_stylelint_options'))
\ . ' --stdin-filename %s'
\ . ' --no-color --stdin-filename %s'
endfunction

call ale#linter#Define('scss', {
Expand Down
2 changes: 1 addition & 1 deletion ale_linters/stylus/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ call ale#Set('stylus_stylelint_use_global', get(g:, 'ale_use_global_executables'
function! ale_linters#stylus#stylelint#GetCommand(buffer) abort
return '%e'
\ . ale#Pad(ale#Var(a:buffer, 'stylus_stylelint_options'))
\ . ' --stdin-filename %s'
\ . ' --no-color --stdin-filename %s'
endfunction

call ale#linter#Define('stylus', {
Expand Down
2 changes: 1 addition & 1 deletion ale_linters/sugarss/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ call ale#Set('sugarss_stylelint_use_global', get(g:, 'ale_use_global_executables
function! ale_linters#sugarss#stylelint#GetCommand(buffer) abort
return '%e ' . ale#Pad(ale#Var(a:buffer, 'sugarss_stylelint_options'))
\ . ' --syntax=sugarss'
\ . ' --stdin-filename %s'
\ . ' --no-color --stdin-filename %s'
endfunction

call ale#linter#Define('sugarss', {
Expand Down
2 changes: 1 addition & 1 deletion autoload/ale/fixers/stylelint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function! ale#fixers#stylelint#Fix(buffer) abort
\ 'cwd': '%s:h',
\ 'command': ale#node#Executable(a:buffer, l:executable)
\ . ale#Pad(l:options)
\ . ' --fix --stdin --stdin-filename %s',
\ . ' --fix --stdin --no-color --stdin-filename %s',
\ 'read_temporary_file': 0,
\}
endfunction
2 changes: 1 addition & 1 deletion autoload/ale/handlers/css.vim
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function! ale#handlers#css#HandleCSSLintFormat(buffer, lines) abort
endfunction

function! ale#handlers#css#HandleStyleLintFormat(buffer, lines) abort
let l:exception_pattern = '\v^Error:'
let l:exception_pattern = '\v^(Syntax)?Error:'

for l:line in a:lines[:10]
if len(matchlist(l:line, l:exception_pattern)) > 0
Expand Down
4 changes: 2 additions & 2 deletions test/fixers/test_stylelint_fixer_callback.vader
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Execute(The stylelint callback should return the correct default values):
\ 'cwd': '%s:h',
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../test-files/eslint/react-app/node_modules/stylelint/bin/stylelint.js'))
\ . ' --fix --stdin --stdin-filename %s',
\ . ' --fix --stdin --no-color --stdin-filename %s',
\ }

Execute(The stylelint callback should include custom stylelint options):
Expand All @@ -30,5 +30,5 @@ Execute(The stylelint callback should include custom stylelint options):
\ 'cwd': '%s:h',
\ 'command': (has('win32') ? 'node.exe ' : '')
\ . ale#Escape(ale#path#Simplify(g:dir . '/../test-files/eslint/react-app/node_modules/stylelint/bin/stylelint.js'))
\ . ' --cache --fix --stdin --stdin-filename %s',
\ . ' --cache --fix --stdin --no-color --stdin-filename %s',
\ }
23 changes: 23 additions & 0 deletions test/handler/test_stylelint_handler.vader
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,26 @@ Execute (stylelint should complain when no configuration file is used):
\ 'detail': join(g:error_lines, "\n"),
\ }],
\ ale#handlers#css#HandleStyleLintFormat(347, g:error_lines[:])

Execute (stylelint should complain but not blow up when SyntaxError is encountered):
let g:error_lines = [
\ 'SyntaxError: Unexpected token, expected "," (136:4)',
\ ' at constructor (/home/ts-project/node_modules/@babel/parser/lib/index.js:367:19)',
\ ' at TypeScriptParserMixin.raise (/home/ts-project/node_modules/@babel/parser/lib/index.js:6630:19)',
\ ' at TypeScriptParserMixin.unexpected (/home/ts-project/node_modules/@babel/parser/lib/index.js:6650:16)',
\ ' at TypeScriptParserMixin.expect (/home/ts-project/node_modules/@babel/parser/lib/index.js:6930:12)',
\ ' at TypeScriptParserMixin.tsParseDelimitedListWorker (/home/ts-project/node_modules/@babel/parser/lib/index.js:7932:14)',
\ ' at TypeScriptParserMixin.tsParseDelimitedList (/home/ts-project/node_modules/@babel/parser/lib/index.js:7909:25)',
\ ' at /home/ts-project/node_modules/@babel/parser/lib/index.js:9170:19',
\ ' at TypeScriptParserMixin.tsInTopLevelContext (/home/ts-project/node_modules/@babel/parser/lib/index.js:8834:14)',
\ ' at /home/ts-project/node_modules/@babel/parser/lib/index.js:9168:44',
\ ' at TypeScriptParserMixin.tsInType (/home/ts-project/node_modules/@babel/parser/lib/index.js:8841:14)',
\]

AssertEqual
\ [{
\ 'lnum': 1,
\ 'text': 'stylelint exception thrown (type :ALEDetail for more information)',
\ 'detail': join(g:error_lines, "\n"),
\ }],
\ ale#handlers#css#HandleStyleLintFormat(347, g:error_lines[:])
33 changes: 33 additions & 0 deletions test/linter/test_css_stylelint.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Before:
call ale#assert#SetUpLinterTest('css', 'stylelint')
unlet! b:executable

After:
unlet! b:executable
call ale#assert#TearDownLinterTest()

Execute(node_modules directories should be discovered):
call ale#test#SetFilename('../test-files/stylelint/nested/testfile.css')

let b:executable = ale#path#Simplify(
\ g:dir
\ . '/../test-files/stylelint/node_modules/.bin/stylelint'
\)

AssertLinter b:executable, ale#Escape(b:executable) . ' --no-color --stdin-filename %s'

Execute(The global override should work):
let b:ale_css_stylelint_executable = 'foobar'
let b:ale_css_stylelint_use_global = 1

call ale#test#SetFilename('../test-files/stylelint/nested/testfile.css')

AssertLinter 'foobar', ale#Escape('foobar') . ' --no-color --stdin-filename %s'

Execute(Extra options should be configurable):
call ale#test#SetFilename('../test-files/dummy')

let b:ale_css_stylelint_options = '--configFile ''/absolute/path/to/file'''

AssertLinter 'stylelint',
\ ale#Escape('stylelint') . ' --configFile ''/absolute/path/to/file'' --no-color --stdin-filename %s'
6 changes: 3 additions & 3 deletions test/linter/test_html_stylelint.vader
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Execute(node_modules directories should be discovered):

AssertEqual b:executable, ale_linters#html#stylelint#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape(b:executable) . ' --stdin-filename %s',
\ ale#Escape(b:executable) . ' --no-color --stdin-filename %s',
\ ale_linters#html#stylelint#GetCommand(bufnr(''))

Execute(The global override should work):
Expand All @@ -48,13 +48,13 @@ Execute(The global override should work):

AssertEqual 'foobar', ale_linters#html#stylelint#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('foobar') . ' --stdin-filename %s',
\ ale#Escape('foobar') . ' --no-color --stdin-filename %s',
\ ale_linters#html#stylelint#GetCommand(bufnr(''))

Execute(Extra options should be configurable):
let b:ale_html_stylelint_options = '--whatever'

AssertEqual 'stylelint', ale_linters#html#stylelint#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('stylelint') . ' --whatever --stdin-filename %s',
\ ale#Escape('stylelint') . ' --whatever --no-color --stdin-filename %s',
\ ale_linters#html#stylelint#GetCommand(bufnr(''))
6 changes: 3 additions & 3 deletions test/linter/test_less_stylelint.vader
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ Execute(node_modules directories should be discovered):
\ . '/../test-files/stylelint/node_modules/.bin/stylelint'
\)

AssertLinter b:executable, ale#Escape(b:executable) . ' --stdin-filename %s'
AssertLinter b:executable, ale#Escape(b:executable) . ' --no-color --stdin-filename %s'

Execute(The global override should work):
let b:ale_less_stylelint_executable = 'foobar'
let b:ale_less_stylelint_use_global = 1

call ale#test#SetFilename('../test-files/stylelint/nested/testfile.less')

AssertLinter 'foobar', ale#Escape('foobar') . ' --stdin-filename %s'
AssertLinter 'foobar', ale#Escape('foobar') . ' --no-color --stdin-filename %s'

Execute(Extra options should be configurable):
let b:ale_less_stylelint_options = '--whatever'
call ale#test#SetFilename('../test-files/dummy')

AssertLinter 'stylelint',
\ ale#Escape('stylelint') . ' --whatever --stdin-filename %s'
\ ale#Escape('stylelint') . ' --whatever --no-color --stdin-filename %s'
6 changes: 3 additions & 3 deletions test/linter/test_scss_stylelint.vader
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ Execute(node_modules directories should be discovered):
\ . '/../test-files/stylelint/node_modules/.bin/stylelint'
\)

AssertLinter b:executable, ale#Escape(b:executable) . ' --stdin-filename %s'
AssertLinter b:executable, ale#Escape(b:executable) . ' --no-color --stdin-filename %s'

Execute(The global override should work):
let b:ale_scss_stylelint_executable = 'foobar'
let b:ale_scss_stylelint_use_global = 1

call ale#test#SetFilename('../test-files/stylelint/nested/testfile.scss')

AssertLinter 'foobar', ale#Escape('foobar') . ' --stdin-filename %s'
AssertLinter 'foobar', ale#Escape('foobar') . ' --no-color --stdin-filename %s'

Execute(Extra options should be configurable):
call ale#test#SetFilename('../test-files/dummy')

let b:ale_scss_stylelint_options = '--configFile ''/absolute/path/to/file'''

AssertLinter 'stylelint',
\ ale#Escape('stylelint') . ' --configFile ''/absolute/path/to/file'' --stdin-filename %s'
\ ale#Escape('stylelint') . ' --configFile ''/absolute/path/to/file'' --no-color --stdin-filename %s'
6 changes: 3 additions & 3 deletions test/linter/test_sugarss_stylelint.vader
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ Execute(node_modules directories should be discovered):
\ . '/../test-files/stylelint/node_modules/.bin/stylelint'
\)

AssertLinter b:executable, ale#Escape(b:executable) . ' --syntax=sugarss --stdin-filename %s'
AssertLinter b:executable, ale#Escape(b:executable) . ' --syntax=sugarss --no-color --stdin-filename %s'

Execute(The global override should work):
let b:ale_sugarss_stylelint_executable = 'foobar'
let b:ale_sugarss_stylelint_use_global = 1

call ale#test#SetFilename('../test-files/stylelint/nested/testfile.sss')

AssertLinter 'foobar', ale#Escape('foobar') . ' --syntax=sugarss --stdin-filename %s'
AssertLinter 'foobar', ale#Escape('foobar') . ' --syntax=sugarss --no-color --stdin-filename %s'

Execute(Extra options should be configurable):
call ale#test#SetFilename('../test-files/dummy')

let b:ale_sugarss_stylelint_options = '--configFile ''/absolute/path/to/file'''

AssertLinter 'stylelint',
\ ale#Escape('stylelint') . ' --configFile ''/absolute/path/to/file'' --syntax=sugarss --stdin-filename %s'
\ ale#Escape('stylelint') . ' --configFile ''/absolute/path/to/file'' --syntax=sugarss --no-color --stdin-filename %s'