From 6c0996eb9c3181c8dde1302b544787be758cc37b Mon Sep 17 00:00:00 2001 From: diartyz Date: Thu, 22 Dec 2016 19:39:01 +0800 Subject: [enhancement] add node_modules support for stylelint & htmlhint (#226) * Add node_modules support for stylelint * add node_modules support for htmlhint * fix stdin * update doc about stylelint & htmlhint --- ale_linters/html/htmlhint.vim | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'ale_linters/html') diff --git a/ale_linters/html/htmlhint.vim b/ale_linters/html/htmlhint.vim index 59c2ed20..910f3e63 100644 --- a/ale_linters/html/htmlhint.vim +++ b/ale_linters/html/htmlhint.vim @@ -1,12 +1,36 @@ -" Author: KabbAmine , deathmaz <00maz1987@gmail.com> +" Author: KabbAmine , deathmaz <00maz1987@gmail.com>, diartyz " Description: HTMLHint for checking html files " CLI options let g:ale_html_htmlhint_options = get(g:, 'ale_html_htmlhint_options', '--format=unix') +let g:ale_html_htmlhint_executable = +\ get(g:, 'ale_html_htmlhint_executable', 'htmlhint') + +let g:ale_html_htmlhint_use_global = +\ get(g:, 'ale_html_htmlhint_use_global', 0) + +function! ale_linters#html#htmlhint#GetExecutable(buffer) abort + if g:ale_html_htmlhint_use_global + return g:ale_html_htmlhint_executable + endif + + return ale#util#ResolveLocalPath( + \ a:buffer, + \ 'node_modules/.bin/htmlhint', + \ g:ale_html_htmlhint_executable + \) +endfunction + +function! ale_linters#html#htmlhint#GetCommand(buffer) abort + return g:ale#util#stdin_wrapper . ' .html ' + \ . ale_linters#html#htmlhint#GetExecutable(a:buffer) + \ . ' ' . g:ale_html_htmlhint_options +endfunction + call ale#linter#Define('html', { \ 'name': 'htmlhint', -\ 'executable': 'htmlhint', -\ 'command': 'htmlhint ' . g:ale_html_htmlhint_options . ' stdin', +\ 'executable_callback': 'ale_linters#html#htmlhint#GetExecutable', +\ 'command_callback': 'ale_linters#html#htmlhint#GetCommand', \ 'callback': 'ale#handlers#HandleUnixFormatAsError', \}) -- cgit v1.2.3