mirror of
https://github.com/dense-analysis/ale
synced 2024-12-28 00:52:20 +00:00
a02a4f2811
The ocaml filetype is currently used for several, different file formats. This causes problems as not all tools support all formats. New filetypes are introduced to support this separation, this needs some changes in ale that are fortunately backwards-compatible. These change add ocamlinterface file support for ocp-indent, merlin, ocamlformat and ocaml-lsp. For ocaml-lsp I took the liberty to add all recognised language ids, even if they are not supported. ols has not been changed as the project has been abandoned since 2019.
30 lines
881 B
Plaintext
30 lines
881 B
Plaintext
Before:
|
|
call ale#assert#SetUpLinterTest('ocamlinterface', 'ocamllsp')
|
|
|
|
Save &filetype
|
|
let &filetype = 'ocamlinterface'
|
|
|
|
After:
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(The language string should be correct):
|
|
AssertLSPLanguage 'ocaml.interface'
|
|
|
|
Execute(The project root should be detected correctly):
|
|
AssertLSPProject ''
|
|
|
|
call ale#test#SetFilename('../test-files/ocamllsp/file.ml')
|
|
|
|
AssertLSPProject ale#path#Simplify(g:dir . '/../test-files/ocamllsp')
|
|
|
|
Execute(The executable should be run using opam exec by default):
|
|
call ale#test#SetFilename('../test-files/ocamllsp/file.ml')
|
|
|
|
AssertLinter 'ocamllsp', 'opam config exec -- ocamllsp'
|
|
|
|
Execute(The executable should be run directly if use_opam flag is disabled):
|
|
let g:ale_ocaml_ocamllsp_use_opam = 0
|
|
call ale#test#SetFilename('../test-files/ocamllsp/file.ml')
|
|
|
|
AssertLinter 'ocamllsp', 'ocamllsp'
|