* Use sign-group only on supported vim versions.
The sign-group feature is only available in nvim 0.4.0 and vim 8.1.614.
* Add priority to ALE signs.
This allows users to set a priority to ALE signs to take precedence over
other plugin signs.
This commit adds support for renaming symbols in tsserver and with LSP tools, and for organising imports with tsserver. Completion results for symbols that can be imported are now suggested if enabled for tsserver completion done via ALE.
This makes some of the run-test output less misleading.
Also fix a minor shellcheck issue: "\*" and "\\*" are equivalent, but
the second one makes clear that the literal backslash is intentional.
This commit add support for ink-language-server, which it does by
largely copying and pasting from the pure-language-server PR that was
merged recently.
The most interesting things to note are:
- ink-language-server is distributed upstream via npm, which is why we
search through node_modules
- With some coaxing, it can be installed globally - which is why we
search for a global binary.
- Ink is a funky language, and users will likely need to add
initialization options.
- I am not incredibly familiar with vimscript; and I may not have done
some of the buffer searching correctly.
Allows the user to override $GO111MODULE environment variable through
ale options. This gives control over the default behavior of Go module
resolution.
Golang documentation:
https://github.com/golang/go/wiki/Modules#how-to-use-modules
Add `ale#Go#EnvString()` function to make it easy to add similar Go
environment variables in the future.
Use the new `EnvString` function in all available Go tools callbacks
& update tests
Also add test of linter command callback for `gofmt`
This MR adds a new configuration variable `g:ale_java_javalsp_config`
that allows to configure external dependencies and class paths to the
language server.
The variable accepts a dictionary similar to the one supported by the
[vscode/settings.json](https://github.com/georgewfraser/java-language-server#settings)
file.
Deprecates: #2561
Checkstyle xml configuration is mandatory and not providing one causes
the tool to fail with the following error:
Must specify a config XML file.
Checkstyle itself contains a default configuration as part of its
assests named `/google_checks.xml`. Invoking checkstyle with this config
works even if such file does not exists in the file system:
checkstyle -c /google_checks.xml
This should be the default invocation to allow ALE to use checkstyle
with zero configuration.
Also when a user sets `g:ale_java_checkstyle_config` option, ALE should
use it to invoke checkstyle even such file does not exists in the
filesystem. This is because checkstyle is able to use configuration files
within JAR files defined in the CLASSPATH. The default `/google_checks.xml`
is an example of such configuration available within a JAR resource.
isort is great, but I've come to prefer reorder-python-imports. The tool
has a focus on smaller diffs than isort. reorder-python-imports is also
a little smarter than isort which is nice.