summaryrefslogtreecommitdiff
path: root/ale_linters
diff options
context:
space:
mode:
Diffstat (limited to 'ale_linters')
-rw-r--r--ale_linters/php/phpmd.vim15
1 files changed, 12 insertions, 3 deletions
diff --git a/ale_linters/php/phpmd.vim b/ale_linters/php/phpmd.vim
index e4192c70..e9450752 100644
--- a/ale_linters/php/phpmd.vim
+++ b/ale_linters/php/phpmd.vim
@@ -1,11 +1,20 @@
-" Author: medains <https://github.com/medains>
+" Author: medains <https://github.com/medains>, David Sierra <https://github.com/davidsierradz>
" Description: phpmd for PHP files
+let g:ale_php_phpmd_executable = get(g:, 'ale_php_phpmd_executable', 'phpmd')
+
" Set to change the ruleset
let g:ale_php_phpmd_ruleset = get(g:, 'ale_php_phpmd_ruleset', 'cleancode,codesize,controversial,design,naming,unusedcode')
+function! ale_linters#php#phpmd#GetExecutable(buffer) abort
+ return ale#Var(a:buffer, 'php_phpmd_executable')
+endfunction
+
function! ale_linters#php#phpmd#GetCommand(buffer) abort
- return 'phpmd %s text '
+ let l:executable = ale_linters#php#phpmd#GetExecutable(a:buffer)
+
+ return ale#Escape(l:executable)
+ \ . ' %s text '
\ . ale#Var(a:buffer, 'php_phpmd_ruleset')
\ . ' --ignore-violations-on-exit %t'
endfunction
@@ -30,7 +39,7 @@ endfunction
call ale#linter#Define('php', {
\ 'name': 'phpmd',
-\ 'executable': 'phpmd',
+\ 'executable_callback': 'ale_linters#php#phpmd#GetExecutable',
\ 'command_callback': 'ale_linters#php#phpmd#GetCommand',
\ 'callback': 'ale_linters#php#phpmd#Handle',
\})