Currently I’m writing JS and Elixir code and I’ve using a lot of plugins to help me about misspelling in my code, first I was using Syntastic, later I was using Neomake but now I fell in love with ALE and I try to explain why.
Ale knows clearly about if a plugin/addon shows an error that plugin/addon can fix that error if is possible.
For example if I’m using eslint and I see this error:
I want to ALE fix this (automatically) to:
That is easy and is built-in by default.
Another amazing feature is to queue fixer’s, let me explain this:
Prettier is a amazing opinionated code formatter for a lot of languages and provides a few options to configure, and if we can use ‘prettier + eslint’, I see a lot of issues with this combination, for example this. To avoid this, people made a lot of workarounds (npm’s, disabling rules, etc.), but in my opinion any code formatter only live in the IDE/editor and not in the project as dependency.
So with Ale you can only do that:
" vimrc
let g:ale_fixers = {
\ 'javascript': ['prettier', 'eslint']
\}
then Ale first apply fixes/format from prettier and later with eslint, AWESOME!
Finally Ale has support to newest elixir code formatter!
Later in a next post I would like to explain step by step all the configurations.