summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2019-06-16 18:13:47 +0100
committerGitHub <noreply@github.com>2019-06-16 18:13:47 +0100
commit15f23532b78d1d82c795fbd38a53bd5026f88ae4 (patch)
treec4e5ad4ee4ac56efd5289ab417e30bce1b3c3ca8
parent3acfa0813e9c5edfa1d2a8099e86f39623d86251 (diff)
parenteb6a7b75164ae2a0acb87fc9a7402779dc3e3614 (diff)
downloadale-15f23532b78d1d82c795fbd38a53bd5026f88ae4.zip
Merge pull request #2577 from hsanson/fix-checkstyle-defaults
Fix checkstyle default configuration.
-rw-r--r--ale_linters/java/checkstyle.vim14
-rw-r--r--doc/ale-java.txt2
-rw-r--r--test/command_callback/checkstyle_paths/google_checks.xml0
-rw-r--r--test/command_callback/test_checkstyle_command_callback.vader20
4 files changed, 28 insertions, 8 deletions
diff --git a/ale_linters/java/checkstyle.vim b/ale_linters/java/checkstyle.vim
index ee3ca7a3..7901ff7e 100644
--- a/ale_linters/java/checkstyle.vim
+++ b/ale_linters/java/checkstyle.vim
@@ -2,7 +2,7 @@
" Description: checkstyle for Java files
call ale#Set('java_checkstyle_executable', 'checkstyle')
-call ale#Set('java_checkstyle_config', 'google_checks.xml')
+call ale#Set('java_checkstyle_config', '/google_checks.xml')
call ale#Set('java_checkstyle_options', '')
function! ale_linters#java#checkstyle#Handle(buffer, lines) abort
@@ -39,11 +39,21 @@ function! ale_linters#java#checkstyle#Handle(buffer, lines) abort
return l:output
endfunction
+function! s:GetConfig(buffer, config) abort
+ if ale#path#IsAbsolute(a:config)
+ return a:config
+ endif
+
+ let s:file = ale#path#FindNearestFile(a:buffer, a:config)
+
+ return !empty(s:file) ? s:file : a:config
+endfunction
+
function! ale_linters#java#checkstyle#GetCommand(buffer) abort
let l:options = ale#Var(a:buffer, 'java_checkstyle_options')
let l:config_option = ale#Var(a:buffer, 'java_checkstyle_config')
let l:config = l:options !~# '\v(^| )-c' && !empty(l:config_option)
- \ ? ale#path#FindNearestFile(a:buffer, l:config_option)
+ \ ? s:GetConfig(a:buffer, l:config_option)
\ : ''
return '%e'
diff --git a/doc/ale-java.txt b/doc/ale-java.txt
index a563f1fb..58acc272 100644
--- a/doc/ale-java.txt
+++ b/doc/ale-java.txt
@@ -9,7 +9,7 @@ g:ale_java_checkstyle_config *g:ale_java_checkstyle_config*
*b:ale_java_checkstyle_config*
Type: |String|
- Default: `'google_checks.xml'`
+ Default: `'/google_checks.xml'`
A path to a checkstyle configuration file.
diff --git a/test/command_callback/checkstyle_paths/google_checks.xml b/test/command_callback/checkstyle_paths/google_checks.xml
deleted file mode 100644
index e69de29b..00000000
--- a/test/command_callback/checkstyle_paths/google_checks.xml
+++ /dev/null
diff --git a/test/command_callback/test_checkstyle_command_callback.vader b/test/command_callback/test_checkstyle_command_callback.vader
index d775f9f2..7a9f26b3 100644
--- a/test/command_callback/test_checkstyle_command_callback.vader
+++ b/test/command_callback/test_checkstyle_command_callback.vader
@@ -6,17 +6,27 @@ After:
call ale#assert#TearDownLinterTest()
Execute(The checkstyle callback should return the correct default value):
- AssertLinter 'checkstyle', ale#Escape('checkstyle') . ' %s'
+ AssertLinter 'checkstyle',
+ \ ale#Escape('checkstyle')
+ \ . ' -c ' . ale#Escape('/google_checks.xml')
+ \ . ' %s'
Execute(The checkstyle executable should be configurable):
let b:ale_java_checkstyle_executable = 'foobar'
- AssertLinter 'foobar', ale#Escape('foobar') . ' %s'
+ AssertLinter 'foobar',
+ \ ale#Escape('foobar')
+ \ . ' -c ' . ale#Escape('/google_checks.xml')
+ \ . ' %s'
Execute(Custom options should be supported):
let b:ale_java_checkstyle_options = '--foobar'
- AssertLinter 'checkstyle', ale#Escape('checkstyle') . ' --foobar %s'
+ AssertLinter 'checkstyle',
+ \ ale#Escape('checkstyle')
+ \ . ' --foobar'
+ \ . ' -c ' . ale#Escape('/google_checks.xml')
+ \ . ' %s'
Execute(configuration files set in _config should be supported):
let b:ale_java_checkstyle_config = ale#path#Simplify(g:dir . '/checkstyle_paths/other_config.xml')
@@ -36,12 +46,12 @@ Execute(configuration files set in _options should be preferred over _config):
AssertLinter 'checkstyle', ale#Escape('checkstyle') . ' -x -c /bar.xml %s'
-Execute(google_checks.xml should be detected automatically):
+Execute(google_checks.xml should be used by default):
call ale#test#SetFilename('checkstyle_paths/test.java')
AssertLinter 'checkstyle',
\ ale#Escape('checkstyle')
- \ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/checkstyle_paths/google_checks.xml'))
+ \ . ' -c ' . ale#Escape('/google_checks.xml')
\ . ' %s'
Execute(Other relative paths should be supported):