Skip to content
Open
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
15 changes: 14 additions & 1 deletion ale_linters/text/vale.vim
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
" Author: chew-z https://github.com/chew-z
" Description: vale for text files

call ale#Set('vale_executable', 'vale')
call ale#Set('vale_options', '')

function! ale_linters#text#vale#GetCommand(buffer) abort
let l:executable = ale#Var(a:buffer, 'vale_executable')

let l:options = ale#Var(a:buffer, 'vale_options')

return ale#Escape(l:executable)
\ . (!empty(l:options) ? ' ' . l:options : '')
\ . ' --output=JSON %t'
endfunction

call ale#linter#Define('text', {
\ 'name': 'vale',
\ 'executable': 'vale',
\ 'command': 'vale --output=JSON %t',
\ 'command': function('ale_linters#text#vale#GetCommand'),
\ 'callback': 'ale#handlers#vale#Handle',
\})
36 changes: 31 additions & 5 deletions doc/ale.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ CONTENTS *ale-contents*
7. Linter/Fixer Options.................|ale-integration-options|
7.1 Options for alex..................|ale-alex-options|
7.2 Options for cspell................|ale-cspell-options|
7.3 Options for languagetool..........|ale-languagetool-options|
7.4 Options for write-good............|ale-write-good-options|
7.5 Options for redpen................|ale-redpen-options|
7.6 Other Linter/Fixer Options........|ale-other-integration-options|
7.3 Options for dprint................|ale-dprint-options|
7.4 Options for languagetool..........|ale-languagetool-options|
7.5 Options for write-good............|ale-write-good-options|
7.6 Options for redpen................|ale-redpen-options|
7.7 Options for vale..................|ale-vale-options|
7.8 Other Linter/Fixer Options........|ale-other-integration-options|
8. Commands/Keybinds....................|ale-commands|
9. API..................................|ale-api|
10. Special Thanks......................|ale-special-thanks|
Expand Down Expand Up @@ -3359,7 +3361,31 @@ g:ale_redpen_options


-------------------------------------------------------------------------------
7.7. Other Linter/Fixer Options *ale-other-integration-options*
7.7. Options for vale *ale-vale-options*

The following options can be used to configure the `vale` linter for text
files.

g:ale_text_vale_executable *g:ale_text_vale_executable*
Type: String
Default: 'vale'

This option controls which executable is used for running Vale. Set it to an
absolute path or a different command name if needed.

g:ale_text_vale_options *g:ale_text_vale_options*
Type: String
Default: ''

Extra command-line options to pass to the Vale executable.

Example:

let g:ale_text_vale_options = '--minAlertLevel=warning'


-------------------------------------------------------------------------------
7.8. Other Linter/Fixer Options *ale-other-integration-options*

ALE supports a very wide variety of tools. Other linter or fixer options are
documented in additional help files.
Expand Down
15 changes: 15 additions & 0 deletions test/linter/test_text_vale.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Before:
call ale#assert#SetUpLinterTest('text', 'vale')

After:
call ale#assert#TearDownLinterTest()

Execute(The Vale command should include extra options when configured):
let g:ale_vale_executable = 'vale'
let g:ale_vale_options = '--minAlertLevel=warning'
AssertLinter 'vale', ale#Escape('vale') . ' --minAlertLevel=warning --output=JSON %t'

Execute(The Vale command should not include extra options by default):
let g:ale_vale_executable = 'vale'
let g:ale_vale_options = ''
AssertLinter 'vale', ale#Escape('vale') . ' --output=JSON %t'