* racket: support racket-langserver lsp
* racket-langserver: find highest dir with init.rkt
* autoload/ale/racket: re-indent to 4 spaces
* racket: lint: sort supported tools
* racket: lint: function!
This is _not_ needed anymore, but the lint wants it. See :help E127
* racket-langserver: do not use new dict format
* racket: lint: use snake_case
* add tests for racket-langserver
* racket-langserver tests: correct result values
This is achieved by switching to JSON, which makes it much easier to
avoid confusion between an error message and the next one. It also
spares us from having to deal with regular expressions, and eliminates
some edge cases that no longer need to be tested.
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.
* fix: added support for local solhint executable
* feat: added support for matching parse errors
* test: added test for solhint command callback and handler
* chore: removed command callback test
* refactor: made solhint handler structure closer to eslint