Ale [0] is a famous plugin to show linter warnings and diagnostics. It
already provides extensive functionality and configurability to display
those diagnostics.
In order to allow diagnostics from other plugins (e.g. LSP plugins) to
be shown together with those linter warnings, Ale has API so that those
diagnostics can be sent to Ale.
Ale will then display them as if they came from Ale itself. This is
useful for many reasons, e.g. this ensures a consistent look and allows
the location list for a window to be populated with all diagnostics,
regardless from which plugin they come.
There are other famous LSP plugins, that already integrate with Ale,
e.g. coc.nvim [1] allows this with "diagnostic.displayByAle".
This patch implements the same functionality by adding an "aleSupport"
option that is off by default. If the option is turned on, diagnostics
will be sent to Ale instead of being displayed by this plugin directly.