Files
ale/test/fixers/test_erlfmt_fixer_callback.vader
Dmitri Vereshchagin 0551602b19
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--neovim-06-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
Add erlfmt fixer to the registry and use it with stdin (#4868)
* Add erlfmt fixer to the registry

Without this, the fixer will not appear in the list of suggested tools
and cannot be used without additional configuration.

* Handle stdin in the erlfmt fixer command

Previously, the full path to the file being edited was used, which
resulted in the loss of unsaved changes.

* Add executable selection tests for erlfmt fixer
2024-12-29 13:55:43 +09:00

35 lines
1.1 KiB
Plaintext

Before:
call ale#assert#SetUpFixerTest('erlang', 'erlfmt')
After:
unlet! b:root
call ale#assert#TearDownFixerTest()
Execute(The local erlfmt executable should be used by default):
" Not sure if this is a good default though. It seems to imply
" that the executable is committed to the repository.
let b:root = '../test-files/erlang/app_with_erlfmt'
call ale#test#SetFilename(b:root . '/src/app.erl')
AssertFixer {
\ 'command': ale#Escape(ale#test#GetFilename(b:root . '/erlfmt')) . ' -',
\}
Execute(The global erlfmt executable should be configurable):
let b:root = '../test-files/erlang/app_with_erlfmt'
let b:ale_erlang_erlfmt_executable = '/path/to/erlfmt'
let b:ale_erlang_erlfmt_use_global = 1
call ale#test#SetFilename(b:root . '/src/app.erl')
AssertFixer {'command': ale#Escape('/path/to/erlfmt') . ' -'}
Execute(The erlfmt command should handle empty options):
AssertFixer {'command': ale#Escape('erlfmt') . ' -'}
Execute(The erlfmt command should handle custom options):
let b:ale_erlang_erlfmt_options = '--insert-pragma'
AssertFixer {'command': ale#Escape('erlfmt') . ' --insert-pragma -'}