mirror of
https://github.com/dense-analysis/ale.git
synced 2026-10-25 23:27:27 +08:00
CI / Build (push) Canceled after 0s
CI / Lint (push) Canceled after 0s
CI / Lua (push) Canceled after 0s
CI / Neovim 0.10 Linux (push) Canceled after 0s
CI / Neovim 0.12 Linux (push) Canceled after 0s
CI / Vim 8.2 Linux (push) Canceled after 0s
CI / Vim 9.2 Linux (push) Canceled after 0s
CI / Neovim 0.10 Windows (push) Canceled after 0s
CI / Neovim 0.12 Windows (push) Canceled after 0s
CI / Vim 8.2 Windows (push) Canceled after 0s
CI / Vim 9.2 Windows (push) Canceled after 0s
* elixir: Don't use temp dir for mix linter The mix linter sets `MIX_BUILD_PATH` to a temporary directory on every run, which is very slow and inefficient. We can just use the default build path to speed this up. The default directory is `_build` inside the project, this is also automatically added to `.gitignore` by `mix new` so hopefully shouldn't cause any unwanted clutter. The `%s` argument is removed since `mix compile` doesn't actually support passing a filename. The output stream is changed to `stderr` since that's where the errors appear. Other options: - `mix compile` has a `--no-compile` flag, but this misses most errors including basic syntax errors - `mix format` has a `--dry-run` flag, but this only catches basic syntax errors and misses other errors like undefined functions Fixes https://github.com/dense-analysis/ale/issues/3816 * elixir: Fix error parsing for mix linter and support warnings The error parsing stopped working at some point, probably when Elixir introduced its new error formatting in for 1.16 in 2023.
17 lines
657 B
Plaintext
17 lines
657 B
Plaintext
Before:
|
|
call ale#assert#SetUpLinterTest('elixir', 'mix')
|
|
call ale#test#SetFilename('../test-files/elixir/mix_project/lib/app.ex')
|
|
|
|
After:
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(The default mix command should be correct):
|
|
AssertLinterCwd ale#path#Simplify(g:dir . '/../test-files/elixir/mix_project')
|
|
AssertLinter 'mix', ale#Escape('mix') . ' compile'
|
|
|
|
Execute(Build mix commands with an umbrella root):
|
|
call ale#test#SetFilename('../test-files/elixir/umbrella_project/apps/mix_project/lib/app.ex')
|
|
|
|
AssertLinterCwd ale#path#Simplify(g:dir . '/../test-files/elixir/umbrella_project')
|
|
AssertLinter 'mix', ale#Escape('mix') . ' compile'
|