summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ale-cs.txt79
-rw-r--r--doc/ale-elixir.txt15
-rw-r--r--doc/ale-fish.txt14
-rw-r--r--doc/ale-fountain.txt6
-rw-r--r--doc/ale-gitcommit.txt42
-rw-r--r--doc/ale-glsl.txt20
-rw-r--r--doc/ale-graphql.txt8
-rw-r--r--doc/ale-haskell.txt20
-rw-r--r--doc/ale-html.txt15
-rw-r--r--doc/ale-java.txt20
-rw-r--r--doc/ale-javascript.txt41
-rw-r--r--doc/ale-json.txt66
-rw-r--r--doc/ale-lua.txt9
-rw-r--r--doc/ale-markdown.txt6
-rw-r--r--doc/ale-perl.txt5
-rw-r--r--doc/ale-proto.txt9
-rw-r--r--doc/ale-python.txt62
-rw-r--r--doc/ale-ruby.txt17
-rw-r--r--doc/ale-rust.txt56
-rw-r--r--doc/ale-solidity.txt8
-rw-r--r--doc/ale-typescript.txt2
-rw-r--r--doc/ale.txt258
22 files changed, 663 insertions, 115 deletions
diff --git a/doc/ale-cs.txt b/doc/ale-cs.txt
index eeb1abd1..237e8484 100644
--- a/doc/ale-cs.txt
+++ b/doc/ale-cs.txt
@@ -5,9 +5,9 @@ ALE C# Integration *ale-cs-options*
===============================================================================
mcs *ale-cs-mcs*
- The mcs linter checks the syntax of the '*.cs' file loaded in the current
- buffer only. It uses the --parse option of the mcs compiler and implicitly
- sets the -unsafe flag.
+ The `mcs` linter looks only for syntax errors while you type. See |ale-cs-mcsc|
+ for the separately configured linter for checking for semantic errors.
+
g:ale_cs_mcs_options *g:ale_cs_mcs_options*
*b:ale_cs_mcs_options*
@@ -17,7 +17,7 @@ g:ale_cs_mcs_options *g:ale_cs_mcs_options*
This variable can be changed to pass additional flags given to mcs.
- NOTE: The -unsafe flag is selected implicitly and thus does not need to be
+ NOTE: The -unsafe flag is selected implicitly and thus does not need to be
explicitly included in the |g:ale_cs_mcs_options| or |b:ale_cs_mcs_options|
parameter.
@@ -25,49 +25,37 @@ g:ale_cs_mcs_options *g:ale_cs_mcs_options*
===============================================================================
mcsc *ale-cs-mcsc*
+ The mcsc linter checks for semantic errors when files are opened or saved
+ See |ale-lint-file-linters| for more information on linters which do not
+ check for problems while you type.
+
The mcsc linter uses the mono mcs compiler to generate a temporary module
target file (-t:module). The module includes including all '*.cs' files
- contained in the directory tree rooted at the path defined by the
+ contained in the directory tree rooted at the path defined by the
|g:ale_cs_mcsc_source| or |b:ale_cs_mcsc_source| variable.
- variable and all sub directories.
-
- The paths to search for additional assembly ('*.dll') files can be
- specified using the |g:ale_cs_mcsc_assembly_path| or
- |b:ale_cs_mcsc_assembly_path| variable. The additional assembly files ('*.dll')
- can be included through the |g:ale_cs_mcsc_assemblies| or
- |b:ale_cs_mcsc_assemblies| parameter.
-
- NOTE: mcs compiles sources in multiple phases. It stops compilation after
- finding errors during the current phase.
- For example assume a file named 'FileWithTypeError.cs' is edited and saved
- which contains a Type error. In the same directory tree a file named
- 'FileWithSyntaxError.cs' exists which contains a syntax error
- (eg.: a missing '{').
- In that case mcs and thus mcsc linter will stop after the syntax check phase is
- finished and report the syntax error in the file 'FileWithSyntaxError.cs'. The
- Type error in the file 'FileWithTypeError.cs is not seen jet.
- The only possibility to find the error in in 'FileWithTypeError.cs' is to fix
- the syntax error in 'FileWithSyntaxError.cs' first. After saving mcs will
- successfully pass the syntax check phase and advance to the next compilation
- phase at which the Type error hidden in 'FileWithTypeError.cs' is found and
- now can be indicated by ale.
+ variable and all sub directories.
+
+ The paths to search for additional assembly files can be specified using the
+ |g:ale_cs_mcsc_assembly_path| or |b:ale_cs_mcsc_assembly_path| variables.
+
+ NOTE: ALE will not any errors in files apart from syntax errors if any one
+ of the source files contains a syntax error. Syntax errors must be fixed
+ first before other errors will be shown.
+
g:ale_cs_mcsc_options *g:ale_cs_mcsc_options*
*b:ale_cs_mcsc_options*
Type: |String|
Default: `''`
- This parameter can be used to define additional flags and parameters independent
- of the source tree to be linted. The specified string is directly passed to
- mcs compiler without any further change.
+ This option can be set to pass additional arguments to the `mcs` compiler.
- For example, to add the dotnet package which is not added per default
+ For example, to add the dotnet package which is not added per default: >
let g:ale_cs_mcs_options = '-pkg:dotnet'
+<
+ NOTE: the `-unsafe` option is always passed to `mcs`.
- NOTE: The mcs -unsafe option is included implicitly per default. Therefore it
- is not necessary to specify it explicitly through the |g:ale_cs_mcsc_options|
- or |b:ale_cs_mcsc_options| parameter.
g:ale_cs_mcsc_source *g:ale_cs_mcsc_source*
*b:ale_cs_mcsc_source*
@@ -75,28 +63,39 @@ g:ale_cs_mcsc_source *g:ale_cs_mcsc_source*
Default: `''`
This variable defines the root path of the directory tree searched for the
- '*.cs' files to be linted. If empty the current working directory is used.
+ '*.cs' files to be linted. If this option is empty, the source file's
+ directory will be used.
NOTE: Currently it is not possible to specify sub directories and
directory sub trees which shall not be searched for *.cs files.
+
g:ale_cs_mcsc_assembly_path *g:ale_cs_mcsc_assembly_path*
*b:ale_cs_mcsc_assembly_path*
Type: |List|
Default: `[]`
This variable defines a list of path strings to be searched for external
- assembly ('*.dll') files. The list is passed to the mcs compiler using the
- '-lib:' flag.
+ assembly files. The list is passed to the mcs compiler using the `-lib:`
+ flag.
+
g:ale_cs_mcsc_assemblies *g:ale_cs_mcsc_assemblies*
*b:ale_cs_mcsc_assemblies*
Type: |List|
Default: `[]`
- This variable defines a list of external assembly (*.dll) files required
- by the mono mcs compiler to generate a valid module target. The list is
- passed the mcs compiler using the '-r:' flag.
+ This variable defines a list of external assembly (*.dll) files required
+ by the mono mcs compiler to generate a valid module target. The list is
+ passed the mcs compiler using the `-r:` flag.
+
+ For example: >
+
+ " Compile C# programs with the Unity engine DLL file on Mac.
+ let g:ale_cs_mcsc_assemblies = [
+ \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll',
+ \]
+<
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-elixir.txt b/doc/ale-elixir.txt
index a5318c0f..b7d4922e 100644
--- a/doc/ale-elixir.txt
+++ b/doc/ale-elixir.txt
@@ -14,4 +14,19 @@ g:ale_elixir_mix_options *g:ale_elixir_mix_options*
This variable can be changed to specify the mix executable.
===============================================================================
+dialyxir *ale-elixir-dialyxir*
+
+Dialyzer, a DIscrepancy AnaLYZer for ERlang programs.
+http://erlang.org/doc/man/dialyzer.html
+
+It can be used with elixir through dialyxir
+https://github.com/jeremyjh/dialyxir
+
+Options for dialyzer are not configurable by ale, but they are instead
+configured on your project's `mix.exs`.
+
+See https://github.com/jeremyjh/dialyxir#with-explaining-stuff for more
+information.
+
+===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-fish.txt b/doc/ale-fish.txt
new file mode 100644
index 00000000..8450b38a
--- /dev/null
+++ b/doc/ale-fish.txt
@@ -0,0 +1,14 @@
+===============================================================================
+ALE Fish Integration *ale-fish-options*
+
+Lints fish files using `fish -n`.
+
+Note that `fish -n` is not foolproof: it sometimes gives false positives or
+errors that are difficult to parse without more context. This integration skips
+displaying errors if an error message is not found.
+
+If ALE is not showing any errors but your file does not run as expected, run
+`fish -n <file.fish>` from the command line.
+
+===============================================================================
+ vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-fountain.txt b/doc/ale-fountain.txt
new file mode 100644
index 00000000..ac0870cf
--- /dev/null
+++ b/doc/ale-fountain.txt
@@ -0,0 +1,6 @@
+===============================================================================
+ALE Fountain Integration *ale-fountain-options*
+
+
+===============================================================================
+vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-gitcommit.txt b/doc/ale-gitcommit.txt
new file mode 100644
index 00000000..71813dd0
--- /dev/null
+++ b/doc/ale-gitcommit.txt
@@ -0,0 +1,42 @@
+===============================================================================
+ALE Git Commit Integration *ale-gitcommit-options*
+
+
+===============================================================================
+gitlint *ale-gitcommit-gitlint*
+
+g:ale_gitcommit_gitlint_executable *g:ale_gitcommit_gitlint_executable*
+ *b:ale_gitcommit_gitlint_executable*
+ Type: |String|
+ Default: `'gitlint'`
+
+ This variable can be changed to modify the executable used for gitlint.
+
+
+g:ale_gitcommit_gitlint_options *g:ale_gitcommit_gitlint_options*
+ *b:ale_gitcommit_gitlint_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to add command-line arguments to the gitlint
+ invocation.
+
+ For example, to dinamically set the gitlint configuration file path, you
+ may want to set >
+
+ let g:ale_gitcommit_gitlint_options = '-C /home/user/.config/gitlint.ini'
+<
+
+g:ale_gitcommit_gitlint_use_global *g:ale_gitcommit_gitlint_use_global*
+ *b:ale_gitcommit_gitlint_use_global*
+ Type: |Number|
+ Default: `0`
+
+ This variable controls whether or not ALE will search for gitlint in a
+ virtualenv directory first. If this variable is set to `1`, then ALE will
+ always use |g:ale_gitcommit_gitlint_executable| for the executable path.
+
+ Both variables can be set with `b:` buffer variables instead.
+
+===============================================================================
+ vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-glsl.txt b/doc/ale-glsl.txt
index fbadf03c..257de751 100644
--- a/doc/ale-glsl.txt
+++ b/doc/ale-glsl.txt
@@ -33,4 +33,24 @@ g:ale_glsl_glslang_options *g:ale_glsl_glslang_options*
===============================================================================
+glslls *ale-glsl-glslls*
+
+g:ale_glsl_glslls_executable *g:ale_glsl_glslls_executable*
+ *b:ale_glsl_glslls_executable*
+ Type: |String|
+ Default: `'glslls'`
+
+ This variable can be changed to change the path to glslls.
+ See |ale-integrations-local-executables|
+
+g:ale_glsl_glslls_logfile *g:ale_glsl_glslls_logfile*
+ *b:ale_glsl_glslls_logfile*
+ Type: |String|
+ Default: `''`
+
+ Setting this variable to a writeable file path will enable logging to that
+ file.
+
+
+===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-graphql.txt b/doc/ale-graphql.txt
index 5ceb5ca7..de412762 100644
--- a/doc/ale-graphql.txt
+++ b/doc/ale-graphql.txt
@@ -3,6 +3,14 @@ ALE GraphQL Integration *ale-graphql-options*
===============================================================================
+eslint *ale-graphql-eslint*
+
+The `eslint` linter for GraphQL uses the JavaScript options for `eslint`; see:
+|ale-javascript-eslint|.
+
+You will need the GraphQL ESLint plugin installed for this to work.
+
+===============================================================================
gqlint *ale-graphql-gqlint*
===============================================================================
diff --git a/doc/ale-haskell.txt b/doc/ale-haskell.txt
index 4a490efc..9fab39bf 100644
--- a/doc/ale-haskell.txt
+++ b/doc/ale-haskell.txt
@@ -3,6 +3,26 @@ ALE Haskell Integration *ale-haskell-options*
===============================================================================
+brittany *ale-haskell-brittany*
+
+g:ale_haskell_brittany_executable *g:ale_haskell_brittany_executable*
+ *b:ale_haskell_brittany_executable*
+ Type: |String|
+ Default: `'brittany'`
+
+ This variable can be changed to use a different executable for brittany.
+
+===============================================================================
+ghc *ale-haskell-ghc*
+
+g:ale_haskell_ghc_options *g:ale_haskell_ghc_options*
+ *b:ale_haskell_ghc_options*
+ Type: |String|
+ Default: `'-fno-code -v0'`
+
+ This variable can be changed to modify flags given to ghc.
+
+===============================================================================
hdevtools *ale-haskell-hdevtools*
g:ale_haskell_hdevtools_executable *g:ale_haskell_hdevtools_executable*
diff --git a/doc/ale-html.txt b/doc/ale-html.txt
index 14e705e0..c5d5afa5 100644
--- a/doc/ale-html.txt
+++ b/doc/ale-html.txt
@@ -32,6 +32,21 @@ g:ale_html_htmlhint_use_global *g:ale_html_htmlhint_use_global*
===============================================================================
tidy *ale-html-tidy*
+`tidy` is a console application which corrects and cleans up HTML and XML
+documents by fixing markup errors and upgrading legacy code to modern
+standards.
+
+Note:
+`/usr/bin/tidy` on macOS (installed by default) is too old. It was released
+on 31 Oct 2006. It does not consider modern HTML specs (HTML5) and shows
+outdated warnings. So |ale| ignores `/usr/bin/tidy` on macOS.
+
+To use `tidy` on macOS, please install the latest version with Homebrew:
+>
+ $ brew install tidy-html5
+<
+`/usr/local/bin/tidy` is installed.
+
g:ale_html_tidy_executable *g:ale_html_tidy_executable*
*b:ale_html_tidy_executable*
Type: |String|
diff --git a/doc/ale-java.txt b/doc/ale-java.txt
index 13decb41..0d2011f8 100644
--- a/doc/ale-java.txt
+++ b/doc/ale-java.txt
@@ -34,4 +34,24 @@ g:ale_java_javac_options *g:ale_java_javac_options*
===============================================================================
+google-java-format *ale-java-google-java-format*
+
+
+g:ale_java_google_java_format_executable
+ *g:ale_java_google_java_format_executable*
+ *b:ale_java_google_java_format_executable*
+ Type: |String|
+ Default: `'google-java-format'`
+
+ See |ale-integrations-local-executables|
+
+
+g:ale_java_google_java_format_options *g:ale_java_google_java_format_options*
+ *b:ale_java_google_java_format_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be set to pass additional options
+
+===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-javascript.txt b/doc/ale-javascript.txt
index 1b8e3f5d..f625fd7f 100644
--- a/doc/ale-javascript.txt
+++ b/doc/ale-javascript.txt
@@ -84,6 +84,17 @@ g:ale_javascript_flow_executable *g:ale_javascript_flow_executable*
See |ale-integrations-local-executables|
+g:ale_javascript_flow_use_home_config *g:ale_javascript_flow_use_home_config*
+ *b:ale_javascript_flow_use_home_config*
+ Type: |Number|
+ Default: `0`
+
+ When set to `1`, ALE will allow Flow to be executed with configuration files
+ from your home directory. ALE will not run Flow with home directory
+ configuration files by default, as doing so can lead to Vim consuming all of
+ your RAM and CPU power.
+
+
g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global*
*b:ale_javascript_flow_use_global*
Type: |Number|
@@ -93,6 +104,15 @@ g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global*
===============================================================================
+importjs *ale-javascript-importjs*
+
+g:ale_javascript_importjs_executable *g:ale_javascript_importjs_executable*
+ *b:ale_javascript_importjs_executable*
+ Type: |String|
+ Default: `'importjs'`
+
+
+===============================================================================
jscs *ale-javascript-jscs*
g:ale_javascript_jscs_executable *g:ale_javascript_jscs_executable*
@@ -156,23 +176,10 @@ g:ale_javascript_prettier_use_global *g:ale_javascript_prettier_use_global*
See |ale-integrations-local-executables|
-g:ale_javascript_prettier_use_local_config
- *g:ale_javascript_prettier_use_local_config*
- *b:ale_javascript_prettier_use_local_config*
- Type: |Number|
- Default: `0`
-
- This variable can be set to use the local prettier configuration file.
-
===============================================================================
prettier-eslint *ale-javascript-prettier-eslint*
-ALE supports `prettier-eslint` >= 4.2.0. Using lower version is not recommended
-because it cannot be configured to use the ESLint configuration file for input
-given via stdin. However ALE could be set up on your own risk with older
-versions with |g:ale_javascript_prettier_eslint_legacy|
-
g:ale_javascript_prettier_eslint_executable
*g:ale_javascript_prettier_eslint_executable*
*b:ale_javascript_prettier_eslint_executable*
@@ -199,14 +206,6 @@ g:ale_javascript_prettier_eslint_use_global
See |ale-integrations-local-executables|
-g:ale_javascript_prettier_eslint_legacy
- *g:ale_javascript_prettier_eslint_legacy*
- *b:ale_javascript_prettier_eslint_legacy*
- Type: |Number|
- Default: `0`
-
- Fallback option for `prettier-eslint` < 4.2.0
-
===============================================================================
prettier-standard *ale-javascript-prettier-standard*
diff --git a/doc/ale-json.txt b/doc/ale-json.txt
index 1d052d55..b8e13cdb 100644
--- a/doc/ale-json.txt
+++ b/doc/ale-json.txt
@@ -3,12 +3,78 @@ ALE JSON Integration *ale-json-options*
===============================================================================
+fixjson *ale-json-fixjson*
+
+fixjson is a JSON file fixer/formatter for humans using (relaxed) JSON5.
+It provides:
+
+- Pretty-prints JSON input
+- Fixes various failures while humans writing JSON
+ - Fixes trailing commas objects or arrays
+ - Fixes missing commas for elements of objects or arrays
+ - Adds quotes to keys in objects
+ - Newlines in strings
+ - Hex numbers
+ - Fixes single quotes to double quotes
+
+You can install it using npm:
+>
+ $ npm install -g fixjson
+<
+ALE provides fixjson integration as a fixer. See |ale-fix|.
+
+g:ale_json_fixjson_executable *g:ale_json_fixjson_executable*
+ *b:ale_json_fixjson_executable*
+
+ Type: |String|
+ Default: `'fixjson'`
+
+ The executable that will be run for fixjson.
+
+g:ale_json_fixjson_options *g:ale_json_fixjson_options*
+ *b:ale_json_fixjson_options*
+
+ Type: |String|
+ Default: `''`
+
+ This variable can add extra options to the command executed for running
+ fixjson.
+
+
+===============================================================================
jsonlint *ale-json-jsonlint*
There are no options available.
===============================================================================
+jq *ale-json-jq*
+
+g:ale_json_jq_executable *g:ale_json_jq_executable*
+ *b:ale_json_jq_executable*
+ Type: |String|
+ Default: `'jq'`
+
+ See |ale-integrations-local-executables|
+
+
+g:ale_json_jq_use_global *g:ale_json_jq_use_global*
+ *b:ale_json_jq_use_global*
+ Type: |Number|
+ Default: `0`
+
+ See |ale-integrations-local-executables|
+
+
+g:ale_json_jq_options *g:ale_json_jq_options*
+ *b:ale_json_jq_options*
+ Type: |String|
+ Default: `''`
+
+ This option can be changed to pass extra options to `jq`.
+
+
+===============================================================================
prettier *ale-json-prettier*
See |ale-javascript-prettier| for information about the available options.
diff --git a/doc/ale-lua.txt b/doc/ale-lua.txt
index 74d6b94a..f1286f89 100644
--- a/doc/ale-lua.txt
+++ b/doc/ale-lua.txt
@@ -1,6 +1,15 @@
===============================================================================
ALE Lua Integration *ale-lua-options*
+===============================================================================
+luac *ale-lua-luac*
+
+g:ale_lua_luac_executable *g:ale_lua_luac_executable*
+ *b:ale_lua_luac_executable*
+ Type: |String|
+ Default: `'luac'`
+
+ This variable can be changed to change the path to luac.
===============================================================================
luacheck *ale-lua-luacheck*
diff --git a/doc/ale-markdown.txt b/doc/ale-markdown.txt
index 3ce9619c..b59f0183 100644
--- a/doc/ale-markdown.txt
+++ b/doc/ale-markdown.txt
@@ -3,6 +3,12 @@ ALE Markdown Integration *ale-markdown-options*
===============================================================================
+prettier *ale-markdown-prettier*
+
+See |ale-javascript-prettier| for information about the available options.
+
+
+===============================================================================
write-good *ale-markdown-write-good*
See |ale-write-good-options|
diff --git a/doc/ale-perl.txt b/doc/ale-perl.txt
index 7611d30f..414856bd 100644
--- a/doc/ale-perl.txt
+++ b/doc/ale-perl.txt
@@ -1,6 +1,11 @@
===============================================================================
ALE Perl Integration *ale-perl-options*
+ALE offers a few ways to check Perl code. Checking code with `perl` is
+disabled by default, as `perl` code cannot be checked without executing it.
+
+See |g:ale_linters|.
+
===============================================================================
perl *ale-perl-perl*
diff --git a/doc/ale-proto.txt b/doc/ale-proto.txt
index 6a256380..734e23d5 100644
--- a/doc/ale-proto.txt
+++ b/doc/ale-proto.txt
@@ -20,5 +20,14 @@ protoc-gen-lint *ale-proto-protoc-gen-lint*
The linter is a plugin for the `protoc` binary. As long as the binary resides
in the system path, `protoc` will find it.
+g:ale_proto_protoc_gen_lint_options *g:ale_proto_protoc_gen_lint_options*
+
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to modify flags given to protoc. Note that the
+ directory of the linted file is always passed as an include path with '-I'
+ before any user-supplied options.
+
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-python.txt b/doc/ale-python.txt
index e34b548f..4d55e751 100644
--- a/doc/ale-python.txt
+++ b/doc/ale-python.txt
@@ -104,6 +104,16 @@ g:ale_python_mypy_executable *g:ale_python_mypy_executable*
See |ale-integrations-local-executables|
+g:ale_python_mypy_ignore_invalid_syntax
+ *g:ale_python_mypy_ignore_invalid_syntax*
+ *b:ale_python_mypy_ignore_invalid_syntax*
+ Type: |Number|
+ Default: `0`
+
+ When set to `1`, syntax error messages for mypy will be ignored. This option
+ can be used when running other Python linters which check for syntax errors,
+ as mypy can take a while to finish executing.
+
g:ale_python_mypy_options *g:ale_python_mypy_options*
*b:ale_python_mypy_options*
@@ -123,6 +133,46 @@ g:ale_python_mypy_use_global *g:ale_python_mypy_use_global*
===============================================================================
+prospector *ale-python-prospector*
+
+g:ale_python_prospector_executable *g:ale_python_prospector_executable*
+ *b:ale_python_prospector_executable*
+ Type: |String|
+ Default: `'prospector'`
+
+ See |ale-integrations-local-executables|
+
+
+g:ale_python_prospector_options *g:ale_python_prospector_options*
+ *b:ale_python_prospector_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to add command-line arguments to the prospector
+ invocation.
+
+ For example, to dynamically switch between programs targeting Python 2 and
+ Python 3, you may want to set >
+
+ let g:ale_python_prospector_executable = 'python3'
+ " or 'python' for Python 2
+ let g:ale_python_prospector_options = '--rcfile /path/to/.prospector.yaml'
+ " The virtualenv detection needs to be disabled.
+ let g:ale_python_prospector_use_global = 0
+
+ after making sure it's installed for the appropriate Python versions (e.g.
+ `python3 -m pip install --user prospector`).
+
+
+g:ale_python_prospector_use_global *g:ale_python_prospector_use_global*
+ *b:ale_python_prospector_use_global*
+ Type: |Number|
+ Default: `0`
+
+ See |ale-integrations-local-executables|
+
+
+===============================================================================
pycodestyle *ale-python-pycodestyle*
@@ -189,16 +239,26 @@ g:ale_python_pylint_use_global *g:ale_python_pylint_use_global*
See |ale-integrations-local-executables|
+
===============================================================================
pyls *ale-python-pyls*
g:ale_python_pyls_executable *g:ale_python_pyls_executable*
*b:ale_python_pyls_executable*
Type: |String|
- Default: `pyls`
+ Default: `'pyls'`
See |ale-integrations-local-executables|
+
+g:ale_python_pyls_use_global *g:ale_python_pyls_use_global*
+ *b:ale_python_pyls_use_global*
+ Type: |Number|
+ Default: `0`
+
+ See |ale-integrations-local-executables|
+
+
===============================================================================
yapf *ale-python-yapf*
diff --git a/doc/ale-ruby.txt b/doc/ale-ruby.txt
index c710a26e..94181ed4 100644
--- a/doc/ale-ruby.txt
+++ b/doc/ale-ruby.txt
@@ -58,10 +58,10 @@ g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link*
===============================================================================
rubocop *ale-ruby-rubocop*
-g:ale_ruby_rubocop_executable g:ale_ruby_rubocop_executable
- b:ale_ruby_rubocop_executable
+g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable*
+ *b:ale_ruby_rubocop_executable*
Type: String
- Default: 'rubocop'
+ Default: `'rubocop'`
Override the invoked rubocop binary. This is useful for running rubocop
from binstubs or a bundle.
@@ -76,4 +76,15 @@ g:ale_ruby_rubocop_options *g:ale_ruby_rubocop_options*
===============================================================================
+ruby *ale-ruby-ruby*
+
+g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable*
+ *b:ale_ruby_ruby_executable*
+ Type: String
+ Default: `'ruby'`
+
+ This variable can be changed to use a different executable for ruby.
+
+
+===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-rust.txt b/doc/ale-rust.txt
index 15ffef01..dad9ae66 100644
--- a/doc/ale-rust.txt
+++ b/doc/ale-rust.txt
@@ -53,12 +53,42 @@ g:ale_rust_cargo_use_check *g:ale_rust_cargo_use_check*
g:ale_rust_cargo_check_all_targets *g:ale_rust_cargo_check_all_targets*
*b:ale_rust_cargo_check_all_targets*
Type: |Number|
- Default: `1`
+ Default: `0`
When set to `1`, ALE will set the `--all-targets` option when `cargo check`
is used. See |g:ale_rust_cargo_use_check|,
+g:ale_rust_cargo_default_feature_behavior
+ *g:ale_rust_cargo_default_feature_behavior*
+ *b:ale_rust_cargo_default_feature_behavior*
+ Type: |String|
+ Default: `default`
+
+ When set to `none`, ALE will set the `--no-default-features` option when
+ invoking `cargo`. Only the features specified in
+ |g:ale_rust_cargo_include_features| will be included when performing the
+ lint check.
+
+ When set to `default`, ALE will instruct `cargo` to build all default
+ features specified in the project's `Cargo.toml` file, in addition to
+ including any additional features defined in
+ |g:ale_rust_cargo_include_features|.
+
+ When set to `all`, ALE will set the `--all-features` option when
+ invoking `cargo`, which will include all features defined in the project's
+ `Cargo.toml` file when performing the lint check.
+
+
+g:ale_rust_cargo_include_features *g:ale_rust_cargo_include_features*
+ *b:ale_rust_cargo_include_features*
+ Type: |String|
+ Default: `''`
+
+ When defined, ALE will set the `--features` option when invoking `cargo` to
+ perform the lint check. See |g:ale_rust_cargo_default_feature_behavior|.
+
+
===============================================================================
rls *ale-rust-rls*
@@ -70,9 +100,33 @@ g:ale_rust_rls_executable *g:ale_rust_rls_executable*
This variable can be modified to change the executable path for `rls`.
+g:ale_rust_rls_toolchain *g:ale_rust_rls_toolchain*
+ *b:ale_rust_rls_toolchain*
+ Type: |String|
+ Default: `'nightly'`
+
+ This option can be set to change the toolchain used for `rls`. Possible
+ values include `'nightly'`, `'beta'`, and `'stable'`.
+
+ The `rls` server will only be started once per executable.
+
+
===============================================================================
rustc *ale-rust-rustc*
+
+g:ale_rust_rustc_options *g:ale_rust_rustc_options*
+ *b:ale_rust_rustc_options*
+ Type: |String|
+ Default: `'-Z no-trans'`
+
+ The variable can be used to change the options passed to `rustc`.
+
+ `-Z no-trans` should only work with nightly builds of Rust. Be careful when
+ setting the options, as running `rustc` could execute code or generate
+ binary files.
+
+
g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes*
*b:ale_rust_ignore_error_codes*
Type: |List| of |String|s
diff --git a/doc/ale-solidity.txt b/doc/ale-solidity.txt
index 3dea123e..4b74a27a 100644
--- a/doc/ale-solidity.txt
+++ b/doc/ale-solidity.txt
@@ -3,6 +3,14 @@ ALE Solidity Integration *ale-solidity-options*
===============================================================================
+solhint *ale-solidity-solhint*
+
+ Solhint should work out-of-the-box. You can further configure it using a
+ `.solihint.json` file. See https://github.com/protofire/solhint for more
+ information.
+
+
+===============================================================================
solium *ale-solidity-solium*
Use of Solium linter for Solidity source code requires a .soliumrc.json
diff --git a/doc/ale-typescript.txt b/doc/ale-typescript.txt
index d31ac71e..d83a2dfe 100644
--- a/doc/ale-typescript.txt
+++ b/doc/ale-typescript.txt
@@ -5,7 +5,7 @@ ALE TypeScript Integration *ale-typescript-options*
===============================================================================
eslint *ale-typescript-eslint*
-Becauase of how TypeScript compiles code to JavaScript and how interrelated
+Because of how TypeScript compiles code to JavaScript and how interrelated
the two languages are, the `eslint` linter for TypeScript uses the JavaScript
options for `eslint` too. See: |ale-javascript-eslint|.
diff --git a/doc/ale.txt b/doc/ale.txt
index be577688..e0002f77 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -10,7 +10,9 @@ CONTENTS *ale-contents*
2. Supported Languages & Tools..........|ale-support|
3. Linting..............................|ale-lint|
4. Fixing Problems......................|ale-fix|
- 5. Completion...........................|ale-completion|
+ 5. Language Server Protocol Support.....|ale-lsp|
+ 5.1 Completion........................|ale-completion|
+ 5.2 Go To Definition..................|ale-go-to-definition|
6. Global Options.......................|ale-options|
6.1 Highlights........................|ale-highlights|
6.2 Options for write-good Linter.....|ale-write-good-options|
@@ -55,6 +57,7 @@ CONTENTS *ale-contents*
hadolint............................|ale-dockerfile-hadolint|
elixir................................|ale-elixir-options|
mix.................................|ale-elixir-mix|
+ dialyxir............................|ale-elixir-dialyxir|
elm...................................|ale-elm-options|
elm-format..........................|ale-elm-elm-format|
elm-make............................|ale-elm-elm-make|
@@ -62,20 +65,28 @@ CONTENTS *ale-contents*
erlc................................|ale-erlang-erlc|
syntaxerl...........................|ale-erlang-syntaxerl|
eruby.................................|ale-eruby-options|
+ fish..................................|ale-fish-options|
fortran...............................|ale-fortran-options|
gcc.................................|ale-fortran-gcc|
+ fountain..............................|ale-fountain-options|
fusionscript..........................|ale-fuse-options|
fusion-lint.........................|ale-fuse-fusionlint|
+ git commit............................|ale-gitcommit-options|
+ gitlint.............................|ale-gitcommit-gitlint|
glsl..................................|ale-glsl-options|
glslang.............................|ale-glsl-glslang|
+ glslls..............................|ale-glsl-glslls|
go....................................|ale-go-options|
gofmt...............................|ale-go-gofmt|
gometalinter........................|ale-go-gometalinter|
graphql...............................|ale-graphql-options|
+ eslint..............................|ale-graphql-eslint|
gqlint..............................|ale-graphql-gqlint|
handlebars............................|ale-handlebars-options|
ember-template-lint.................|ale-handlebars-embertemplatelint|
haskell...............................|ale-haskell-options|
+ brittany............................|ale-haskell-brittany|
+ ghc.................................|ale-haskell-ghc|
hdevtools...........................|ale-haskell-hdevtools|
hfmt................................|ale-haskell-hfmt|
stack-build.........................|ale-haskell-stack-build|
@@ -88,9 +99,11 @@ CONTENTS *ale-contents*
java..................................|ale-java-options|
checkstyle..........................|ale-java-checkstyle|
javac...............................|ale-java-javac|
+ google-java-format..................|ale-java-google-java-format|
javascript............................|ale-javascript-options|
eslint..............................|ale-javascript-eslint|
flow................................|ale-javascript-flow|
+ importjs............................|ale-javascript-importjs|
jscs................................|ale-javascript-jscs|
jshint..............................|ale-javascript-jshint|
prettier............................|ale-javascript-prettier|
@@ -99,7 +112,9 @@ CONTENTS *ale-contents*
standard............................|ale-javascript-standard|
xo..................................|ale-javascript-xo|
json..................................|ale-json-options|
+ fixjson.............................|ale-json-fixjson|
jsonlint............................|ale-json-jsonlint|
+ jq..................................|ale-json-jq|
prettier............................|ale-json-prettier|
kotlin................................|ale-kotlin-options|
kotlinc.............................|ale-kotlin-kotlinc|
@@ -113,8 +128,10 @@ CONTENTS *ale-contents*
llvm..................................|ale-llvm-options|
llc.................................|ale-llvm-llc|
lua...................................|ale-lua-options|
+ luac................................|ale-lua-luac|
luacheck............................|ale-lua-luacheck|
markdown..............................|ale-markdown-options|
+ prettier............................|ale-markdown-prettier|
write-good..........................|ale-markdown-write-good|
nroff.................................|ale-nroff-options|
write-good..........................|ale-nroff-write-good|
@@ -150,6 +167,7 @@ CONTENTS *ale-contents*
flake8..............................|ale-python-flake8|
isort...............................|ale-python-isort|
mypy................................|ale-python-mypy|
+ prospector..........................|ale-python-prospector|
pycodestyle.........................|ale-python-pycodestyle|
pylint..............................|ale-python-pylint|
pyls................................|ale-python-pyls|
@@ -167,6 +185,7 @@ CONTENTS *ale-contents*
rails_best_practices................|ale-ruby-rails_best_practices|
reek................................|ale-ruby-reek|
rubocop.............................|ale-ruby-rubocop|
+ ruby................................|ale-ruby-ruby|
rust..................................|ale-rust-options|
cargo...............................|ale-rust-cargo|
rls.................................|ale-rust-rls|
@@ -186,6 +205,7 @@ CONTENTS *ale-contents*
sml...................................|ale-sml-options|
smlnj...............................|ale-sml-smlnj|
solidity..............................|ale-solidity-options|
+ solhint.............................|ale-solidity-solhint|
solium..............................|ale-solidity-solium|
spec..................................|ale-spec-options|
rpmlint.............................|ale-spec-rpmlint|
@@ -265,12 +285,12 @@ Notes:
* ASM: `gcc`
* Ansible: `ansible-lint`
* API Blueprint: `drafter`
-* AsciiDoc: `proselint`, `write-good`, `redpen`
+* AsciiDoc: `alex`!!, `proselint`, `redpen`, `write-good`
* Awk: `gawk`
* Bash: `shell` (-n flag), `shellcheck`, `shfmt`
* Bourne Shell: `shell` (-n flag), `shellcheck`, `shfmt`
* C: `cppcheck`, `cpplint`!!, `gcc`, `clang`, `clangtidy`!!, `clang-format`
-* C++ (filetype cpp): `clang`, `clangcheck`!!, `clangtidy`!!, `cppcheck`, `cpplint`!!, `gcc`, `clang-format`
+* C++ (filetype cpp): `clang`, `clangcheck`!!, `clangtidy`!!, `clang-format`, `cppcheck`, `cpplint`!!, `gcc`
* CUDA: `nvcc`!!
* C#: `mcs`, `mcsc`!!
* Chef: `foodcritic`
@@ -284,48 +304,51 @@ Notes:
* Dafny: `dafny`!!
* Dart: `dartanalyzer`!!, `language_server`
* Dockerfile: `hadolint`
-* Elixir: `credo`, `dogma`!!
+* Elixir: `credo`, `dialyxir`, `dogma`!!
* Elm: `elm-format, elm-make`
* Erb: `erb`, `erubi`, `erubis`
* Erlang: `erlc`, `SyntaxErl`
+* Fish: `fish` (-n flag)
* Fortran: `gcc`
+* Fountain: `proselint`
* FusionScript: `fusion-lint`
-* GLSL: glslang
-* Go: `gofmt`, `goimports`, `go vet`, `golint`, `gometalinter`!!, `go build`!!, `gosimple`!!, `staticcheck`!!
-* GraphQL: `gqlint`
+* Git Commit Messages: `gitlint`
+* GLSL: glslang, `glslls`
+* Go: `gofmt`, `goimports`, `go vet`, `golint`, `gotype`, `gometalinter`!!, `go build`!!, `gosimple`!!, `staticcheck`!!
+* GraphQL: `eslint`, `gqlint`
* Haml: `haml-lint`
* Handlebars: `ember-template-lint`
-* Haskell: `ghc`, `stack-ghc`, `stack-build`!!, `ghc-mod`, `stack-ghc-mod`, `hlint`, `hdevtools`, `hfmt`
-* HTML: `HTMLHint`, `proselint`, `tidy`, `write-good`
+* Haskell: `brittany`, `ghc`, `stack-ghc`, `stack-build`!!, `ghc-mod`, `stack-ghc-mod`, `hlint`, `hdevtools`, `hfmt`
+* HTML: `alex`!!, `HTMLHint`, `proselint`, `tidy`, `write-good`
* Idris: `idris`
-* Java: `checkstyle`, `javac`
-* JavaScript: `eslint`, `flow`, `jscs`, `jshint`, `prettier`, `prettier-eslint` >= 4.2.0, `prettier-standard`, `standard`, `xo`
-* JSON: `jsonlint`, `prettier`
+* Java: `checkstyle`, `javac`, `google-java-format`
+* JavaScript: `eslint`, `flow`, `jscs`, `jshint`, `prettier`, `prettier-eslint`, `prettier-standard`, `standard`, `xo`
+* JSON: `fixjson`, `jsonlint`, `jq`, `prettier`
* Kotlin: `kotlinc`, `ktlint`
-* LaTeX (tex): `chktex`, `lacheck`, `proselint`, `write-good`, `redpen`
+* LaTeX (tex): `alex`!!, `chktex`, `lacheck`, `proselint`, `redpen`, `vale`, `write-good`
* Less: `lessc`, `prettier`, `stylelint`
* LLVM: `llc`
-* Lua: `luacheck`
-* Mail: `proselint`, `vale`
+* Lua: `luac`, `luacheck`
+* Mail: `alex`!!, `proselint`, `vale`
* Make: `checkmake`
-* Markdown: `mdl`, `proselint`, `vale`, `remark-lint`, `write-good`, `redpen`
+* Markdown: `alex`!!, `mdl`, `prettier`, `proselint`, `redpen`, `remark-lint`, `vale`, `write-good`
* MATLAB: `mlint`
* Nim: `nim check`!!
* nix: `nix-instantiate`
-* nroff: `proselint`, `write-good`
+* nroff: `alex`!!, `proselint`, `write-good`
* Objective-C: `clang`
* Objective-C++: `clang`
* OCaml: `merlin` (see |ale-ocaml-merlin|), `ols`
* Perl: `perl -c`, `perl-critic`
* PHP: `hack`, `hackfmt`, `langserver`, `phan`, `php -l`, `phpcs`, `phpmd`, `phpstan`, `phpcbf`
-* Pod: `proselint`, `write-good`
+* Pod: `alex`!!, `proselint`, `write-good`
* proto: `protoc-gen-lint`
* Pug: `pug-lint`
* Puppet: `puppet`, `puppet-lint`
-* Python: `autopep8`, `flake8`, `isort`, `mypy`, `pycodestyle`, `pyls`, `pylint`!!, `yapf`
+* Python: `autopep8`, `flake8`, `isort`, `mypy`, `prospector`, `pycodestyle`, `pyls`, `pylint`!!, `yapf`
* R: `lintr`
* ReasonML: `merlin`, `ols`, `refmt`
-* reStructuredText: `proselint`, `rstcheck`, `write-good`, `redpen`
+* reStructuredText: `alex`!!, `proselint`, `redpen`, `rstcheck`, `vale`, `write-good`
* Re:VIEW: `redpen`
* RPM spec: `rpmlint`
* Ruby: `brakeman`, `rails_best_practices`!!, `reek`, `rubocop`, `ruby`
@@ -335,20 +358,20 @@ Notes:
* Scala: `scalac`, `scalastyle`
* Slim: `slim-lint`
* SML: `smlnj`
-* Solidity: `solium`
+* Solidity: `solhint, solium`
* Stylus: `stylelint`
* SQL: `sqlint`
* Swift: `swiftlint`, `swiftformat`
* Tcl: `nagelfar`!!
* Terraform: `tflint`
-* Texinfo: `proselint`, `write-good`
-* Text^: `proselint`, `vale`, `write-good`, `redpen`
+* Texinfo: `alex`!!, `proselint`, `write-good`
+* Text^: `alex`!!, `proselint`, `vale`, `write-good`, `redpen`
* Thrift: `thrift`
* TypeScript: `eslint`, `prettier`, `tslint`, `tsserver`, `typecheck`
* Verilog: `iverilog`, `verilator`
* Vim: `vint`
-* Vim help^: `proselint`, `write-good`
-* XHTML: `proselint`, `write-good`
+* Vim help^: `alex`!!, `proselint`, `write-good`
+* XHTML: `alex`!!, `proselint`, `write-good`
* XML: `xmllint`
* YAML: `swaglint`, `yamllint`
@@ -459,6 +482,15 @@ are supported for running the commands.
for commands which need to modify some file on disk in
order to fix files.
+ `process_with` An optional callback for post-processing.
+
+ The callback must accept two arguments,
+ `(buffer, output)`, which can be used for converting
+ the output from a command into lines to replace the
+ buffer's contents with.
+
+ A |List| of |String|s must be returned.
+
`chain_with` An optional key for defining a callback to call next.
The callback must accept two or three arguments,
@@ -479,6 +511,18 @@ are supported for running the commands.
that are cached. An empty List will be passed to the
next callback in the chain for the `output`.
+ `read_buffer` An optional key for disabling reading the buffer.
+
+ When set to `0`, ALE will not pipe the buffer's data
+ into the command via stdin. This option is ignored and
+ the buffer is not read when `read_temporary_file` is
+ `1`.
+
+ This option defaults to `0` when `chain_with` is defined
+ as anything other than `v:null`, and defaults to `1`
+ otherwise. This is so earlier commands in a chain
+ do not receive the buffer's data by default.
+
*ale-fix-configuration*
Synchronous functions and asynchronous jobs will be run in a sequence for
@@ -524,17 +568,30 @@ by default.
===============================================================================
-5. Completion *ale-completion*
+5. Language Server Protocol Support *ale-lsp*
+
+ALE offers some support for integrating with Language Server Protocol (LSP)
+servers. LSP linters can be used in combination with any other linter, and
+will automatically connect to LSP servers when needed. ALE also supports
+`tsserver` for TypeScript, which uses a different but very similar protocol.
+
+ALE supports the following LSP/tsserver features.
-ALE offers some limited support for automatic completion of code while you
-type. Completion is only supported via Language Server Protocol servers which
-ALE can connect to for linting, which can offer good built-in support for
-suggesting completion information. ALE will only suggest symbols for
-completion for LSP linters that are enabled.
+1. Diagnostics/linting - Enabled via selecting linters as usual.
+2. Completion (Only for tsserver)
+3. Go to definition
+
+
+-------------------------------------------------------------------------------
+5.1 Completion *ale-completion*
NOTE: At the moment, only `tsserver` for TypeScript code is supported for
completion.
+ALE offers limited support for automatic completion of code while you type.
+Completion is only supported while a least one LSP linter is enabled. ALE
+will only suggest symbols provided by the LSP servers.
+
Suggestions will be made while you type after completion is enabled.
Completion can be enabled by setting |g:ale_completion_enabled| to `1`. The
delay for completion can be configured with |g:ale_completion_delay|. ALE will
@@ -542,6 +599,17 @@ only suggest so many possible matches for completion. The maximum number of
items can be controlled with |g:ale_completion_max_suggestions|.
+-------------------------------------------------------------------------------
+5.2 Go To Definition *ale-go-to-definition*
+
+ALE supports jumping to the files and locations where symbols are defined
+through any enabled LSP linters. The locations ALE will jump to depend on the
+information returned by LSP servers. The following commands are supported:
+
+|ALEGoToDefinition| - Open the definition of the symbol under the cursor.
+|ALEGoToDefinitionInTab| - The same, but for opening the file in a new tab.
+
+
===============================================================================
6. Global Options *ale-options*
@@ -556,6 +624,19 @@ g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled*
|airline#extensions#ale#warning_symbol|.
+g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures*
+
+ Type: |Number|
+ Default: `0`
+
+ When set to `1`, ALE will cache failing executable checks for linters. By
+ default, only executable checks which succeed will be cached.
+
+ When this option is set to `1`, Vim will have to be restarted after new
+ executables are installed for ALE to be able to run linters for those
+ executables.
+
+
g:ale_change_sign_column_color *g:ale_change_sign_column_color*
Type: |Number|
@@ -575,6 +656,39 @@ g:ale_change_sign_column_color *g:ale_change_sign_column_color*
windows.
+g:ale_command_wrapper *g:ale_command_wrapper*
+ *b:ale_command_wrapper*
+ Type: |String|
+ Default: `''`
+
+ An option for wrapping all commands that ALE runs, for linters, fixers,
+ and LSP commands. This option can be set globally, or for specific buffers.
+
+ This option can be used to apply nice to all commands. For example: >
+
+ " Prefix all commands with nice.
+ let g:ale_command_wrapper = 'nice -n5'
+<
+ Use the |ALEInfo| command to view the commands that are run. All of the
+ arguments for commands will be put on the end of the wrapped command by
+ default. A `%*` marker can be used to spread the arguments in the wrapped
+ command. >
+
+ " Has the same effect as the above.
+ let g:ale_command_wrapper = 'nice -n5 %*'
+<
+
+ For passing all of the arguments for a command as one argument to a wrapper,
+ `%@` can be used instead. >
+
+ " Will result in say: /bin/bash -c 'other-wrapper -c "some command" -x'
+ let g:ale_command_wrapper = 'other-wrapper -c %@ -x'
+<
+ For commands including `&&` or `;`, only the last command in the list will
+ be passed to the wrapper. `&&` is most commonly used in ALE to change the
+ working directory before running a command.
+
+
g:ale_completion_delay *g:ale_completion_delay*
Type: |Number|
@@ -967,6 +1081,7 @@ g:ale_linters *g:ale_linters*
\ 'csh': ['shell'],
\ 'go': ['gofmt', 'golint', 'go vet'],
\ 'help': [],
+ \ 'perl': ['perlcritic'],
\ 'python': ['flake8', 'mypy', 'pylint'],
\ 'rust': ['cargo'],
\ 'spec': [],
@@ -1328,7 +1443,7 @@ g:ale_virtualenv_dir_names *g:ale_virtualenv_dir_names*
b:ale_virtualenv_dir_names *b:ale_virtualenv_dir_names*
Type: |List|
- Default: `['.env', 'env', 've-py3', 've', 'virtualenv']`
+ Default: `['.env', 'env', 've-py3', 've', 'virtualenv', 'venv']`
A list of directory names to be used when searching upwards from Python
files to discover virtulenv directories with.
@@ -1338,6 +1453,18 @@ b:ale_virtualenv_dir_names *b:ale_virtualenv_dir_names*
directory containing the Python file to find virtualenv paths.
+g:ale_warn_about_trailing_blank_lines *g:ale_warn_about_trailing_blank_lines*
+b:ale_warn_about_trailing_blank_lines *b:ale_warn_about_trailing_blank_lines*
+
+ Type: |Number|
+ Default: `1`
+
+ When this option is set to `1`, warnings about trailing blank lines will be
+ shown.
+
+ This option behaves similarly to |g:ale_warn_about_trailing_whitespace|.
+
+
g:ale_warn_about_trailing_whitespace *g:ale_warn_about_trailing_whitespace*
b:ale_warn_about_trailing_whitespace *b:ale_warn_about_trailing_whitespace*
@@ -1345,10 +1472,9 @@ b:ale_warn_about_trailing_whitespace *b:ale_warn_about_trailing_whitespace*
Default: `1`
When this option is set to `1`, warnings relating to trailing whitespace on
- lines will be shown in signs, the loclist, and echo messages, etc. If these
- errors are found to be too irritating while edits are being made, and you
- have configured Vim to automatically remove trailing whitespace, then you
- can disable these warnings for some linters by setting this option to `0`.
+ lines will be shown. If warnings are too irritating while editing buffers,
+ and you have configured Vim to automatically remove trailing whitespace,
+ you can disable these warnings by setting this option to `0`.
Not all linters may respect this option. If a linter does not, please file a
bug report, and it may be possible to add such support.
@@ -1555,6 +1681,22 @@ ALEFixSuggest *ALEFixSuggest*
See |ale-fix| for more information.
+ALEGoToDefinition *ALEGoToDefinition*
+
+ Jump to the definition of a symbol under the cursor using the enabled LSP
+ linters for the buffer. ALE will jump to a definition if an LSP server
+ provides a location to jump to. Otherwise, ALE will do nothing.
+
+ A plug mapping `<Plug>(ale_go_to_definition)` is defined for this command.
+
+
+ALEGoToDefinitionInTab *ALEGoToDefinitionInTab*
+
+ The same as |ALEGoToDefinition|, but opens results in a new tab.
+
+ A plug mapping `<Plug>(ale_go_to_definition_in_tab)` is defined for this
+ command.
+
*:ALELint*
ALELint *ALELint*
@@ -1768,7 +1910,8 @@ ale#engine#ManageDirectory(buffer, directory) *ale#engine#ManageDirectory()*
files.
-ale#fix#registry#Add(name, func, filetypes, desc) *ale#fix#registry#Add()*
+ale#fix#registry#Add(name, func, filetypes, desc, [aliases])
+ *ale#fix#registry#Add()*
Given a |String| `name` for a name to add to the registry, a |String| `func`
for a function name, a |List| `filetypes` for a list of filetypes to
@@ -1778,6 +1921,11 @@ ale#fix#registry#Add(name, func, filetypes, desc) *ale#fix#registry#Add()*
The `name` can then be used for |g:ale_fixers| in place of the function
name, and suggested for fixing files.
+ An optional |List| of |String|s for aliases can be passed as the `aliases`
+ argument. These aliases can also be used for looking up a fixer function.
+ ALE will search for fixers in the registry first by `name`, then by their
+ `aliases`.
+
ale#linter#Define(filetype, linter) *ale#linter#Define()*
@@ -1949,7 +2097,7 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
the file on disk, including |g:ale_lint_on_enter|
and |g:ale_lint_on_save|. Linters with this option
set to `1` will also be run when linters are run
- manually, per |ALELint-autocmd|.
+ manually, per |ALELintPost-autocmd|.
When this option is set to `1`, `read_buffer` will
be set automatically to `0`. The two options cannot
@@ -2083,20 +2231,34 @@ ale#statusline#Count(buffer) *ale#statusline#Count()*
`total` -> The total number of problems.
-ALELint *ALELint-autocmd*
+ALELintPre *ALELintPre-autocmd*
+ALELintPost *ALELintPost-autocmd*
- This |User| autocommand is triggered by ALE every time it completes a lint
- cycle. It can be used to update statuslines, send notifications, or
- complete any other operation that needs to be done after linting has been
- performed.
-
- For example, you can echo a message when linting is complete like so:
- >
- autocmd User ALELint unsilent echom 'ALE run!'
-<
+ These |User| autocommands are triggered before and after every lint cycle.
+ They can be used to update statuslines, send notifications, etc.
The autocmd commands are run with |:silent|, so |:unsilent| is required for
echoing messges.
+ For example to change the color of the statusline while the linter is
+ running:
+>
+ augroup ALEProgress
+ autocmd!
+ autocmd User ALELintPre hi Statusline ctermfg=darkgrey
+ autocmd User ALELintPOST hi Statusline ctermfg=NONE
+ augroup end
+<
+ Or to display the progress in the statusline:
+>
+ let s:ale_running = 0
+ let l:stl .= '%{s:ale_running ? "[linting]" : ""}'
+ augroup ALEProgress
+ autocmd!
+ autocmd User ALELintPre let s:ale_running = 1 | redrawstatus
+ autocmd User ALELintPost let s:ale_running = 0 | redrawstatus
+ augroup end
+<
+
===============================================================================
10. Special Thanks *ale-special-thanks*