Add language id of cspell (#4700)

This commit is contained in:
ohakutsu
2024-01-14 21:05:38 +09:00
committed by GitHub
parent 94f764631d
commit 531970533a
2 changed files with 19 additions and 5 deletions

View File

@@ -14,9 +14,13 @@ endfunction
function! ale#handlers#cspell#GetCommand(buffer) abort function! ale#handlers#cspell#GetCommand(buffer) abort
let l:executable = ale#handlers#cspell#GetExecutable(a:buffer) let l:executable = ale#handlers#cspell#GetExecutable(a:buffer)
let l:options = ale#Var(a:buffer, 'cspell_options') let l:options = ale#Var(a:buffer, 'cspell_options')
let l:filetype = getbufvar(a:buffer, '&filetype')
let l:language_id_option = empty(l:filetype) ? '' : '--language-id="' . l:filetype . '"'
return ale#node#Executable(a:buffer, l:executable) return ale#node#Executable(a:buffer, l:executable)
\ . ' lint --no-color --no-progress --no-summary' \ . ' lint --no-color --no-progress --no-summary'
\ . ale#Pad(l:language_id_option)
\ . ale#Pad(l:options) \ . ale#Pad(l:options)
\ . ' -- stdin' \ . ' -- stdin'
endfunction endfunction

View File

@@ -20,6 +20,8 @@ Before:
let g:ale_cspell_use_global = 0 let g:ale_cspell_use_global = 0
let g:ale_cspell_options = '' let g:ale_cspell_options = ''
set filetype=tex
After: After:
call ale#assert#TearDownLinterTest() call ale#assert#TearDownLinterTest()
@@ -27,7 +29,7 @@ Execute(The global executable should be used when the local one cannot be found)
AssertLinter AssertLinter
\ 'cspell', \ 'cspell',
\ ale#Escape('cspell') \ ale#Escape('cspell')
\ . ' lint --no-color --no-progress --no-summary -- stdin' \ . ' lint --no-color --no-progress --no-summary --language-id="tex" -- stdin'
Execute(Should use the node_modules/.bin executable if available): Execute(Should use the node_modules/.bin executable if available):
call ale#test#SetFilename('../test-files/cspell/node-modules/test.tex') call ale#test#SetFilename('../test-files/cspell/node-modules/test.tex')
@@ -37,7 +39,7 @@ Execute(Should use the node_modules/.bin executable if available):
\ . '/../test-files/cspell/node-modules/node_modules/.bin/cspell'), \ . '/../test-files/cspell/node-modules/node_modules/.bin/cspell'),
\ ale#Escape(ale#path#Simplify(g:dir \ ale#Escape(ale#path#Simplify(g:dir
\ . '/../test-files/cspell/node-modules/node_modules/.bin/cspell')) \ . '/../test-files/cspell/node-modules/node_modules/.bin/cspell'))
\ . ' lint --no-color --no-progress --no-summary -- stdin' \ . ' lint --no-color --no-progress --no-summary --language-id="tex" -- stdin'
Execute(Should use the node_modules/cspell executable if available): Execute(Should use the node_modules/cspell executable if available):
call ale#test#SetFilename('../test-files/cspell/node-modules-2/test.tex') call ale#test#SetFilename('../test-files/cspell/node-modules-2/test.tex')
@@ -48,7 +50,7 @@ Execute(Should use the node_modules/cspell executable if available):
\ (has('win32') ? 'node.exe ': '') \ (has('win32') ? 'node.exe ': '')
\ . ale#Escape(ale#path#Simplify(g:dir \ . ale#Escape(ale#path#Simplify(g:dir
\ . '/../test-files/cspell/node-modules-2/node_modules/cspell/bin.js')) \ . '/../test-files/cspell/node-modules-2/node_modules/cspell/bin.js'))
\ . ' lint --no-color --no-progress --no-summary -- stdin' \ . ' lint --no-color --no-progress --no-summary --language-id="tex" -- stdin'
Execute(Should let users configure a global executable and override local paths): Execute(Should let users configure a global executable and override local paths):
let g:ale_cspell_executable = '/path/to/custom/cspell' let g:ale_cspell_executable = '/path/to/custom/cspell'
@@ -57,7 +59,7 @@ Execute(Should let users configure a global executable and override local paths)
AssertLinter AssertLinter
\ '/path/to/custom/cspell', \ '/path/to/custom/cspell',
\ ale#Escape('/path/to/custom/cspell') \ ale#Escape('/path/to/custom/cspell')
\ . ' lint --no-color --no-progress --no-summary -- stdin' \ . ' lint --no-color --no-progress --no-summary --language-id="tex" -- stdin'
Execute(Additional cspell options should be configurable): Execute(Additional cspell options should be configurable):
call ale#test#SetFilename('../test-files/dummy') call ale#test#SetFilename('../test-files/dummy')
@@ -67,4 +69,12 @@ Execute(Additional cspell options should be configurable):
AssertLinter AssertLinter
\ 'cspell', \ 'cspell',
\ ale#Escape('cspell') \ ale#Escape('cspell')
\ . ' lint --no-color --no-progress --no-summary --foobar -- stdin' \ . ' lint --no-color --no-progress --no-summary --language-id="tex" --foobar -- stdin'
Execute(The language id should not specified when filetype is empty):
set filetype=
AssertLinter
\ 'cspell',
\ ale#Escape('cspell')
\ . ' lint --no-color --no-progress --no-summary -- stdin'