#977 Complain about the lack of configuration files for scalastyle in such a way that users will be directed towards getting it to work
This commit is contained in:
parent
515dcdef29
commit
90d4fb139c
3 changed files with 41 additions and 4 deletions
|
@ -8,10 +8,21 @@ let g:ale_scalastyle_config_loc =
|
|||
\ get(g:, 'ale_scalastyle_config_loc', '')
|
||||
|
||||
function! ale_linters#scala#scalastyle#Handle(buffer, lines) abort
|
||||
" Look for help output from scalastyle first, which indicates that no
|
||||
" configuration file was found.
|
||||
for l:line in a:lines[:10]
|
||||
if l:line =~# '-c, --config'
|
||||
return [{
|
||||
\ 'lnum': 1,
|
||||
\ 'text': '(See :help ale-scala-scalastyle)'
|
||||
\ . ' No scalastyle configuration file was found.',
|
||||
\}]
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Matches patterns like the following:
|
||||
"
|
||||
" warning file=/home/blurble/Doop.scala message=Missing or badly formed ScalaDoc: Extra @param foobles line=190
|
||||
|
||||
let l:patterns = [
|
||||
\ '^\(.\+\) .\+ message=\(.\+\) line=\(\d\+\)$',
|
||||
\ '^\(.\+\) .\+ message=\(.\+\) line=\(\d\+\) column=\(\d\+\)$',
|
||||
|
|
|
@ -5,6 +5,17 @@ ALE Scala Integration *ale-scala-options*
|
|||
===============================================================================
|
||||
scalastyle *ale-scala-scalastyle*
|
||||
|
||||
`scalastyle` requires a configuration file for a project to run. When no
|
||||
configuration file can be found, ALE will report a problem saying that a
|
||||
configuration file is required at line 1.
|
||||
|
||||
To disable `scalastyle` globally, use |g:ale_linters| like so: >
|
||||
let g:ale_linters = {'scala': ['scalac']} " Enable only scalac instead
|
||||
<
|
||||
|
||||
See |g:ale_linters| for more information on disabling linters.
|
||||
|
||||
|
||||
g:ale_scalastyle_config_loc *g:ale_scalastyle_config_loc*
|
||||
|
||||
Type: |String|
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
Execute(The scalastyle handler should parse lines correctly):
|
||||
Before:
|
||||
runtime! ale_linters/scala/scalastyle.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The scalastyle handler should parse lines correctly):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
|
@ -34,5 +38,16 @@ Execute(The scalastyle handler should parse lines correctly):
|
|||
\ 'Finished in 934 ms',
|
||||
\ ])
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
Execute(The scalastyle linter should complain when there is no configuration file):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 1,
|
||||
\ 'text': '(See :help ale-scala-scalastyle) No scalastyle configuration file was found.',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#scala#scalastyle#Handle(347, [
|
||||
\ 'scalastyle 1.0.0',
|
||||
\ 'Usage: scalastyle [options] <source directory>',
|
||||
\ ' -c, --config FILE configuration file (required)',
|
||||
\ ])
|
||||
|
|
Reference in a new issue