mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-08 13:34:46 +08:00
Fix 3371 - Add terraform-ls support
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
Before:
|
||||
call ale#assert#SetUpLinterTest('terraform', 'terraform_ls')
|
||||
|
||||
After:
|
||||
if isdirectory(g:dir . '/.terraform')
|
||||
call delete(g:dir . '/.terraform', 'd')
|
||||
endif
|
||||
|
||||
unlet! b:ale_terraform_terraform_executable
|
||||
unlet! b:ale_terraform_ls_executable
|
||||
unlet! b:ale_terraform_ls_options
|
||||
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
Execute(Should send correct LSP language):
|
||||
AssertLSPLanguage 'terraform'
|
||||
|
||||
Execute(Should load default executable):
|
||||
AssertLinter 'terraform-ls',
|
||||
\ ale#Escape('terraform-ls') . ' serve'
|
||||
|
||||
Execute(Should configure custom executable):
|
||||
let b:ale_terraform_ls_executable = 'foo'
|
||||
AssertLinter 'foo',
|
||||
\ ale#Escape('foo') . ' serve'
|
||||
|
||||
Execute(Should ignore non-absolute custom terraform executable):
|
||||
let b:ale_terraform_terraform_executable = 'terraform'
|
||||
AssertLinter 'terraform-ls',
|
||||
\ ale#Escape('terraform-ls') . ' serve'
|
||||
|
||||
Execute(Should set absolute custom terraform executable):
|
||||
let b:ale_terraform_terraform_executable = '/bin/terraform'
|
||||
AssertLinter 'terraform-ls',
|
||||
\ ale#Escape('terraform-ls') . ' serve -tf-exec /bin/terraform'
|
||||
|
||||
Execute(Should set custom options):
|
||||
let b:ale_terraform_ls_options = '--bar'
|
||||
|
||||
AssertLinter 'terraform-ls',
|
||||
\ ale#Escape('terraform-ls') . ' serve --bar'
|
||||
|
||||
Execute(Should return current directory if it contains .terraform directory):
|
||||
call mkdir(g:dir . '/.terraform')
|
||||
AssertLSPProject g:dir
|
||||
|
||||
Execute(Should return nearest directory with .terraform if found in parent directory):
|
||||
call ale#test#SetFilename('../terraform_files/main.tf')
|
||||
|
||||
let b:parent_dir = ale#path#Simplify(g:dir . '/..')
|
||||
let b:tf_dir = b:parent_dir . '/.terraform'
|
||||
|
||||
if !isdirectory(b:tf_dir)
|
||||
call mkdir(b:tf_dir)
|
||||
endif
|
||||
|
||||
AssertLSPProject b:parent_dir
|
||||
|
||||
call delete(b:tf_dir, 'd')
|
||||
unlet!b:parent_dir
|
||||
unlet!b:tf_dir
|
||||
Reference in New Issue
Block a user