mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-20 01:52:58 +08:00
Add support for AVRA linting (#3950)
* Add support for AVRA linting * Add tests for AVRA linting and improve code * Fix test * Fix warning detection * Fix test * Fix test * Add AVRA as a supported language in docs
This commit is contained in:
24
test/handler/test_avra_handler.vader
Normal file
24
test/handler/test_avra_handler.vader
Normal file
@@ -0,0 +1,24 @@
|
||||
Before:
|
||||
runtime ale_linters/avra/avra.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The avra handler should parse errors correctly):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'lnum': 3,
|
||||
\ 'text': "Unknown device: atmega3228p",
|
||||
\ 'type': 'E'
|
||||
\ },
|
||||
\ {
|
||||
\ 'lnum': 12,
|
||||
\ 'text': "Unknown directive: .EQ",
|
||||
\ 'type': 'E'
|
||||
\ }
|
||||
\ ],
|
||||
\ ale_linters#avra#avra#Handle(bufnr(''), [
|
||||
\ "main.asm(3) : Error : Unknown device: atmega3228p",
|
||||
\ "main.asm(12) : Error : Unknown directive: .EQ"
|
||||
\ ])
|
||||
29
test/linter/test_avra_avra.vader
Normal file
29
test/linter/test_avra_avra.vader
Normal file
@@ -0,0 +1,29 @@
|
||||
Before:
|
||||
call ale#assert#SetUpLinterTest('avra', 'avra')
|
||||
|
||||
let b:command_tail = ' %t -o ' . g:ale#util#nul_file
|
||||
let b:command_tail_opt = ' %t --max_errors 20 -o ' . g:ale#util#nul_file
|
||||
|
||||
After:
|
||||
unlet! b:command_tail
|
||||
unlet! b:command_tail_opt
|
||||
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(The executable should be configurable):
|
||||
AssertLinter 'avra', ale#Escape('avra') . b:command_tail,
|
||||
|
||||
let b:ale_avra_avra_executable = '~/avra'
|
||||
|
||||
AssertLinter '~/avra', ale#Escape('~/avra') . b:command_tail
|
||||
|
||||
Execute(The options should be configurable):
|
||||
let b:ale_avra_avra_options = '--max_errors 20'
|
||||
|
||||
AssertLinter 'avra', ale#Escape('avra')
|
||||
\ . ' %t --max_errors 20 -o ' . g:ale#util#nul_file
|
||||
|
||||
Execute(The options should be used in command):
|
||||
let b:ale_avra_avra_options = '--max_errors 20'
|
||||
|
||||
AssertLinter 'avra', ale#Escape('avra') . b:command_tail_opt
|
||||
Reference in New Issue
Block a user