summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ale-bats.txt13
-rw-r--r--doc/ale-c.txt24
-rw-r--r--doc/ale-cloudformation.txt36
-rw-r--r--doc/ale-cpp.txt24
-rw-r--r--doc/ale-go.txt19
-rw-r--r--doc/ale-java.txt63
-rw-r--r--doc/ale-javascript.txt2
-rw-r--r--doc/ale-python.txt60
-rw-r--r--doc/ale-rust.txt28
-rw-r--r--doc/ale-sh.txt23
-rw-r--r--doc/ale-supported-languages-and-tools.txt12
-rw-r--r--doc/ale-terraform.txt19
-rw-r--r--doc/ale-verilog.txt18
-rw-r--r--doc/ale-vhdl.txt75
-rw-r--r--doc/ale-vim.txt55
-rw-r--r--doc/ale-zig.txt33
-rw-r--r--doc/ale.txt189
17 files changed, 589 insertions, 104 deletions
diff --git a/doc/ale-bats.txt b/doc/ale-bats.txt
new file mode 100644
index 00000000..cf2199ec
--- /dev/null
+++ b/doc/ale-bats.txt
@@ -0,0 +1,13 @@
+===============================================================================
+ALE Bats Integration *ale-bats-options*
+
+
+===============================================================================
+shellcheck *ale-bats-shellcheck*
+
+The `shellcheck` linter for Bats uses the sh options for `shellcheck`; see:
+|ale-sh-shellcheck|.
+
+
+===============================================================================
+ vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale-c.txt b/doc/ale-c.txt
index c9eb79db..efc26f93 100644
--- a/doc/ale-c.txt
+++ b/doc/ale-c.txt
@@ -60,6 +60,30 @@ g:ale_c_parse_makefile *g:ale_c_parse_makefile*
===============================================================================
+astyle *ale-c-astyle*
+
+g:ale_c_astyle_executable *g:ale_c_astyle_executable*
+ *b:ale_c_astyle_executable*
+ Type: |String|
+ Default: `'astyle'`
+
+ This variable can be changed to use a different executable for astyle.
+
+
+g:ale_c_astyle_project_options *g:ale_c_astyle_project_options*
+ *b:ale_c_astyle_project_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to use an option file for project level
+ configurations. Provide only the filename of the option file that should be
+ present at the project's root directory.
+
+ For example, if .astylrc is specified, the file is searched in the parent
+ directories of the source file's directory.
+
+
+===============================================================================
clang *ale-c-clang*
g:ale_c_clang_executable *g:ale_c_clang_executable*
diff --git a/doc/ale-cloudformation.txt b/doc/ale-cloudformation.txt
index 59c6af06..9724403b 100644
--- a/doc/ale-cloudformation.txt
+++ b/doc/ale-cloudformation.txt
@@ -7,8 +7,40 @@ cfn-python-lint *ale-cloudformation-cfn-python-lint*
cfn-python-lint is a linter for AWS CloudFormation template file.
-https://github.com/awslabs/cfn-python-lint
+Website: https://github.com/awslabs/cfn-python-lint
+Installation
+-------------------------------------------------------------------------------
+
+
+Install cfn-python-lint using either pip or brew: >
+
+`pip install cfn-lint`. If pip is not available, run
+`python setup.py clean --all` then `python setup.py install`.
+
+ Homebrew (macOS):
+
+`brew install cfn-lint`
+
+<
+Configuration
+-------------------------------------------------------------------------------
+
+To get cloudformation linter to work on only CloudFormation files we must set
+the buffer |filetype| to yaml.cloudformation.
+This causes ALE to lint the file with linters configured for cloudformation and
+yaml files.
+
+Just put:
+
+>
+
+ au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation
+
+<
+
+on `ftdetect/cloudformation.vim`
+
+This will get both cloudformation and yaml linters to work on any file with `.template.yaml` ext.
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
-
diff --git a/doc/ale-cpp.txt b/doc/ale-cpp.txt
index ead3be28..fbe31370 100644
--- a/doc/ale-cpp.txt
+++ b/doc/ale-cpp.txt
@@ -14,6 +14,30 @@ The following C options also apply to some C++ linters too.
===============================================================================
+astyle *ale-cpp-astyle*
+
+g:ale_cpp_astyle_executable *g:ale_cpp_astyle_executable*
+ *b:ale_cpp_astyle_executable*
+ Type: |String|
+ Default: `'astyle'`
+
+ This variable can be changed to use a different executable for astyle.
+
+
+g:ale_cpp_astyle_project_options *g:ale_cpp_astyle_project_options*
+ *b:ale_cpp_astyle_project_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to use an option file for project level
+ configurations. Provide only the filename of the option file that should be
+ present at the project's root directory.
+
+ For example, if .astylrc is specified, the file is searched in the parent
+ directories of the source file's directory.
+
+
+===============================================================================
clang *ale-cpp-clang*
g:ale_cpp_clang_executable *g:ale_cpp_clang_executable*
diff --git a/doc/ale-go.txt b/doc/ale-go.txt
index be53783e..5c0791bc 100644
--- a/doc/ale-go.txt
+++ b/doc/ale-go.txt
@@ -220,6 +220,25 @@ g:ale_go_govet_options *g:ale_go_govet_options*
===============================================================================
+revive *ale-go-revive*
+
+g:ale_go_revive_executable *g:ale_go_revive_executable*
+ *b:ale_go_revive_executable*
+ Type: |String|
+ Default: `'revive'`
+
+ This variable can be set to change the revive executable path.
+
+
+g:ale_go_revive_options *g:ale_go_revive_options*
+ *b:ale_go_revive_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be set to pass additional options to the revive
+
+
+===============================================================================
staticcheck *ale-go-staticcheck*
g:ale_go_staticcheck_options *g:ale_go_staticcheck_options*
diff --git a/doc/ale-java.txt b/doc/ale-java.txt
index 32f0e6eb..0debc1af 100644
--- a/doc/ale-java.txt
+++ b/doc/ale-java.txt
@@ -46,7 +46,7 @@ javac *ale-java-javac*
g:ale_java_javac_classpath *g:ale_java_javac_classpath*
*b:ale_java_javac_classpath*
- Type: |String|
+ Type: |String| or |List|
Default: `''`
This variable can be set to change the global classpath for Java.
@@ -67,6 +67,30 @@ g:ale_java_javac_options *g:ale_java_javac_options*
This variable can be set to pass additional options to javac.
+g:ale_java_javac_sourcepath *g:ale_java_javac_sourcepath*
+ *b:ale_java_javac_sourcepath*
+ Type: |String| or |List|
+ Default: `''`
+
+This variable can set multiple source code paths, the source code path is a
+relative path (relative to the project root directory).
+
+Example:
+
+String type:
+Note that the unix system separator is a colon(`:`) window system
+is a semicolon(`;`).
+>
+ let g:ale_java_javac_sourcepath = 'build/gen/source/xx/main:build/gen/source'
+<
+List type:
+>
+ let g:ale_java_javac_sourcepath = [
+ \ 'build/generated/source/querydsl/main',
+ \ 'target/generated-sources/source/querydsl/main'
+ \ ]
+<
+
===============================================================================
google-java-format *ale-java-google-java-format*
@@ -107,18 +131,26 @@ javalsp *ale-java-javalsp*
To enable Java LSP linter you need to download and build the vscode-javac
language server from https://github.com/georgewfraser/java-language-server.
-Simply download the source code and then build a distribution:
- scripts/link_mac.sh
+Before building the language server you need to install pre-requisites: npm,
+maven, and protobuf. You also need to have Java 13 and JAVA_HOME properly
+set.
+
+After downloading the source code and installing all pre-requisites you can
+build the language server with the included build.sh script:
+
+ scripts/build.sh
-or
+This will create launch scripts for Linux, Mac, and Windows in the dist folder
+within the repo:
- scripts/link_windows.sh
+ - lang_server_linux.sh
+ - lang_server_mac.sh
+ - lang_server_windows.sh
-This generates a dist/mac or dist/windows directory that contains the
-language server. To let ALE use this language server you need to set the
+To let ALE use this language server you need to set the
g:ale_java_javalsp_executable variable to the absolute path of the launcher
-executable in this directory.
+executable for your platform.
g:ale_java_javalsp_executable *g:ale_java_javalsp_executable*
*b:ale_java_javalsp_executable*
@@ -128,7 +160,7 @@ g:ale_java_javalsp_executable *g:ale_java_javalsp_executable*
This variable must be set to the absolute path of the language server launcher
executable. For example:
>
- let g:ale_java_javalsp_executable=/java-language-server/dist/mac/bin/launcher
+ let g:ale_java_javalsp_executable=/java-language-server/dist/lang_server_linux.sh
<
g:ale_java_javalsp_config *g:ale_java_javalsp_config*
@@ -140,7 +172,7 @@ The javalsp linter automatically detects external depenencies for Maven and
Gradle projects. In case the javalsp fails to detect some of them, you can
specify them setting a dictionary to |g:ale_java_javalsp_config| variable.
>
- let g:ale_java_javalsp_executable =
+ let g:ale_java_javalsp_config =
\ {
\ 'java': {
\ 'externalDependencies': [
@@ -222,6 +254,17 @@ g:ale_java_eclipselsp_workspace_path *g:ale_java_eclipselsp_workspace_path*
absolute path of the Eclipse workspace. If not set this value will be set to
the parent folder of the project root.
+g:ale_java_eclipselsp_javaagent *g:ale_java_eclipselsp_javaagent*
+ *b:ale_java_eclipselsp_javaagent*
+
+ Type: |String|
+ Default: `''`
+
+ A variable to add java agent for annotation processing such as Lombok.
+ If you have multiple java agent files, use space to separate them. For example:
+>
+ let g:ale_java_eclipselsp_javaagent='/eclipse/lombok.jar /eclipse/jacoco.jar'
+<
===============================================================================
uncrustify *ale-java-uncrustify*
diff --git a/doc/ale-javascript.txt b/doc/ale-javascript.txt
index ea0a7089..13059eaa 100644
--- a/doc/ale-javascript.txt
+++ b/doc/ale-javascript.txt
@@ -138,7 +138,7 @@ g:ale_javascript_flow_use_respect_pragma
By default, ALE will use the `--respect-pragma` option for `flow`, so only
files with the `@flow` pragma are checked by ALE. This option can be set to
- `0` to disable that behaviour, so all files can be checked by `flow`.
+ `0` to disable that behavior, so all files can be checked by `flow`.
===============================================================================
diff --git a/doc/ale-python.txt b/doc/ale-python.txt
index 93f1d668..60b0771d 100644
--- a/doc/ale-python.txt
+++ b/doc/ale-python.txt
@@ -598,6 +598,7 @@ g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id*
Use message for output (e.g. I0011) instead of symbolic name of the message
(e.g. locally-disabled).
+
===============================================================================
pyls *ale-python-pyls*
@@ -683,6 +684,65 @@ g:ale_python_pyre_auto_pipenv *g:ale_python_pyre_auto_pipenv*
===============================================================================
+pyright *ale-python-pyright*
+
+The `pyrlight` linter requires a recent version of `pyright` which includes
+the `pyright-langserver` executable. You can install `pyright` on your system
+through `npm` with `sudo npm install -g pyright` or similar.
+
+Refer to their README for installation instructions:
+https://github.com/Microsoft/pyright
+
+`pyright` needs to know the path to your Python executable and probably a
+virtualenv to run. ALE will try to detect these automatically.
+See |g:ale_python_pyright_config|.
+
+
+g:ale_python_pyright_executable *g:ale_python_pyright_executable*
+ *b:ale_python_pyright_executable*
+ Type: |String|
+ Default: `'pyright-langserver'`
+
+ The executable for running `pyright`, which is typically installed globally.
+
+
+g:ale_python_pyright_config *g:ale_python_pyright_config*
+ *b:ale_python_pyright_config*
+ Type: |Dictionary|
+ Default: `{}`
+
+ Settings for configuring the `pyright` language server.
+
+ See pyright's documentation for a full list of options:
+ https://github.com/microsoft/pyright/blob/master/docs/settings.md
+
+ ALE will automatically try to set defaults for `venvPath` and `pythonPath`
+ so your project can automatically be checked with the right libraries.
+ You can override these settings with whatever you want in your ftplugin
+ file like so: >
+
+ let b:ale_python_pyright_config = {
+ \ 'python': {
+ \ 'pythonPath': '/bin/python',
+ \ 'venvPath': '/other/dir',
+ \ },
+ \}
+<
+ If `venvPath` is set, but `pythonPath` is not,
+ ALE will use `venvPath . '/bin/python'` or similar as `pythonPath`.
+
+ A commonly used setting for `pyright` is disabling language services
+ apart from type checking and "hover" (|ale-hover|), you can set this
+ setting like so, or use whatever other settings you want: >
+
+ let b:ale_python_pyright_config = {
+ \ 'pyright': {
+ \ 'disableLanguageServices': v:true,
+ \ },
+ \}
+<
+
+===============================================================================
reorder-python-imports *ale-python-reorder_python_imports*
g:ale_python_reorder_python_imports_executable
diff --git a/doc/ale-rust.txt b/doc/ale-rust.txt
index 44a79b18..46d4714b 100644
--- a/doc/ale-rust.txt
+++ b/doc/ale-rust.txt
@@ -9,7 +9,7 @@ Integration Information
files for Rust distributed in Vim >=8.0.0501 or upstream:
https://github.com/rust-lang/rust.vim
- Note that there are three possible linters for Rust files:
+ Note that there are several possible linters and fixers for Rust files:
1. rustc -- The Rust compiler is used to check the currently edited file.
So, if your project consists of multiple files, you will get some errors
@@ -23,7 +23,12 @@ Integration Information
over cargo. rls implements the Language Server Protocol for incremental
compilation of Rust code, and can check Rust files while you type. `rls`
requires Rust files to contained in Cargo projects.
- 4. rustfmt -- If you have `rustfmt` installed, you can use it as a fixer to
+ 4. analyzer -- If you have rust-analyzer installed, you might prefer using
+ this linter over cargo and rls. rust-analyzer also implements the
+ Language Server Protocol for incremental compilation of Rust code, and is
+ the next iteration of rls. rust-analyzer, like rls, requires Rust files
+ to contained in Cargo projects.
+ 5. rustfmt -- If you have `rustfmt` installed, you can use it as a fixer to
consistently reformat your Rust code.
Only cargo is enabled by default. To switch to using rustc instead of cargo,
@@ -37,6 +42,25 @@ Integration Information
===============================================================================
+analyzer *ale-rust-analyzer*
+
+g:ale_rust_analyzer_executable *g:ale_rust_analyzer_executable*
+ *b:ale_rust_analyzer_executable*
+ Type: |String|
+ Default: `'rust-analyzer'`
+
+ This variable can be modified to change the executable path for
+ `rust-analyzer`.
+
+
+g:ale_rust_analyzer_config *g:ale_rust_analyzer_config*
+ *b:ale_rust_analyzer_config*
+ Type: |Dictionary|
+ Default: `{}`
+
+ Dictionary with configuration settings for rust-analyzer.
+
+===============================================================================
cargo *ale-rust-cargo*
g:ale_rust_cargo_use_check *g:ale_rust_cargo_use_check*
diff --git a/doc/ale-sh.txt b/doc/ale-sh.txt
index 3eac9038..c06f737a 100644
--- a/doc/ale-sh.txt
+++ b/doc/ale-sh.txt
@@ -3,6 +3,29 @@ ALE Shell Integration *ale-sh-options*
===============================================================================
+bashate *ale-sh-bashate*
+
+g:ale_sh_bashate_executable *g:ale_sh_bashate_executable*
+ *b:ale_sh_bashate_executable*
+ Type: |String|
+ Default: `'bashate'`
+
+ This variable sets executable used for bashate.
+
+
+g:ale_sh_bashate_options *g:ale_sh_bashate_options*
+ *b:ale_sh_bashate_options*
+ Type: |String|
+ Default: `''`
+
+ With this variable we are able to pass extra arguments for bashate. For
+ example to ignore the indentation rule:
+
+>
+ let g:ale_sh_bashate_options = '-i E003'
+<
+
+===============================================================================
sh-language-server *ale-sh-language-server*
g:ale_sh_language_server_executable *g:ale_sh_language_server_executable*
diff --git a/doc/ale-supported-languages-and-tools.txt b/doc/ale-supported-languages-and-tools.txt
index 29dabab7..2dc05287 100644
--- a/doc/ale-supported-languages-and-tools.txt
+++ b/doc/ale-supported-languages-and-tools.txt
@@ -31,10 +31,13 @@ Notes:
* Awk
* `gawk`
* Bash
+ * `bashate`
* `language-server`
* `shell` (-n flag)
* `shellcheck`
* `shfmt`
+* Bats
+ * `shellcheck`
* BibTeX
* `bibclean`
* Bourne Shell
@@ -42,6 +45,7 @@ Notes:
* `shellcheck`
* `shfmt`
* C
+ * `astyle`
* `ccls`
* `clang`
* `clangd`
@@ -59,6 +63,7 @@ Notes:
* `mcsc`!!
* `uncrustify`
* C++ (filetype cpp)
+ * `astyle`
* `ccls`
* `clang`
* `clangcheck`!!
@@ -162,6 +167,7 @@ Notes:
* `gosimple`!!
* `gotype`!!
* `go vet`!!
+ * `revive`!!
* `staticcheck`!!
* GraphQL
* `eslint`
@@ -366,6 +372,7 @@ Notes:
* `pylint`!!
* `pyls`
* `pyre`
+ * `pyright`
* `reorder-python-imports`
* `vulture`!!
* `yapf`
@@ -408,6 +415,7 @@ Notes:
* Rust
* `cargo`!!
* `rls`
+ * `rust-analyzer`
* `rustc` (see |ale-integration-rust|)
* `rustfmt`
* Sass
@@ -476,6 +484,7 @@ Notes:
* VALA
* `uncrustify`
* Verilog
+ * `hdl-checker`
* `iverilog`
* `verilator`
* `vlog`
@@ -485,6 +494,7 @@ Notes:
* `vcom`
* `xvhdl`
* Vim
+ * `vimls`
* `vint`
* Vim help^
* `alex`!!
@@ -505,3 +515,5 @@ Notes:
* `yamllint`
* YANG
* `yang-lsp`
+* Zig
+ * `zls`
diff --git a/doc/ale-terraform.txt b/doc/ale-terraform.txt
index 387fd732..f62db190 100644
--- a/doc/ale-terraform.txt
+++ b/doc/ale-terraform.txt
@@ -33,6 +33,25 @@ g:ale_terraform_terraform_executable *g:ale_terraform_terraform_executable*
===============================================================================
+terraform-lsp *ale-terraform-terraform-lsp*
+
+g:ale_terraform_langserver_executable *g:ale_terraform_langserver_executable*
+ *b:ale_terraform_langserver_executable*
+ Type: |String|
+ Default: `'terraform-lsp'`
+
+ This variable can be changed to use a different executable for terraform-lsp.
+
+
+g:ale_terraform_langserver_options *g:ale_terraform_langserver_options*
+ *b:ale_terraform_langserver_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to pass custom CLI flags to terraform-lsp.
+
+
+===============================================================================
tflint *ale-terraform-tflint*
g:ale_terraform_tflint_executable *g:ale_terraform_tflint_executable*
diff --git a/doc/ale-verilog.txt b/doc/ale-verilog.txt
index 94b820b8..01af63c2 100644
--- a/doc/ale-verilog.txt
+++ b/doc/ale-verilog.txt
@@ -3,7 +3,10 @@ ALE Verilog/SystemVerilog Integration *ale-verilog-options*
===============================================================================
-ALE can use four different linters for Verilog HDL:
+ALE can use five different linters for Verilog HDL:
+
+ HDL Checker
+ Using `hdl_checker --lsp`
iverilog:
Using `iverilog -t null -Wall`
@@ -26,6 +29,9 @@ defining 'g:ale_linters' variable:
\ let g:ale_linters = {'systemverilog' : ['verilator'],}
<
+===============================================================================
+General notes
+
Linters/compilers that utilize a "work" directory for analyzing designs- such
as ModelSim and Vivado- can be passed the location of these directories as
part of their respective option strings listed below. This is useful for
@@ -40,6 +46,16 @@ changing. This can happen in the form of hangs or crashes. To help prevent
this when using these linters, it may help to run linting less frequently; for
example, only when a file is saved.
+HDL Checker is an alternative for some of the issues described above. It wraps
+around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can
+handle mixed language (VHDL, Verilog, SystemVerilog) designs.
+
+===============================================================================
+hdl-checker *ale-verilog-hdl-checker*
+
+See |ale-vhdl-hdl-checker|
+
+
===============================================================================
iverilog *ale-verilog-iverilog*
diff --git a/doc/ale-vhdl.txt b/doc/ale-vhdl.txt
index 3fea947d..c2870240 100644
--- a/doc/ale-vhdl.txt
+++ b/doc/ale-vhdl.txt
@@ -3,10 +3,10 @@ ALE VHDL Integration *ale-vhdl-options*
===============================================================================
-ALE can use three different linters for VHDL:
+ALE can use four different linters for VHDL:
- iverilog:
- Using `iverilog -t null -Wall`
+ ghdl:
+ Using `ghdl --std=08`
ModelSim/Questa
Using `vcom -2008 -quiet -lint`
@@ -14,8 +14,15 @@ ALE can use three different linters for VHDL:
Vivado
Using `xvhdl --2008`
-Note all linters default to VHDL-2008 support. This, and other options, can be
-changed with each linter's respective option variable.
+ HDL Checker
+ Using `hdl_checker --lsp`
+
+===============================================================================
+General notes
+
+ghdl, ModelSim/Questa and Vivado linters default to VHDL-2008 support. This,
+and other options, can be changed with each linter's respective option
+variable.
Linters/compilers that utilize a "work" directory for analyzing designs- such
as ModelSim and Vivado- can be passed the location of these directories as
@@ -31,6 +38,10 @@ changing. This can happen in the form of hangs or crashes. To help prevent
this when using these linters, it may help to run linting less frequently; for
example, only when a file is saved.
+HDL Checker is an alternative for some of the issues described above. It wraps
+around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can
+handle mixed language (VHDL, Verilog, SystemVerilog) designs.
+
===============================================================================
ghdl *ale-vhdl-ghdl*
@@ -51,6 +62,60 @@ g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options*
===============================================================================
+hdl-checker *ale-vhdl-hdl-checker*
+
+HDL Checker is a wrapper for VHDL/Verilg/SystemVerilog tools that aims to
+reduce the boilerplate code needed to set things up. It can automatically
+infer libraries for VHDL sources, determine the compilation order and provide
+some static checks.
+
+You can install it using pip:
+>
+ $ pip install hdl-checker
+
+`hdl-checker` will be run from a detected project root, determined by the
+following methods, in order:
+
+1. Find the first directory containing a configuration file (see
+ |g:ale_hdl_checker_config_file|)
+2. If no configuration file can be found, find the first directory containing
+ a folder named `'.git'
+3. If no such folder is found, use the directory of the current buffer
+
+
+g:ale_hdl_checker_executable
+ *g:ale_hdl_checker_executable*
+ *b:ale_hdl_checker_executable*
+ Type: |String|
+ Default: `'hdl_checker'`
+
+ This variable can be changed to the path to the 'hdl_checker' executable.
+
+
+g:ale_hdl_checker_options *g:ale_hdl_checker_options*
+ *b:ale_hdl_checker_options*
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to modify the flags/options passed to the
+ 'hdl_checker' server startup command.
+
+
+g:ale_hdl_checker_config_file *g:ale_hdl_checker_config_file*
+ *b:ale_hdl_checker_config_file*
+ Type: |String|
+ Default: `'.hdl_checker.config'` (Unix),
+ `'_hdl_checker.config'` (Windows)
+
+ This variable can be changed to modify the config file HDL Checker will try
+ to look for. It will also affect how the project's root directory is
+ determined (see |ale-vhdl-hdl-checker|).
+
+ More info on the configuration file format can be found at:
+ https://github.com/suoto/hdl_checker/wiki/Setting-up-a-project
+
+
+===============================================================================
vcom *ale-vhdl-vcom*
g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable*
diff --git a/doc/ale-vim.txt b/doc/ale-vim.txt
index 772bad23..f85b43eb 100644
--- a/doc/ale-vim.txt
+++ b/doc/ale-vim.txt
@@ -3,6 +3,61 @@ ALE Vim Integration *ale-vim-options*
===============================================================================
+vimls *ale-vim-vimls*
+
+ The `vim-language-server` is the engine that powers VimL editor support
+ using the Language Server Protocol. See the installation instructions:
+ https://github.com/iamcco/vim-language-server#install
+
+g:ale_vim_vimls_executable *g:ale_vim_vimls_executable*
+ *b:ale_vim_vimls_executable*
+ Type: |String|
+ Default: `'vim-language-server'`
+
+ This option can be set to change the executable path for vimls.
+
+
+g:ale_vim_vimls_config *g:ale_vim_vimls_config*
+ *b:ale_vim_vimls_config*
+ Type: |Dictionary|
+ Default: `{}`
+
+ Dictionary containing configuration settings that will be passed to the
+ language server. For example: >
+ {
+ \ 'vim': {
+ \ 'iskeyword': '@,48-57,_,192-255,-#',
+ \ 'vimruntime': '',
+ \ 'runtimepath': '',
+ \ 'diagnostic': {
+ \ 'enable': v:true
+ \ },
+ \ 'indexes': {
+ \ 'runtimepath': v:true,
+ \ 'gap': 100,
+ \ 'count': 3,
+ \ 'projectRootPatterns' : ['.git', 'autoload', 'plugin']
+ \ },
+ \ 'suggest': {
+ \ 'fromVimruntime': v:true,
+ \ 'fromRuntimepath': v:false
+ \ },
+ \ }
+ \}
+<
+ Consult the vim-language-server documentation for more information about
+ settings.
+
+
+g:ale_vim_vimls_use_global *g:ale_vim_vimls_use_global*
+ *b:ale_vim_vimls_use_global*
+ Type: |Number|
+ Default: `get(g:, 'ale_use_global_executables', 0)`
+
+ See |ale-integrations-local-executables|
+
+
+===============================================================================
vint *ale-vim-vint*
g:ale_vim_vint_executable *g:ale_vim_vint_executable*
diff --git a/doc/ale-zig.txt b/doc/ale-zig.txt
new file mode 100644
index 00000000..70a53bbb
--- /dev/null
+++ b/doc/ale-zig.txt
@@ -0,0 +1,33 @@
+===============================================================================
+ALE Zig Integration *ale-zig-options*
+ *ale-integration-zig*
+
+===============================================================================
+Integration Information
+
+ Currently, the only supported linter for zig is zls.
+
+===============================================================================
+zls *ale-zig-zls*
+
+g:ale_zig_zls_executable *g:ale_zig_zls_executable*
+ *b:ale_zig_zls_executable*
+ Type: |String|
+ Default: `'zls'`
+
+ This variable can be modified to change the executable path for `zls`.
+
+
+g:ale_zig_zls_config *g:ale_zig_zls_config*
+ *b:ale_zig_zls_config*
+ Type: |Dictionary|
+ Default: `{}`
+
+ WARNING: As of writing, zls does not support receiving configuration
+ from the client. This variable is a PLACEHOLDER until it does.
+
+ Dictionary with configuration settings for zls.
+
+
+===============================================================================
+ vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/doc/ale.txt b/doc/ale.txt
index da4328d9..e1b38292 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -127,7 +127,7 @@ their relevant options.
* By showing balloons for your mouse cursor - |g:ale_set_balloons|
Please consult the documentation for each option, which can reveal some other
-ways of tweaking the behaviour of each way of displaying problems. You can
+ways of tweaking the behavior of each way of displaying problems. You can
disable or enable whichever options you prefer.
Most settings can be configured for each buffer. (|b:| instead of |g:|),
@@ -478,12 +478,9 @@ would like to use. An example here shows the available options for symbols >
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.
-|ALEGoToDefinitionInSplit| - The same, but in a new split.
-|ALEGoToDefinitionInVSplit| - The same, but in a new vertical split.
+information returned by LSP servers. The |ALEGoToDefinition| command will jump
+to the definition of symbols under the cursor. See the documentation for the
+command for configuring how the location will be displayed.
ALE will update Vim's |tagstack| automatically unless |g:ale_update_tagstack| is
set to `0`.
@@ -493,15 +490,10 @@ set to `0`.
ALE supports jumping to the files and locations where symbols' types 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:
-
-|ALEGoToTypeDefinition| - Open the definition of the symbol's type under
- the cursor.
-|ALEGoToTypeDefinitionInTab| - The same, but for opening the file in a new tab.
-|ALEGoToTypeDefinitionInSplit| - The same, but in a new split.
-|ALEGoToTypeDefinitionInVSplit| - The same, but in a new vertical split.
-
+on the information returned by LSP servers. The |ALEGoToTypeDefinition|
+command will jump to the definition of symbols under the cursor. See the
+documentation for the command for configuring how the location will be
+displayed.
-------------------------------------------------------------------------------
5.4 Find References *ale-find-references*
@@ -524,6 +516,10 @@ at the cursor taken from LSP linters. The following commands are supported:
|ALEHover| - Print information about the symbol at the cursor.
+Truncated information will be displayed when the cursor rests on a symbol by
+default, as long as there are no problems on the same line. You can disable
+this behavior by setting |g:ale_hover_cursor| to `0`.
+
If |g:ale_set_balloons| is set to `1` and your version of Vim supports the
|balloon_show()| function, then "hover" information also show up when you move
the mouse over a symbol in a buffer. Diagnostic information will take priority
@@ -666,7 +662,7 @@ g:ale_completion_delay *g:ale_completion_delay*
g:ale_completion_enabled *g:ale_completion_enabled*
-b:ale_completion_enabled *b:ale_completion_enabled*
+ *b:ale_completion_enabled*
Type: |Number|
Default: `0`
@@ -793,6 +789,16 @@ g:ale_cursor_detail *g:ale_cursor_detail*
loaded for messages to be displayed. See |ale-lint-settings-on-startup|.
+g:ale_default_navigation *g:ale_default_navigation*
+ *b:ale_default_navigation*
+
+ Type: |String|
+ Default: `'buffer'`
+
+ The default method for navigating away from the current buffer to another
+ buffer, such as for |ALEFindReferences:|, or |ALEGoToDefinition|.
+
+
g:ale_disable_lsp *g:ale_disable_lsp*
*b:ale_disable_lsp*
@@ -845,7 +851,7 @@ g:ale_echo_msg_error_str *g:ale_echo_msg_error_str*
g:ale_echo_msg_format *g:ale_echo_msg_format*
-b:ale_echo_msg_format *b:ale_echo_msg_format*
+ *b:ale_echo_msg_format*
Type: |String|
Default: `'%code: %%s'`
@@ -924,7 +930,7 @@ g:ale_enabled *g:ale_enabled*
g:ale_exclude_highlights *g:ale_exclude_highlights*
-b:ale_exclude_highlights *b:ale_exclude_highlights*
+ *b:ale_exclude_highlights*
Type: |List|
Default: `[]`
@@ -961,7 +967,7 @@ g:ale_fixers *g:ale_fixers*
<
g:ale_fix_on_save *g:ale_fix_on_save*
-b:ale_fix_on_save *b:ale_fix_on_save*
+ *b:ale_fix_on_save*
Type: |Number|
Default: `0`
@@ -983,7 +989,7 @@ b:ale_fix_on_save *b:ale_fix_on_save*
g:ale_fix_on_save_ignore *g:ale_fix_on_save_ignore*
-b:ale_fix_on_save_ignore *b:ale_fix_on_save_ignore*
+ *b:ale_fix_on_save_ignore*
Type: |Dictionary| or |List|
Default: `{}`
@@ -1046,9 +1052,27 @@ g:ale_history_log_output *g:ale_history_log_output*
if you want to save on some memory usage.
+g:ale_hover_cursor *g:ale_hover_cursor*
+
+ Type: |Number|
+ Default: `1`
+
+ If set to `1`, ALE will show truncated information in the echo line about
+ the symbol at the cursor automatically when the |CursorHold| event is fired.
+ The delay before requesting hover information is based on 'updatetime', as
+ with all |CursorHold| events.
+
+ If there's a problem on the line where the cursor is resting, ALE will not
+ show any hover information.
+
+ See |ale-hover| for more information on hover information.
+
+ This setting must be set to `1` before ALE is loaded for this behavior
+ to be enabled. See |ale-lint-settings-on-startup|.
+
+
g:ale_hover_to_preview *g:ale_hover_to_preview*
*b:ale_hover_to_preview*
-
Type: |Number|
Default: `0`
@@ -1266,7 +1290,7 @@ g:ale_linters *g:ale_linters*
\ 'help': [],
\ 'perl': ['perlcritic'],
\ 'perl6': [],
- \ 'python': ['flake8', 'mypy', 'pylint'],
+ \ 'python': ['flake8', 'mypy', 'pylint', 'pyright'],
\ 'rust': ['cargo'],
\ 'spec': [],
\ 'text': [],
@@ -1359,7 +1383,7 @@ g:ale_list_vertical *g:ale_list_vertical*
g:ale_loclist_msg_format *g:ale_loclist_msg_format*
-b:ale_loclist_msg_format *b:ale_loclist_msg_format*
+ *b:ale_loclist_msg_format*
Type: |String|
Default: `g:ale_echo_msg_format`
@@ -1411,7 +1435,7 @@ g:ale_lsp_show_message_severity *g:ale_lsp_show_message_severity*
g:ale_lsp_root *g:ale_lsp_root*
-b:ale_lsp_root *b:ale_lsp_root*
+ *b:ale_lsp_root*
Type: |Dictionary| or |String|
Default: {}
@@ -1892,7 +1916,8 @@ g:ale_virtualtext_cursor *g:ale_virtualtext_cursor*
g:ale_virtualtext_delay *g:ale_virtualtext_delay*
-b:ale_virtualtext_delay *b:ale_virtualtext_delay*
+ *b:ale_virtualtext_delay*
+
Type: |Number|
Default: `10`
@@ -1911,7 +1936,7 @@ g:ale_virtualtext_prefix *g:ale_virtualtext_prefix*
Prefix to be used with |g:ale_virtualtext_cursor|.
g:ale_virtualenv_dir_names *g:ale_virtualenv_dir_names*
-b:ale_virtualenv_dir_names *b:ale_virtualenv_dir_names*
+ *b:ale_virtualenv_dir_names*
Type: |List|
Default: `['.env', '.venv', 'env', 've-py3', 've', 'virtualenv', 'venv']`
@@ -1925,7 +1950,7 @@ b:ale_virtualenv_dir_names *b:ale_virtualenv_dir_names*
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*
+ *b:ale_warn_about_trailing_blank_lines*
Type: |Number|
Default: `1`
@@ -1937,7 +1962,7 @@ b:ale_warn_about_trailing_blank_lines *b:ale_warn_about_trailing_blank_lines*
g:ale_warn_about_trailing_whitespace *g:ale_warn_about_trailing_whitespace*
-b:ale_warn_about_trailing_whitespace *b:ale_warn_about_trailing_whitespace*
+ *b:ale_warn_about_trailing_whitespace*
Type: |Number|
Default: `1`
@@ -2276,9 +2301,12 @@ documented in additional help files.
gcc...................................|ale-asm-gcc|
awk.....................................|ale-awk-options|
gawk..................................|ale-awk-gawk|
+ bats....................................|ale-bats-options|
+ shellcheck............................|ale-bats-shellcheck|
bib.....................................|ale-bib-options|
bibclean..............................|ale-bib-bibclean|
c.......................................|ale-c-options|
+ astyle................................|ale-c-astyle|
clang.................................|ale-c-clang|
clangd................................|ale-c-clangd|
clang-format..........................|ale-c-clangformat|
@@ -2301,6 +2329,7 @@ documented in additional help files.
cmakelint.............................|ale-cmake-cmakelint|
cmake-format..........................|ale-cmake-cmakeformat|
cpp.....................................|ale-cpp-options|
+ astyle................................|ale-cpp-astyle|
clang.................................|ale-cpp-clang|
clangd................................|ale-cpp-clangd|
clangcheck............................|ale-cpp-clangcheck|
@@ -2374,6 +2403,7 @@ documented in additional help files.
gometalinter..........................|ale-go-gometalinter|
gopls.................................|ale-go-gopls|
govet.................................|ale-go-govet|
+ revive................................|ale-go-revive|
staticcheck...........................|ale-go-staticcheck|
graphql.................................|ale-graphql-options|
eslint................................|ale-graphql-eslint|
@@ -2548,6 +2578,7 @@ documented in additional help files.
pylint................................|ale-python-pylint|
pyls..................................|ale-python-pyls|
pyre..................................|ale-python-pyre|
+ pyright...............................|ale-python-pyright|
reorder-python-imports................|ale-python-reorder_python_imports|
vulture...............................|ale-python-vulture|
yapf..................................|ale-python-yapf|
@@ -2576,6 +2607,7 @@ documented in additional help files.
sorbet................................|ale-ruby-sorbet|
standardrb............................|ale-ruby-standardrb|
rust....................................|ale-rust-options|
+ analyzer..............................|ale-rust-analyzer|
cargo.................................|ale-rust-cargo|
rls...................................|ale-rust-rls|
rustc.................................|ale-rust-rustc|
@@ -2593,6 +2625,7 @@ documented in additional help files.
sasslint..............................|ale-scss-sasslint|
stylelint.............................|ale-scss-stylelint|
sh......................................|ale-sh-options|
+ bashate...............................|ale-sh-bashate|
sh-language-server....................|ale-sh-language-server|
shell.................................|ale-sh-shell|
shellcheck............................|ale-sh-shellcheck|
@@ -2620,6 +2653,7 @@ documented in additional help files.
terraform...............................|ale-terraform-options|
terraform-fmt-fixer...................|ale-terraform-fmt-fixer|
terraform.............................|ale-terraform-terraform|
+ terraform-lsp.........................|ale-terraform-terraform-lsp|
tflint................................|ale-terraform-tflint|
tex.....................................|ale-tex-options|
chktex................................|ale-tex-chktex|
@@ -2642,15 +2676,18 @@ documented in additional help files.
vala....................................|ale-vala-options|
uncrustify............................|ale-vala-uncrustify|
verilog/systemverilog...................|ale-verilog-options|
+ hdl-checker...........................|ale-verilog-hdl-checker|
iverilog..............................|ale-verilog-iverilog|
verilator.............................|ale-verilog-verilator|
vlog..................................|ale-verilog-vlog|
xvlog.................................|ale-verilog-xvlog|
vhdl....................................|ale-vhdl-options|
ghdl..................................|ale-vhdl-ghdl|
+ hdl-checker...........................|ale-vhdl-hdl-checker|
vcom..................................|ale-vhdl-vcom|
xvhdl.................................|ale-vhdl-xvhdl|
vim.....................................|ale-vim-options|
+ vimls.................................|ale-vim-vimls|
vint..................................|ale-vim-vint|
vim help................................|ale-vim-help-options|
write-good............................|ale-vim-help-write-good|
@@ -2667,6 +2704,8 @@ documented in additional help files.
yamllint..............................|ale-yaml-yamllint|
yang....................................|ale-yang-options|
yang-lsp..............................|ale-yang-lsp|
+ zig.....................................|ale-zig-options|
+ zls...................................|ale-zig-zls|
===============================================================================
@@ -2704,11 +2743,23 @@ ALEFindReferences *ALEFindReferences*
Enter key (`<CR>`) can be used to jump to a referencing location, or the `t`
key can be used to jump to the location in a new tab.
+ The locations opened in different ways using the following variations.
+
+ `:ALEFindReferences -tab` - Open the location in a new tab.
+ `:ALEFindReferences -split` - Open the location in a horizontal split.
+ `:ALEFindReferences -vsplit` - Open the location in a vertical split.
+
+ The default method used for navigating to a new location can be changed
+ by modifying |g:ale_default_navigation|.
+
+ The selection can be opened again with the |ALERepeatSelection| command.
+
You can jump back to the position you were at before going to a reference of
something with jump motions like CTRL-O. See |jump-motions|.
A plug mapping `<Plug>(ale_find_references)` is defined for this command.
+
ALEFix *ALEFix*
Fix problems with the current buffer. See |ale-fix| for more information.
@@ -2723,12 +2774,21 @@ ALEFixSuggest *ALEFixSuggest*
See |ale-fix| for more information.
-ALEGoToDefinition *ALEGoToDefinition*
+ALEGoToDefinition `<options>` *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.
+ The locations opened in different ways using the following variations.
+
+ `:ALEGoToDefinition -tab` - Open the location in a new tab.
+ `:ALEGoToDefinition -split` - Open the location in a horizontal split.
+ `:ALEGoToDefinition -vsplit` - Open the location in a vertical split.
+
+ The default method used for navigating to a new location can be changed
+ by modifying |g:ale_default_navigation|.
+
You can jump back to the position you were at before going to the definition
of something with jump motions like CTRL-O. See |jump-motions|.
@@ -2739,30 +2799,6 @@ ALEGoToDefinition *ALEGoToDefinition*
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.
-
-
-ALEGoToDefinitionInSplit *ALEGoToDefinitionInSplit*
-
- The same as |ALEGoToDefinition|, but opens results in a new split.
-
- A plug mapping `<Plug>(ale_go_to_definition_in_split)` is defined for this
- command.
-
-
-ALEGoToDefinitionInVSplit *ALEGoToDefinitionInVSplit*
-
- The same as |ALEGoToDefinition|, but opens results in a new vertical split.
-
- A plug mapping `<Plug>(ale_go_to_definition_in_vsplit)` is defined for this
- command.
-
-
ALEGoToTypeDefinition *ALEGoToTypeDefinition*
This works similar to |ALEGoToDefinition| but instead jumps to the
@@ -2770,6 +2806,15 @@ ALEGoToTypeDefinition *ALEGoToTypeDefinition*
definition if an LSP server provides a location to jump to. Otherwise, ALE
will do nothing.
+ The locations opened in different ways using the following variations.
+
+ `:ALEGoToTypeDefinition -tab` - Open the location in a new tab.
+ `:ALEGoToTypeDefinition -split` - Open the location in a horizontal split.
+ `:ALEGoToTypeDefinition -vsplit` - Open the location in a vertical split.
+
+ The default method used for navigating to a new location can be changed
+ by modifying |g:ale_default_navigation|.
+
You can jump back to the position you were at before going to the definition
of something with jump motions like CTRL-O. See |jump-motions|.
@@ -2777,31 +2822,6 @@ ALEGoToTypeDefinition *ALEGoToTypeDefinition*
command.
-ALEGoToTypeDefinitionInTab *ALEGoToTypeDefinitionInTab*
-
- The same as |ALEGoToTypeDefinition|, but opens results in a new tab.
-
- A plug mapping `<Plug>(ale_go_to_type_definition_in_tab)` is defined for
- this command.
-
-
-ALEGoToTypeDefinitionInSplit *ALEGoToTypeDefinitionInSplit*
-
- The same as |ALEGoToTypeDefinition|, but opens results in a new split.
-
- A plug mapping `<Plug>(ale_go_to_type_definition_in_split)` is defined for
- this command.
-
-
-ALEGoToTypeDefinitionInVSplit *ALEGoToTypeDefinitionInVSplit*
-
- The same as |ALEGoToTypeDefinition|, but opens results in a new vertical
- split.
-
- A plug mapping `<Plug>(ale_go_to_type_definition_in_vsplit)` is defined for
- this command.
-
-
ALEHover *ALEHover*
Print brief information about the symbol under the cursor, taken from any
@@ -2827,6 +2847,11 @@ ALERename *ALERename*
The user will be prompted for a new name.
+ALERepeatSelection *ALERepeatSelection*
+
+ Repeat the last selection displayed in the preview window.
+
+
ALESymbolSearch `<query>` *ALESymbolSearch*
Search for symbols in the workspace, taken from any available LSP linters.
@@ -2863,7 +2888,7 @@ ALELast *ALELast*
the last or first warning or error in the file, respectively.
`ALEPrevious` and `ALENext` take optional flags arguments to custom their
- behaviour :
+ behavior :
`-wrap` enable wrapping around the file
`-error`, `-warning` and `-info` enable jumping to errors, warnings or infos
respectively, ignoring anything else. They are mutually exclusive and if
@@ -3135,7 +3160,6 @@ ale#command#Run(buffer, command, callback, [options]) *ale#command#Run()*
'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))}
<
-
The following `options` can be provided.
`output_stream` - Either `'stdout'`, `'stderr'`, `'both'`, or `'none`' for
@@ -3506,7 +3530,7 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
contents of the buffer being checked. All occurrences of `%t` in command
strings will reference the one temporary file. The temporary file will be
created inside a temporary directory, and the entire temporary directory
- will be automatically deleted, following the behaviour of
+ will be automatically deleted, following the behavior of
|ale#command#ManageDirectory|. This option can be used for some linters which
do not support reading from stdin.
@@ -3531,7 +3555,6 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
be used to replace those characters to avoid formatting issues.
*ale-linter-loading-behavior*
- *ale-linter-loading-behaviour*
Linters for ALE will be loaded by searching |runtimepath| in the following
format: >