# Technical Documentation: dense-analysis/ale

> ℹ️ **Provenance:** Multi-Tier Ingestion · [CodeWiki Reference](https://codewiki.google/github.com/dense-analysis/ale)

### Doc Ale Ada (`doc/ale-ada.txt`)

===============================================================================
ALE Ada Integration                                           *ale-ada-options*


===============================================================================
cspell                                                         *ale-ada-cspell*

See |ale-cspell-options|


===============================================================================
gcc                                                               *ale-ada-gcc*

                                               *ale-options.ada_gcc_executable*
                                                     *g:ale_ada_gcc_executable*
                                                     *b:ale_ada_gcc_executable*
ada_gcc_executable
g:ale_ada_gcc_executable
  Type: |String|
  Default: `'gcc'`

  This variable can be changed to use a different executable for gcc.

                                                  *ale-options.ada_gcc_options*
                                                        *g:ale_ada_gcc_options*
                                                        *b:ale_ada_gcc_options*
ada_gcc_options
g:ale_ada_gcc_options
  Type: |String|
  Default: `'-gnatwa -gnatq'`

  This variable can be set to pass additional options to gcc.


===============================================================================
gnatpp                                                         *ale-ada-gnatpp*

                                               *ale-options.ada_gnatpp_options*
                                                     *g:ale_ada_gnatpp_options*
                                                     *b:ale_ada_gnatpp_options*
ada_gnatpp_options
g:ale_ada_gnatpp_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to the gnatpp fixer.


===============================================================================
ada-language-server                                   *ale-ada-language-server*

                                             *ale-options.ada_adals_executable*
                                                   *g:ale_ada_adals_executable*
                                                   *b:ale_ada_adals_executable*
ada_adals_executable
g:ale_ada_adals_executable
  Type: |String|
  Default: `'ada_language_server'`

  This variable can be changed to use a different executable for Ada Language
  Server.

                                                *ale-options.ada_adals_project*
                                                      *g:ale_ada_adals_project*
                                                      *b:ale_ada_adals_project*
ada_adals_project
g:ale_ada_adals_project
  Type: |String|
  Default: `'default.gpr'`

  This variable can be changed to use a different GPR file for Ada Language
  Server.

                                               *ale-options.ada_adals_encoding*
                                                     *g:ale_ada_adals_encoding*
                                                     *b:ale_ada_adals_encoding*
ada_adals_encoding
g:ale_ada_adals_encoding
  Type: |String|
  Default: `'utf-8'`

  This variable can be changed to use a different file encoding for Ada
  Language Server.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Ansible (`doc/ale-ansible.txt`)

===============================================================================
ALE Ansible Integration                                   *ale-ansible-options*


===============================================================================
ansible-language-server                           *ale-ansible-language-server*


                               *ale-options.ansible_language_server_executable*
                                     *g:ale_ansible_language_server_executable*
                                     *b:ale_ansible_language_server_executable*
ansible_language_server_executable
g:ale_ansible_language_server_executable
  Type: |String|
  Default: `'ansible-language-server'`

  Variable can be used to modify the executable used for Ansible language
  server.

                                   *ale-options.ansible_language_server_config*
                                         *g:ale_ansible_language_server_config*
                                         *b:ale_ansible_language_server_config*
ansible_language_server_config
g:ale_ansible_language_server_config
  Type: |Dictionary|
  Default: `'{}'`

  Configuration parameters sent to the language server on start. Refer to the
  ansible language server configuration documentation for list of available
  options: https://als.readthedocs.io/en/latest/settings/


===============================================================================
ansible-lint                                         *ale-ansible-ansible-lint*

                                  *ale-options.ansible_ansible_lint_executable*
                                        *g:ale_ansible_ansible_lint_executable*
                                        *b:ale_ansible_ansible_lint_executable*
ansible_ansible_lint_executable
g:ale_ansible_ansible_lint_executable
  Type: |String|
  Default: `'ansible-lint'`

  This variable can be changed to modify the executable used for ansible-lint.


                                 *ale-options.ansible_ansible_lint_auto_pipenv*
                                       *g:ale_ansible_ansible_lint_auto_pipenv*
                                       *b:ale_ansible_ansible_lint_auto_pipenv*
ansible_ansible_lint_auto_pipenv
g:ale_ansible_ansible_lint_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                 *ale-options.ansible_ansible_lint_auto_poetry*
                                       *g:ale_ansible_ansible_lint_auto_poetry*
                                       *b:ale_ansible_ansible_lint_auto_poetry*
ansible_ansible_lint_auto_poetry
g:ale_ansible_ansible_lint_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                     *ale-options.ansible_ansible_lint_auto_uv*
                                           *g:ale_ansible_ansible_lint_auto_uv*
                                           *b:ale_ansible_ansible_lint_auto_uv*
ansible_ansible_lint_auto_uv
g:ale_ansible_ansible_lint_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Apkbuild (`doc/ale-apkbuild.txt`)

===============================================================================
ALE APKBUILD Integration                                 *ale-apkbuild-options*


===============================================================================
apkbuild-fixer                                    *ale-apkbuild-apkbuild-fixer*

                                  *ale-options.apkbuild_apkbuild_fixer_options*
                                        *g:ale_apkbuild_apkbuild_fixer_options*
                                        *b:ale_apkbuild_apkbuild_fixer_options*
apkbuild_apkbuild_fixer_options
g:ale_apkbuild_apkbuild_fixer_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the apkbuild_fixer
  fixer.

                               *ale-options.apkbuild_apkbuild_fixer_executable*
                                     *g:ale_apkbuild_apkbuild_fixer_executable*
                                     *b:ale_apkbuild_apkbuild_fixer_executable*
apkbuild_apkbuild_fixer_executable
g:ale_apkbuild_apkbuild_fixer_executable
  Type: |String|
  Default: `'apkbuild-fixer'`

  This variable can be modified to change the executable path for
  `apkbuild-fixer`.

                          *ale-options.apkbuild_apkbuild_fixer_lint_executable*
                                *g:ale_apkbuild_apkbuild_fixer_lint_executable*
                                *b:ale_apkbuild_apkbuild_fixer_lint_executable*
apkbuild_apkbuild_fixer_lint_executable
g:ale_apkbuild_apkbuild_fixer_lint_executable
  Type: |String|
  Default: `'apkbuild-fixer'`

  This variable can be modified to change the executable path for
  `apkbuild-lint`, the binary used to find violations.


===============================================================================
apkbuild-lint                                      *ale-apkbuild-apkbuild-lint*

                                *ale-options.apkbuild_apkbuild_lint_executable*
                                      *g:ale_apkbuild_apkbuild_lint_executable*
                                      *b:ale_apkbuild_apkbuild_lint_executable*
apkbuild_apkbuild_lint_executable
g:ale_apkbuild_apkbuild_lint_executable
  Type: |String|
  Default: `'apkbuild-lint'`

  This variable can be set to change the path to apkbuild-lint


===============================================================================
secfixes-check                                    *ale-apkbuild-secfixes-check*

                               *ale-options.apkbuild_secfixes_check_executable*
                                     *g:ale_apkbuild_secfixes_check_executable*
                                     *b:ale_apkbuild_secfixes_check_executable*
apkbuild_secfixes_check_executable
g:ale_apkbuild_secfixes_check_executable
  Type: |String|
  Default: `'secfixes-check'`

  This variable can be set to change the path to secfixes-check


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Asciidoc (`doc/ale-asciidoc.txt`)

===============================================================================
ALE AsciiDoc Integration                                 *ale-asciidoc-options*


===============================================================================
cspell                                                    *ale-asciidoc-cspell*

See |ale-cspell-options|


===============================================================================
write-good                                            *ale-asciidoc-write-good*

See |ale-write-good-options|


===============================================================================
textlint                                                *ale-asciidoc-textlint*

See |ale-text-textlint|


===============================================================================
redpen                                                    *ale-asciidoc-redpen*

See |ale-redpen-options|


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Asm (`doc/ale-asm.txt`)

===============================================================================
ALE ASM Integration                                           *ale-asm-options*


===============================================================================
gcc                                                               *ale-asm-gcc*

                                               *ale-options.asm_gcc_executable*
                                                     *g:ale_asm_gcc_executable*
                                                     *b:ale_asm_gcc_executable*
asm_gcc_executable
g:ale_asm_gcc_executable
  Type: |String|
  Default: `'gcc'`

  This variable can be changed to use a different executable for gcc.

                                                  *ale-options.asm_gcc_options*
                                                        *g:ale_asm_gcc_options*
                                                        *b:ale_asm_gcc_options*
asm_gcc_options
g:ale_asm_gcc_options
  Type: |String|
  Default: `'-Wall'`

  This variable can be set to pass additional options to gcc.


===============================================================================
llvm_mc                                                       *ale-asm-llvm_mc*

                                           *ale-options.asm_llvm_mc_executable*
                                                 *g:ale_asm_llvm_mc_executable*
                                                 *b:ale_asm_llvm_mc_executable*
asm_llvm_mc_executable
g:ale_asm_llvm_mc_executable
  Type: |String|
  Default: `'llvm-mc'`

This variable can be changed to use a different executable for llvm-mc.

                                              *ale-options.asm_llvm_mc_options*
                                                    *g:ale_asm_llvm_mc_options*
                                                    *b:ale_asm_llvm_mc_options*
asm_llvm_mc_options
g:ale_asm_llvm_mc_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to llvm-mc.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Astro (`doc/ale-astro.txt`)

===============================================================================
ALE Astro Integration                                       *ale-astro-options*


===============================================================================
dprint                                                       *ale-astro-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/markup_fmt/.


===============================================================================
eslint                                                       *ale-astro-eslint*

See |ale-javascript-eslint| for information about the available options.

===============================================================================
prettier                                                   *ale-astro-prettier*

See |ale-javascript-prettier| for information about the available options.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Autopkgtest (`doc/ale-autopkgtest.txt`)

===============================================================================
ALE Autopkgtest Integration                            *ale-autopkgtest-options*


===============================================================================
debian-lsp                                          *ale-autopkgtest-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog,
debian/watch, debian/tests/control, debian/upstream/metadata, and
debian/source/format files with features including diagnostics, completions,
and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

-------------------------------------------------------------------------------
Options
                                  *ale-options.autopkgtest_debian_lsp_executable*
                                        *g:ale_autopkgtest_debian_lsp_executable*
                                        *b:ale_autopkgtest_debian_lsp_executable*
autopkgtest_debian_lsp_executable
g:ale_autopkgtest_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Avra (`doc/ale-avra.txt`)

===============================================================================
ALE AVRA Integration                                         *ale-avra-options*


===============================================================================
avra                                                            *ale-avra-avra*

                                             *ale-options.avra_avra_executable*
                                                   *g:ale_avra_avra_executable*
                                                   *b:ale_avra_avra_executable*
avra_avra_executable
g:ale_avra_avra_executable
  Type: |String|
  Default `'avra'`

  This variable can be changed to use different executable for AVRA.

                                                *ale-options.avra_avra_options*
                                                      *g:ale_avra_avra_options*
                                                      *b:ale_avra_avra_options*
avra_avra_options
g:ale_avra_avra_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to AVRA.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Awk (`doc/ale-awk.txt`)

===============================================================================
ALE Awk Integration                                           *ale-awk-options*


===============================================================================
gawk                                                             *ale-awk-gawk*

                                              *ale-options.awk_gawk_executable*
                                                    *g:ale_awk_gawk_executable*
                                                    *b:ale_awk_gawk_executable*
awk_gawk_executable
g:ale_awk_gawk_executable
  Type: |String|
  Default: `'gawk'`

  This variable sets executable used for gawk.

                                                 *ale-options.awk_gawk_options*
                                                       *g:ale_awk_gawk_options*
                                                       *b:ale_awk_gawk_options*
awk_gawk_options
g:ale_awk_gawk_options
  Type: |String|
  Default: `''`

  With this variable we are able to pass extra arguments for gawk for
  invocation.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Bats (`doc/ale-bats.txt`)

===============================================================================
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:

---

### Doc Ale Bazel (`doc/ale-bazel.txt`)

===============================================================================
ALE Bazel Integration                                       *ale-bazel-options*

===============================================================================
buildifier                                               *ale-bazel-buildifier*

                                      *ale-options.bazel_buildifier_executable*
                                            *g:ale_bazel_buildifier_executable*
                                            *b:ale_bazel_buildifier_executable*
bazel_buildifier_executable
g:ale_bazel_buildifier_executable
  Type: |String|
  Default: `'buildifier'`

  See |ale-integrations-local-executables|

                                         *ale-options.bazel_buildifier_options*
                                               *g:ale_bazel_buildifier_options*
                                               *b:ale_bazel_buildifier_options*
bazel_buildifier_options
g:ale_bazel_buildifier_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to buildifier.

                                      *ale-options.bazel_buildifier_use_global*
                                            *g:ale_bazel_buildifier_use_global*
                                            *b:ale_bazel_buildifier_use_global*
bazel_buildifier_use_global
g:ale_bazel_buildifier_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Bib (`doc/ale-bib.txt`)

===============================================================================
ALE BibTeX Integration                                        *ale-bib-options*


===============================================================================
bibclean                                                     *ale-bib-bibclean*

                                          *ale-options.bib_bibclean_executable*
                                                *g:ale_bib_bibclean_executable*
                                                *b:ale_bib_bibclean_executable*
bib_bibclean_executable
g:ale_bib_bibclean_executable
  Type: |String|
  Default: `'bibclean'`

                                             *ale-options.bib_bibclean_options*
                                                   *g:ale_bib_bibclean_options*
                                                   *b:ale_bib_bibclean_options*
bib_bibclean_options
g:ale_bib_bibclean_options
  Type: |String|
  Default: `'-align-equals'`


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Bicep (`doc/ale-bicep.txt`)

===============================================================================
ALE Bicep Integration                                       *ale-bicep-options*


===============================================================================
bicep                                                         *ale-bicep-bicep*

                                           *ale-options.bicep_bicep_executable*
                                                 *g:ale_bicep_bicep_executable*
                                                 *b:ale_bicep_bicep_executable*
bicep_bicep_executable
g:ale_bicep_bicep_executable
  Type: |String|
  Default: `'bicep'`

  This variable can be set to change the path to bicep.

                                              *ale-options.bicep_bicep_options*
                                                    *g:ale_bicep_bicep_options*
                                                    *b:ale_bicep_bicep_options*
bicep_bicep_options
g:ale_bicep_bicep_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to bicep.


===============================================================================
az_bicep                                                   *ale-bicep-az_bicep*

                                        *ale-options.bicep_az_bicep_executable*
                                              *g:ale_bicep_az_bicep_executable*
                                              *b:ale_bicep_az_bicep_executable*
bicep_az_bicep_executable
g:ale_bicep_az_bicep_executable
  Type: |String|
  Default: `'az'`

  This variable can be set to change the path to az_bicep.

                                           *ale-options.bicep_az_bicep_options*
                                                 *g:ale_bicep_az_bicep_options*
                                                 *b:ale_bicep_az_bicep_options*
bicep_az_bicep_options
g:ale_bicep_az_bicep_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to az_bicep.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Bindzone (`doc/ale-bindzone.txt`)

===============================================================================
ALE BINDZone Integration                                 *ale-bindzone-options*

===============================================================================
checkzone                                              *ale-bindzone-checkzone*

                                    *ale-options.bindzone_checkzone_executable*
                                          *g:ale_bindzone_checkzone_executable*
                                          *b:ale_bindzone_checkzone_executable*
bindzone_checkzone_executable
g:ale_bindzone_checkzone_executable
  Type: |String|
  Default: `named-checkzone`

  This variable can be changed to set the path to named-checkzone executable.

                                       *ale-options.bindzone_checkzone_options*
                                             *g:ale_bindzone_checkzone_options*
                                             *b:ale_bindzone_checkzone_options*
bindzone_checkzone_options
g:ale_bindzone_checkzone_options
  Type: |String|
  Default: `-c IN`

  This variable can be changed to add additional command-line arguments.
  All available options can be found at:

  https://bind9.readthedocs.io/en/stable/manpages.html#named-checkzone-zone-file-validation-tool


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Bitbake (`doc/ale-bitbake.txt`)

===============================================================================
ALE BitBake Integration                                   *ale-bitbake-options*


===============================================================================
oelint-adv                                             *ale-bitbake-oelint_adv*

                                    *ale-options.bitbake_oelint_adv_executable*
                                          *g:ale_bitbake_oelint_adv_executable*
                                          *b:ale_bitbake_oelint_adv_executable*
bitbake_oelint_adv_executable
g:ale_bitbake_oelint_adv_executable

  Type: |String|
  Default: `'oelint-adv'`

  This variable can be changed to use a different executable for oelint-adv.

                                       *ale-options.bitbake_oelint_adv_options*
                                             *g:ale_bitbake_oelint_adv_options*
                                             *b:ale_bitbake_oelint_adv_options*
bitbake_oelint_adv_options
g:ale_bitbake_oelint_adv_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to oelint-adv.

                                        *ale-options.bitbake_oelint_adv_config*
                                              *g:ale_bitbake_oelint_adv_config*
                                              *b:ale_bitbake_oelint_adv_config*
g:ale_bitbake_oelint_adv_config
  Type: |String|
  Default: `'.oelint.cfg'`

  This variable can be set to use a different config file.


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale C (`doc/ale-c.txt`)

===============================================================================
ALE C Integration                                               *ale-c-options*

For basic checking of problems with C files, ALE offers the `cc` linter, which
runs either `clang`, or `gcc`. See |ale-c-cc|.


===============================================================================
Global Options
                                                    *ale-options.c_always_make*
                                                          *g:ale_c_always_make*
                                                          *b:ale_c_always_make*
c_always_make
g:ale_c_always_make
  Type: |Number|
  Default: `has('unix') && !has('macunix')`

  If set to `1`, use `--always-make` for `make`, which means that output will
  always be parsed from `make` dry runs with GNU make. BSD `make` does not
  support this option, so you probably want to turn this option off when using
  a BSD variant.

                                                *ale-options.c_build_dir_names*
                                                      *g:ale_c_build_dir_names*
                                                      *b:ale_c_build_dir_names*
c_build_dir_names
g:ale_c_build_dir_names
  Type: |List|
  Default: `['build', 'build/Debug', 'build/Release', 'bin']`

  A list of directory names to be used when searching upwards from C files
  to discover compilation databases with. For directory named `'foo'`, ALE
  will search for `'foo/compile_commands.json'` in all directories on and
  above the directory containing the C file to find path to compilation
  database.  This feature is useful for the clang tools wrapped around
  LibTooling (namely here, clang-tidy)

                                                      *ale-options.c_build_dir*
                                                            *g:ale_c_build_dir*
                                                            *b:ale_c_build_dir*
c_build_dir
g:ale_c_build_dir
  Type: |String|
  Default: `''`

  For programs that can read `compile_commands.json` files, this option can be
  set to the directory containing the file for the project. ALE will try to
  determine the location of `compile_commands.json` automatically, but if your
  file exists in some other directory, you can set this option so ALE will
  know where it is.

  This directory will be searched instead of |g:ale_c_build_dir_names|.

                                         *ale-options.c_parse_compile_commands*
                                               *g:ale_c_parse_compile_commands*
                                               *b:ale_c_parse_compile_commands*
c_parse_compile_commands
g:ale_c_parse_compile_commands
  Type: |Number|
  Default: `1`

  If set to `1`, ALE will parse `compile_commands.json` files to automatically
  determine flags for C or C++ compilers. ALE will first search for the
  nearest `compile_commands.json` file, and then look for
  `compile_commands.json` files in the directories for
  |g:ale_c_build_dir_names|.

                                                 *ale-options.c_parse_makefile*
                                                       *g:ale_c_parse_makefile*
                                                       *b:ale_c_parse_makefile*
c_parse_makefile
g:ale_c_parse_makefile
  Type: |Number|
  Default: `0`

  If set to `1`, ALE will run `make -n` to automatically determine flags to
  set for C or C++ compilers. This can make it easier to determine the correct
  build flags to use for different files.

  NOTE: When using this option on BSD, you may need to set
  |g:ale_c_always_make| to `0`, and `make -n` will not provide consistent
  results if binaries have already been built, so use `make clean` when
  editing your files.

  WARNING: Running `make -n` automatically can execute arbitrary code, even
  though it's supposed to be a dry run, so enable this option with care. You
  might prefer to use the buffer-local version of the option instead with
  |g:ale_pattern_options|, or you own code for checking which project you're
  in.

  You might want to disable this option if `make -n` takes too long to run for
  projects you work on.

  If |g:ale_c_parse_compile_commands| or |b:ale_c_parse_compile_commands| is
  set to `1`, flags taken from `compile_commands.json` will be preferred over
  `make -n` output.


===============================================================================
astyle                                                           *ale-c-astyle*

                                              *ale-options.c_astyle_executable*
                                                    *g:ale_c_astyle_executable*
                                                    *b:ale_c_astyle_executable*
c_astyle_executable
g:ale_c_astyle_executable
  Type: |String|
  Default: `'astyle'`

  This variable can be changed to use a different executable for astyle.

                                         *ale-options.c_astyle_project_options*
                                               *g:ale_c_astyle_project_options*
                                               *b:ale_c_astyle_project_options*
c_astyle_project_options
g: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.


===============================================================================
cc                                                                   *ale-c-cc*
                                                                    *ale-c-gcc*
                                                                  *ale-c-clang*

                                                  *ale-options.c_cc_executable*
                                                        *g:ale_c_cc_executable*
                                                        *b:ale_c_cc_executable*
c_cc_executable
g:ale_c_cc_executable
  Type: |String|
  Default: `'<auto>'`

  This variable can be changed to use a different executable for a C compiler.

  ALE will try to use `clang` if Clang is available, otherwise ALE will
  default to checking C code with `gcc`.

                                                     *ale-options.c_cc_options*
                                                           *g:ale_c_cc_options*
                                                           *b:ale_c_cc_options*
c_cc_options
g:ale_c_cc_options
  Type: |String|
  Default: `'-std=c11 -Wall'`

  This variable can be changed to modify flags given to the C compiler.

                                        *ale-options.c_cc_use_header_lang_flag*
                                              *g:ale_c_cc_use_header_lang_flag*
                                              *b:ale_c_cc_use_header_lang_flag*
c_cc_use_header_lang_flag
g:ale_c_cc_use_header_lang_flag
  Type: |Number|
  Default: `-1`

  By default, ALE will use `'-x c-header'` instead of `'-x c'` for header files
  when using Clang.

  This variable can be changed to manually activate or deactivate this flag
  for header files.

  - When set to `-1`, the default beviour is used, `'-x c-header'` is used with
    Clang and `'-x c'` is used with other compilers.
  - When set to `0`, the flag is deactivated, `'-x c'` is always used
    independently of the compiler.
  - When set to `1`, the flag is activated, `'-x c-header'` is always used
    independently of the compiler.

  Gcc does not support `'-x c-header'` when using `'-'` as input filename,
  which is what ALE does. This why, by default, ALE only uses `'-x c-header'`
  with Clang.

                                                 *ale-options.c_cc_header_exts*
                                                       *g:ale_c_cc_header_exts*
                                                       *b:ale_c_cc_header_exts*
c_cc_header_exts
g:ale_c_cc_header_exts
  Type: |List|
  Default: `['h']`

  This variable can be changed to modify the list of extensions of the files
  considered as header files.

  This variable is only used when `'-x c-header'` is used instead of `'-x c'`,
  see |g:ale_c_cc_use_header_lang_flag|.


===============================================================================
ccls                                                               *ale-c-ccls*

                                                *ale-options.c_ccls_executable*
                                                      *g:ale_c_ccls_executable*
                                                      *b:ale_c_ccls_executable*
c_ccls_executable
g:ale_c_ccls_executable
  Type: |String|
  Default: `'ccls'`

  This variable can be changed to use a different executable for ccls.

                                              *ale-options.c_ccls_init_options*
                                                    *g:ale_c_ccls_init_options*
                                                    *b:ale_c_ccls_init_options*
c_ccls_init_options
g:ale_c_ccls_init_options
  Type: |Dictionary|
  Default: `{}`

  This variable can be changed to customize ccls initialization options.
  For example: >

  let g:ale_c_ccls_init_options = {
  \   'cacheDirectory': '/tmp/ccls',
  \   'cacheFormat': 'binary',
  \   'diagnostics': {
  \       'onOpen': 0,
  \       'opChange': 1000,
  \   },
  \}
<
  For all available options and explanations, visit
  https://github.com/MaskRay/ccls/wiki/Customization#initialization-options.


===============================================================================
clangcheck                                                   *ale-c-clangcheck*

`clang-check` will be run only when files are saved to disk, so that
`compile_commands.json` files can be used. It is recommended to use this
linter in combination with `compile_commands.json` files.
Therefore, `clang-check` linter reads the options |g:ale_c_build_dir| and
|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually
overrides |g:ale_c_build_dir_names|.


-------------------------------------------------------------------------------
Options
                                          *ale-options.c_clangcheck_executable*
                                                *g:ale_c_clangcheck_executable*
                                                *b:ale_c_clangcheck_executable*
c_clangcheck_executable
g:ale_c_clangcheck_executable
  Type: |String|
  Default: `'clang-check'`

  This variable can be changed to use a different executable for clangcheck.

                                             *ale-options.c_clangcheck_options*
                                                   *g:ale_c_clangcheck_options*
                                                   *b:ale_c_clangcheck_options*
c_clangcheck_options
g:ale_c_clangcheck_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clang-check.

  This variable should not be set to point to build subdirectory with
  `-p path/to/build` option, as it is handled by the |g:ale_c_build_dir|
  option.


===============================================================================
clangd                                                           *ale-c-clangd*

                                              *ale-options.c_clangd_executable*
                                                    *g:ale_c_clangd_executable*
                                                    *b:ale_c_clangd_executable*
c_clangd_executable
g:ale_c_clangd_executable
  Type: |String|
  Default: `'clangd'`

  This variable can be changed to use a different executable for clangd.

                                                 *ale-options.c_clangd_options*
                                                       *g:ale_c_clangd_options*
                                                       *b:ale_c_clangd_options*
c_clangd_options
g:ale_c_clangd_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clangd.


===============================================================================
clang-format                                                *ale-c-clangformat*

                                         *ale-options.c_clangformat_executable*
                                               *g:ale_c_clangformat_executable*
                                               *b:ale_c_clangformat_executable*
c_clangformat_executable
g:ale_c_clangformat_executable
  Type: |String|
  Default: `'clang-format'`

  This variable can be changed to use a different executable for clang-format.

                                            *ale-options.c_clangformat_options*
                                                  *g:ale_c_clangformat_options*
                                                  *b:ale_c_clangformat_options*
c_clangformat_options
g:ale_c_clangformat_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clang-format.

                                       *ale-options.c_clangformat_style_option*
                                             *g:ale_c_clangformat_style_option*
                                             *b:ale_c_clangformat_style_option*
c_clangformat_style_option
g:ale_c_clangformat_style_option
  Type: |String|
  Default: `''`

  This variable can be changed to modify only the style flag given to
  clang-format. The contents of the variable are passed directly to the -style
  flag of clang-format.

  Example: >
  let g:ale_c_clangformat_style_option = {
  \   'BasedOnStyle': 'Microsoft',
  \   'ColumnLimit': 80,
  \   'AllowShortBlocksOnASingleLine': 'Always',
  \   'AllowShortFunctionsOnASingleLine': 'Inline',
  \}
<
  If you set this variable, ensure you don't modify -style in
  |g:ale_c_clangformat_options|, as this will cause clang-format to error.

                                     *ale-options.c_clangformat_use_local_file*
                                           *g:ale_c_clangformat_use_local_file*
                                           *b:ale_c_clangformat_use_local_file*
c_clangformat_use_local_file
g:ale_c_clangformat_use_local_file
  Type: |Number|
  Default: `0`

  This variable can be changed to modify whether to use a local .clang-format
  file. If the file is found, the flag '-style=file' is passed to clang-format
  and any options configured via |g:ale_c_clangformat_style_option| are not
  passed.

  If this option is enabled but no .clang-format file is found, default back to
  |g:ale_c_clangformat_style_option|, if it set.

  If you set this variable, ensure you don't modify -style in
  |g:ale_c_clangformat_options|, as this will cause clang-format to error.


===============================================================================
clangtidy                                                     *ale-c-clangtidy*

`clang-tidy` will be run only when files are saved to disk, so that
`compile_commands.json` files can be used. It is recommended to use this
linter in combination with `compile_commands.json` files.
Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and
|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually
overrides |g:ale_c_build_dir_names|.


-------------------------------------------------------------------------------
Options
                                               *ale-options.c_clangtidy_checks*
                                                     *g:ale_c_clangtidy_checks*
                                                     *b:ale_c_clangtidy_checks*
c_clangtidy_checks
g:ale_c_clangtidy_checks
  Type: |List|
  Default: `[]`

  The checks to enable for clang-tidy with the `-checks` argument.

  All options will be joined with commas, and escaped appropriately for
  the shell. The `-checks` flag can be removed entirely by setting this
  option to an empty List.

  Not all of clangtidy checks are applicable for C. You should consult the
  clang documentation for an up-to-date list of compatible checks:
  http://clang.llvm.org/extra/clang-tidy/checks/list.html

                                           *ale-options.c_clangtidy_executable*
                                                 *g:ale_c_clangtidy_executable*
                                                 *b:ale_c_clangtidy_executable*
c_clangtidy_executable
g:ale_c_clangtidy_executable
  Type: |String|
  Default: `'clang-tidy'`

  This variable can be changed to use a different executable for clangtidy.

                                              *ale-options.c_clangtidy_options*
                                                    *g:ale_c_clangtidy_options*
                                                    *b:ale_c_clangtidy_options*
c_clangtidy_options
g:ale_c_clangtidy_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify compiler flags given to clang-tidy.

  - Setting this variable to a non-empty string,
  - and working in a buffer where no compilation database is found using
    |g:ale_c_build_dir_names| or |g:ale_c_build_dir|,
  will cause the `--` argument to be passed to `clang-tidy`, which will mean
  that detection of `compile_commands.json` files for compile command
  databases will be disabled.
  Only set this option if you want to control compiler flags
  entirely manually, and no `compile_commands.json` file is in one
  of the |g:ale_c_build_dir_names| directories of the project tree.

                                        *ale-options.c_clangtidy_extra_options*
                                              *g:ale_c_clangtidy_extra_options*
                                              *b:ale_c_clangtidy_extra_options*
c_clangtidy_extra_options
g:ale_c_clangtidy_extra_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clang-tidy.

                                           *ale-options.c_clangtidy_fix_errors*
                                                 *g:ale_c_clangtidy_fix_errors*
                                                 *b:ale_c_clangtidy_fix_errors*
c_clangtidy_fix_errors
g:ale_c_clangtidy_fix_errors
  Type: |Number|
  Default: `1`

  This variable can be changed to disable the `-fix-errors` option for the
  |clangtidy| fixer.


===============================================================================
cppcheck                                                       *ale-c-cppcheck*

                                            *ale-options.c_cppcheck_executable*
                                                  *g:ale_c_cppcheck_executable*
                                                  *b:ale_c_cppcheck_executable*
c_cppcheck_executable
g:ale_c_cppcheck_executable
  Type: |String|
  Default: `'cppcheck'`

  This variable can be changed to use a different executable for cppcheck.

                                               *ale-options.c_cppcheck_options*
                                                     *g:ale_c_cppcheck_options*
                                                     *b:ale_c_cppcheck_options*
c_cppcheck_options
g:ale_c_cppcheck_options
  Type: |String|
  Default: `'--enable=style'`

  This variable can be changed to modify flags given to cppcheck.


===============================================================================
cquery                                                           *ale-c-cquery*

                                              *ale-options.c_cquery_executable*
                                                    *g:ale_c_cquery_executable*
                                                    *b:ale_c_cquery_executable*
c_cquery_executable
g:ale_c_cquery_executable
  Type: |String|
  Default: `'cquery'`

  This variable can be changed to use a different executable for cquery.

                                         *ale-options.c_cquery_cache_directory*
                                               *g:ale_c_cquery_cache_directory*
                                               *b:ale_c_cquery_cache_directory*
c_cquery_cache_directory
g:ale_c_cquery_cache_directory
  Type: |String|
  Default: `'~/.cache/cquery'`

  This variable can be changed to decide which directory cquery uses for its
  cache.


===============================================================================
cspell                                                           *ale-c-cspell*

See |ale-cspell-options|


===============================================================================
flawfinder                                                   *ale-c-flawfinder*

                                          *ale-options.c_flawfinder_executable*
                                                *g:ale_c_flawfinder_executable*
                                                *b:ale_c_flawfinder_executable*
c_flawfinder_executable
g:ale_c_flawfinder_executable
  Type: |String|
  Default: `'flawfinder'`

  This variable can be changed to use a different executable for flawfinder.

                                            *ale-options.c_flawfinder_minlevel*
                                                  *g:ale_c_flawfinder_minlevel*
                                                  *b:ale_c_flawfinder_minlevel*
c_flawfinder_minlevel
g:ale_c_flawfinder_minlevel
  Type: |Number|
  Default: `1`

  This variable can be changed to ignore risks under the given risk threshold.

                                             *ale-options.c_flawfinder_options*
                                                   *g:ale_c_flawfinder_options*
                                                           *b:ale-c-flawfinder*
c_flawfinder_options
g:ale_c_flawfinder_options
  Type: |String|
  Default: `''`

  This variable can be used to pass extra options into the flawfinder command.

                                      *ale-options.c_flawfinder_error_severity*
                                            *g:ale_c_flawfinder_error_severity*
                                            *b:ale_c_flawfinder_error_severity*
c_flawfinder_error_severity
g:ale_c_flawfinder_error_severity
  Type: |Number|
  Default: `6`

  This variable can be changed to set the minimum severity to be treated as an
  error.  This setting also applies to flawfinder for c++.


===============================================================================
uncrustify                                                   *ale-c-uncrustify*

                                          *ale-options.c_uncrustify_executable*
                                                *g:ale_c_uncrustify_executable*
                                                *b:ale_c_uncrustify_executable*
c_uncrustify_executable
g:ale_c_uncrustify_executable
  Type: |String|
  Default: `'uncrustify'`

  This variable can be changed to use a different executable for uncrustify.

                                             *ale-options.c_uncrustify_options*
                                                   *g:ale_c_uncrustify_options*
                                                   *b:ale_c_uncrustify_options*
c_uncrustify_options
g:ale_c_uncrustify_options
  Type: |String|
  Default: `''`

  This variable can be change to modify flags given to uncrustify.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale C3 (`doc/ale-c3.txt`)

===============================================================================
ALE C3 Integration                                             *ale-c3-options*

===============================================================================
c3lsp                                                            *ale-c3-c3lsp*

                                              *ale-options.c3_c3lsp_executable*
                                                    *g:ale_c3_c3lsp_executable*
                                                    *b:ale_c3_c3lsp_executable*
c3_c3lsp_executable
g:ale_c3_c3lsp_executable
  Type: |String|
  Default: `c3lsp`

  This variable can be changed to set the path to c3lsp executable.

                                                 *ale-options.c3_c3lsp_options*
                                                       *g:ale_c3_c3lsp_options*
                                                       *b:ale_c3_c3lsp_options*
c3_c3lsp_options
g:ale_c3_c3lsp_options
  Type: |String|
  Default: `''`

  Add command line options to the c3lsp executable. This is useful to specify
  the path to the C3 standard library with '-stdlib-path=<path>'.

                                            *ale-options.c3_c3lsp_init_options*
                                                  *g:ale_c3_c3lsp_init_options*
                                                  *b:ale_c3_c3lsp_init_options*
c3_c3lsp_init_options
g:ale_c3_c3lsp_init_options
  Type: |Dictionary|
  Default: `{}`

  Dictionary containing configuration settings that will be passed to the
  language server.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Cairo (`doc/ale-cairo.txt`)

===============================================================================
ALE Cairo Integration                                       *ale-cairo-options*


===============================================================================
scarb                                                         *ale-cairo-scarb*

                                           *ale-options.cairo_scarb_executable*
                                                 *g:ale_cairo_scarb_executable*
                                                 *b:ale_cairo_scarb_executable*
cairo_scarb_executable
g:ale_cairo_scarb_executable
  Type: |String|
  Default: `'scarb build'`

  For Cairo1 projects using Scarb

  For more information read 'https://docs.swmansion.com/scarb/'


===============================================================================
starknet                                                   *ale-cairo-starknet*

                                        *ale-options.cairo_starknet_executable*
                                              *g:ale_cairo_starknet_executable*
                                              *b:ale_cairo_starknet_executable*
cairo_starknet_executable
g:ale_cairo_starknet_executable
  Type: |String|
  Default: `'starknet-compile'`

  Overrides the starknet-compile binary after installing the cairo-language.

  For more information read 'https://starknet.io/docs/quickstart.html'


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Chef (`doc/ale-chef.txt`)

===============================================================================
ALE Chef Integration                                         *ale-chef-options*


===============================================================================
cookstyle                                                  *ale-chef-cookstyle*

                                           *ale-options.chef_cookstyle_options*
                                                 *g:ale_chef_cookstyle_options*
                                                 *b:ale_chef_cookstyle_options*
chef_cookstyle_options
g:ale_chef_cookstyle_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to cookstyle.

                                        *ale-options.chef_cookstyle_executable*
                                              *g:ale_chef_cookstyle_executable*
                                              *b:ale_chef_cookstyle_executable*
chef_cookstyle_executable
g:ale_chef_cookstyle_executable
  Type: |String|
  Default: `'cookstyle'`

  This variable can be changed to point to the cookstyle binary in case it's
  not on the $PATH or a specific version/path must be used.


===============================================================================
foodcritic                                                *ale-chef-foodcritic*

                                          *ale-options.chef_foodcritic_options*
                                                *g:ale_chef_foodcritic_options*
                                                *b:ale_chef_foodcritic_options*
chef_foodcritic_options
g:ale_chef_foodcritic_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to foodcritic.

                                       *ale-options.chef_foodcritic_executable*
                                             *g:ale_chef_foodcritic_executable*
                                             *b:ale_chef_foodcritic_executable*
chef_foodcritic_executable
g:ale_chef_foodcritic_executable
  Type: |String|
  Default: `'foodcritic'`

  This variable can be changed to point to the foodcritic binary in case it's
  not on the $PATH or a specific version/path must be used.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Clojure (`doc/ale-clojure.txt`)

===============================================================================
ALE Clojure Integration                                   *ale-clojure-options*


===============================================================================
clj-kondo                                               *ale-clojure-clj-kondo*

A minimal and opinionated linter for code that sparks joy.

https://github.com/borkdude/clj-kondo


-------------------------------------------------------------------------------
Options
                                        *ale-options.clojure_clj_kondo_options*
                                              *g:ale_clojure_clj_kondo_options*
                                              *b:ale_clojure_clj_kondo_options*
clojure_clj_kondo_options
g:ale_clojure_clj_kondo_options
  Type: |String|
  Default: `'--cache'`

  This variable can be changed to modify options passed to clj-kondo.


===============================================================================
cljfmt                                                     *ale-clojure-cljfmt*

cljfmt is a linter and fixer for Clojure code, with defaults adhering to the
Clojure Style Guide (see https://guide.clojure.style/ )

https://github.com/weavejester/cljfmt

Linting options are not configurable by ale, but instead are controlled by
Leiningen, or a cljfmt file in the current or parent directories.

see https://github.com/weavejester/cljfmt#Configuration for more information.

===============================================================================
joker                                                       *ale-clojure-joker*

Joker is a small Clojure interpreter and linter written in Go.

https://github.com/candid82/joker

Linting options are not configurable by ale, but instead are controlled by a
`.joker` file in same directory as the file (or current working directory if
linting stdin), a parent directory relative to the file, or the users home
directory.

see https://github.com/candid82/joker#linter-mode for more information.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Cloudformation (`doc/ale-cloudformation.txt`)

===============================================================================
ALE CloudFormation Integration                     *ale-cloudformation-options*


===============================================================================
cfn-python-lint                            *ale-cloudformation-cfn-python-lint*

cfn-python-lint is a linter for AWS CloudFormation template file.

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 use setuptools. >

  python setup.py clean --all
  python setup.py install
<
You can install the linter via brew on 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 the following in `ftdetect/cloudformation.vim`: >

  au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation

This will get both cloudformation and yaml linters to work on any file with
`.template.yaml` extension.


===============================================================================
checkov                                            *ale-cloudformation-checkov*

                                *ale-options.cloudformation_checkov_executable*
                                      *g:ale_cloudformation_checkov_executable*
                                      *b:ale_cloudformation_checkov_executable*
cloudformation_checkov_executable
g:ale_cloudformation_checkov_executable
  Type: |String|
  Default: `'checkov'`

  This variable can be changed to use a different executable for checkov.

                                   *ale-options.cloudformation_checkov_options*
                                         *g:ale_cloudformation_checkov_options*
                                         *b:ale_cloudformation_checkov_options*
cloudformation_checkov_options
g:ale_cloudformation_checkov_options
  Type: |String|
  Default: `''`

  This variable can be changed to set additional options for checkov.


-------------------------------------------------------------------------------
Configuration

To get chekov to work with cloudformation files (rather than general yaml
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.

One option is to put the following in `ftdetect/cloudformation.vim`: >

  au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation

This will get both cloudformation and yaml linters to work on any file with
`.template.yaml` extension.

Another option is to check for the presence of 'AWSTemplateFormatVersion' in
the yaml file: >

  au BufRead,BufNewFile *.yaml,*.yml if search('AWSTemplateFormatVersion', 'nw') | set filetype=yaml.cloudformation | endif
<

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Cmake (`doc/ale-cmake.txt`)

===============================================================================
ALE CMake Integration                                       *ale-cmake-options*


===============================================================================
cmakelint                                                 *ale-cmake-cmakelint*

                                       *ale-options.cmake_cmakelint_executable*
                                             *g:ale_cmake_cmakelint_executable*
                                             *b:ale_cmake_cmakelint_executable*
cmake_cmakelint_executable
g:ale_cmake_cmakelint_executable
  Type: |String|
  Default: `'cmakelint'`

  This variable can be set to change the path the cmakelint.

                                          *ale-options.cmake_cmakelint_options*
                                                *g:ale_cmake_cmakelint_options*
                                                *b:ale_cmake_cmakelint_options*
cmake_cmakelint_options
g:ale_cmake_cmakelint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to cmakelint.


===============================================================================
cmake-lint                                                *ale-cmake-cmake-lint*

                                      *ale-options.cmake_cmake_lint_executable*
                                            *g:ale_cmake_cmake_lint_executable*
                                             *b:ale_cmake_cmake_lint_executable*
cmake_cmake_lint_executable
g:ale_cmake_cmake_lint_executable
  Type: |String|
  Default: `'cmake-lint'`

  This variable can be set to change the path the cmake-lint.

                                         *ale-options.cmake_cmake_lint_options*
                                               *g:ale_cmake_cmake_lint_options*
                                                *b:ale_cmake_cmake_lint_options*
cmake_cmake_lint_options
g:ale_cmake_cmake_lint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to cmake-lint.


===============================================================================
cmake-format                                            *ale-cmake-cmakeformat*

                                     *ale-options.cmake_cmakeformat_executable*
                                           *g:ale_cmake_cmakeformat_executable*
                                           *b:ale_cmake_cmakeformat_executable*
cmake_cmakeformat_executable
g:ale_cmake_cmakeformat_executable
  Type: |String|
  Default: `'cmakeformat'`

  This variable can be set to change the path the cmake-format.

                                        *ale-options.cmake_cmakeformat_options*
                                              *g:ale_cmake_cmakeformat_options*
                                              *b:ale_cmake_cmakeformat_options*
cmake_cmakeformat_options
g:ale_cmake_cmakeformat_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to cmake-format.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Cpp (`doc/ale-cpp.txt`)

===============================================================================
ALE C++ Integration                                           *ale-cpp-options*

For basic checking of problems with C++ files, ALE offers the `cc` linter,
which runs either `clang++`, or `gcc`. See |ale-cpp-cc|.


===============================================================================
Global Options

The following C options also apply to some C++ linters too.

* |g:ale_c_always_make|
* |g:ale_c_build_dir_names|
* |g:ale_c_build_dir|
* |g:ale_c_parse_makefile|
* |g:ale_c_parse_compile_commands|


===============================================================================
astyle                                                         *ale-cpp-astyle*

                                            *ale-options.cpp_astyle_executable*
                                                  *g:ale_cpp_astyle_executable*
                                                  *b:ale_cpp_astyle_executable*
cpp_astyle_executable
g:ale_cpp_astyle_executable
  Type: |String|
  Default: `'astyle'`

  This variable can be changed to use a different executable for astyle.

                                       *ale-options.cpp_astyle_project_options*
                                             *g:ale_cpp_astyle_project_options*
                                             *b:ale_cpp_astyle_project_options*
cpp_astyle_project_options
g: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.


===============================================================================
cc                                                                 *ale-cpp-cc*
                                                                  *ale-cpp-gcc*
                                                                *ale-cpp-clang*

                                                *ale-options.cpp_cc_executable*
                                                      *g:ale_cpp_cc_executable*
                                                      *b:ale_cpp_cc_executable*
cpp_cc_executable
g:ale_cpp_cc_executable
  Type: |String|
  Default: `'<auto>'`

  This variable can be changed to use a different executable for a C++ compiler.

  ALE will try to use `clang++` if Clang is available, otherwise ALE will
  default to checking C++ code with `gcc`.

                                                   *ale-options.cpp_cc_options*
                                                         *g:ale_cpp_cc_options*
                                                         *b:ale_cpp_cc_options*
cpp_cc_options
g:ale_cpp_cc_options
  Type: |String|
  Default: `'-std=c++14 -Wall'`

  This variable can be changed to modify flags given to the C++ compiler.

                                      *ale-options.cpp_cc_use_header_lang_flag*
                                            *g:ale_cpp_cc_use_header_lang_flag*
                                            *b:ale_cpp_cc_use_header_lang_flag*
cpp_cc_use_header_lang_flag
g:ale_cpp_cc_use_header_lang_flag
  Type: |Number|
  Default: `-1`

  By default, ALE will use `'-x c++-header'` instead of `'-x c++'` for header
  files when using Clang.

  This variable can be changed to manually activate or deactivate this flag
  for header files.

  - When set to `-1`, the default behavior is used, `'-x c++-header'` is used
    with Clang and `'-x c++'` is used with other compilers.
  - When set to `0`, the flag is deactivated, `'-x c++'` is always used
    independently of the compiler.
  - When set to `1`, the flag is activated, `'-x c++-header'` is always used
    independently of the compiler.

  GCC does not support `'-x c++-header'` when using `'-'` as input filename,
  which is what ALE does. This why, by default, ALE only uses `'-x c++-header'`
  with Clang.

                                               *ale-options.cpp_cc_header_exts*
                                                     *g:ale_cpp_cc_header_exts*
                                                     *b:ale_cpp_cc_header_exts*
cpp_cc_header_exts
g:ale_cpp_cc_header_exts
  Type: |List|
  Default: `['h', 'hpp']`

  This variable can be changed to modify the list of extensions of the files
  considered as header files.

  This variable is only used when `'-x c++-header'` is used instead of `'-x c++'`,
  see |g:ale_cpp_cc_use_header_lang_flag|.


===============================================================================
ccls                                                             *ale-cpp-ccls*

                                              *ale-options.cpp_ccls_executable*
                                                    *g:ale_cpp_ccls_executable*
                                                    *b:ale_cpp_ccls_executable*
cpp_ccls_executable
g:ale_cpp_ccls_executable
  Type: |String|
  Default: `'ccls'`

  This variable can be changed to use a different executable for ccls.

                                            *ale-options.cpp_ccls_init_options*
                                                  *g:ale_cpp_ccls_init_options*
                                                  *b:ale_cpp_ccls_init_options*
cpp_ccls_init_options
g:ale_cpp_ccls_init_options
  Type: |Dictionary|
  Default: `{}`

  This variable can be changed to customize ccls initialization options.
  Example: >

  let g:ale_cpp_ccls_init_options = {
  \   'cacheDirectory': '/tmp/ccls',
  \   'cacheFormat': 'binary',
  \   'diagnostics': {
  \       'onOpen': 0,
  \       'opChange': 1000,
  \   },
  \}
<
  Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all
  available options and explanations.


===============================================================================
clangcheck                                                 *ale-cpp-clangcheck*

`clang-check` will be run only when files are saved to disk, so that
`compile_commands.json` files can be used. It is recommended to use this
linter in combination with `compile_commands.json` files.  Therefore,
`clang-check` linter reads the options |g:ale_c_build_dir| and
|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually
overrides |g:ale_c_build_dir_names|.


-------------------------------------------------------------------------------
Options
                                        *ale-options.cpp_clangcheck_executable*
                                              *g:ale_cpp_clangcheck_executable*
                                              *b:ale_cpp_clangcheck_executable*
cpp_clangcheck_executable
g:ale_cpp_clangcheck_executable
  Type: |String|
  Default: `'clang-check'`

  This variable can be changed to use a different executable for clangcheck.

                                           *ale-options.cpp_clangcheck_options*
                                                 *g:ale_cpp_clangcheck_options*
                                                 *b:ale_cpp_clangcheck_options*
cpp_clangcheck_options
g:ale_cpp_clangcheck_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clang-check.

  This variable should not be set to point to build subdirectory with
  `-p path/to/build` option, as it is handled by the |g:ale_c_build_dir|
  option.


===============================================================================
clangd                                                         *ale-cpp-clangd*

                                            *ale-options.cpp_clangd_executable*
                                                  *g:ale_cpp_clangd_executable*
                                                  *b:ale_cpp_clangd_executable*
cpp_clangd_executable
g:ale_cpp_clangd_executable
  Type: |String|
  Default: `'clangd'`

  This variable can be changed to use a different executable for clangd.

                                               *ale-options.cpp_clangd_options*
                                                     *g:ale_cpp_clangd_options*
                                                     *b:ale_cpp_clangd_options*
cpp_clangd_options
g:ale_cpp_clangd_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clangd.


===============================================================================
clang-format                                              *ale-cpp-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for C++.


===============================================================================
clangtidy                                                   *ale-cpp-clangtidy*

`clang-tidy` will be run only when files are saved to disk, so that
`compile_commands.json` files can be used. It is recommended to use this
linter in combination with `compile_commands.json` files.
Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and
|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually
overrides |g:ale_c_build_dir_names|.


-------------------------------------------------------------------------------
Options
                                             *ale-options.cpp_clangtidy_checks*
                                                   *g:ale_cpp_clangtidy_checks*
                                                   *b:ale_cpp_clangtidy_checks*
cpp_clangtidy_checks
g:ale_cpp_clangtidy_checks
  Type: |List|
  Default: `[]`

  The checks to enable for clang-tidy with the `-checks` argument.

  All options will be joined with commas, and escaped appropriately for
  the shell. The `-checks` flag can be removed entirely by setting this
  option to an empty List.

                                         *ale-options.cpp_clangtidy_executable*
                                               *g:ale_cpp_clangtidy_executable*
                                               *b:ale_cpp_clangtidy_executable*
cpp_clangtidy_executable
g:ale_cpp_clangtidy_executable
  Type: |String|
  Default: `'clang-tidy'`

  This variable can be changed to use a different executable for clangtidy.

                                            *ale-options.cpp_clangtidy_options*
                                                  *g:ale_cpp_clangtidy_options*
                                                  *b:ale_cpp_clangtidy_options*
cpp_clangtidy_options
g:ale_cpp_clangtidy_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify compiler flags given to clang-tidy.

  - Setting this variable to a non-empty string,
  - and working in a buffer where no compilation database is found using
    |g:ale_c_build_dir_names| or |g:ale_c_build_dir|,
  will cause the `--` argument to be passed to `clang-tidy`, which will mean
  that detection of `compile_commands.json` files for compile command
  databases will be disabled.
  Only set this option if you want to control compiler flags
  entirely manually, and no `compile_commands.json` file is in one
  of the |g:ale_c_build_dir_names| directories of the project tree.

                                      *ale-options.cpp_clangtidy_extra_options*
                                            *g:ale_cpp_clangtidy_extra_options*
                                            *b:ale_cpp_clangtidy_extra_options*
cpp_clangtidy_extra_options
g:ale_cpp_clangtidy_extra_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clang-tidy.

                                         *ale-options.cpp_clangtidy_fix_errors*
                                               *g:ale_cpp_clangtidy_fix_errors*
                                               *b:ale_cpp_clangtidy_fix_errors*
cpp_clangtidy_fix_errors
g:ale_cpp_clangtidy_fix_errors
  Type: |Number|
  Default: `1`

  This variable can be changed to disable the `-fix-errors` option for the
  |clangtidy| fixer.


===============================================================================
clazy                                                           *ale-cpp-clazy*

                                             *ale-options.cpp_clazy_executable*
                                                   *g:ale_cpp_clazy_executable*
                                                   *b:ale_cpp_clazy_executable*
cpp_clazy_executable
g:ale_cpp_clazy_executable
  Type: |String|
  Default: `'clazy-standalone'`

  This variable can be changed to use a different executable for clazy.

                                                 *ale-options.cpp_clazy_checks*
                                                       *g:ale_cpp_clazy_checks*
                                                       *b:ale_cpp_clazy_checks*
cpp_clazy_checks
g:ale_cpp_clazy_checks
  Type: |List|
  Default: `['level1']`

  The checks to enable for clazy with the `-checks` argument.

  All options will be joined with commas, and escaped appropriately for
  the shell. The `-checks` flag can be removed entirely by setting this
  option to an empty List.

                                                *ale-options.cpp_clazy_options*
                                                      *g:ale_cpp_clazy_options*
                                                      *b:ale_cpp_clazy_options*
cpp_clazy_options
g:ale_cpp_clazy_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clazy.


===============================================================================
cppcheck                                                     *ale-cpp-cppcheck*

                                          *ale-options.cpp_cppcheck_executable*
                                                *g:ale_cpp_cppcheck_executable*
                                                *b:ale_cpp_cppcheck_executable*
cpp_cppcheck_executable
g:ale_cpp_cppcheck_executable
  Type: |String|
  Default: `'cppcheck'`

  This variable can be changed to use a different executable for cppcheck.

                                             *ale-options.cpp_cppcheck_options*
                                                   *g:ale_cpp_cppcheck_options*
                                                   *b:ale_cpp_cppcheck_options*
cpp_cppcheck_options
g:ale_cpp_cppcheck_options
  Type: |String|
  Default: `'--enable=style'`

  This variable can be changed to modify flags given to cppcheck.


===============================================================================
cpplint                                                       *ale-cpp-cpplint*

                                           *ale-options.cpp_cpplint_executable*
                                                 *g:ale_cpp_cpplint_executable*
                                                 *b:ale_cpp_cpplint_executable*
cpp_cpplint_executable
g:ale_cpp_cpplint_executable
  Type: |String|
  Default: `'cpplint'`

  This variable can be changed to use a different executable for cpplint.

                                              *ale-options.cpp_cpplint_options*
                                                    *g:ale_cpp_cpplint_options*
                                                    *b:ale_cpp_cpplint_options*
cpp_cpplint_options
g:ale_cpp_cpplint_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to cpplint.

                                             *ale-options.c_cpplint_executable*
                                                   *g:ale_c_cpplint_executable*
                                                   *b:ale_c_cpplint_executable*
c_cpplint_executable
g:ale_c_cpplint_executable
  Type: |String|
  Default: `'cpplint'`

  This variable can be changed to use a different executable for cpplint.

                                                *ale-options.c_cpplint_options*
                                                      *g:ale_c_cpplint_options*
                                                      *b:ale_c_cpplint_options*
c_cpplint_options
g:ale_c_cpplint_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to cpplint.


===============================================================================
cquery                                                         *ale-cpp-cquery*

                                            *ale-options.cpp_cquery_executable*
                                                  *g:ale_cpp_cquery_executable*
                                                  *b:ale_cpp_cquery_executable*
cpp_cquery_executable
g:ale_cpp_cquery_executable
  Type: |String|
  Default: `'cquery'`

  This variable can be changed to use a different executable for cquery.

                                       *ale-options.cpp_cquery_cache_directory*
                                             *g:ale_cpp_cquery_cache_directory*
                                             *b:ale_cpp_cquery_cache_directory*
cpp_cquery_cache_directory
g:ale_cpp_cquery_cache_directory
  Type: |String|
  Default: `'~/.cache/cquery'`

  This variable can be changed to decide which directory cquery uses for its
  cache.


===============================================================================
cspell                                                         *ale-cpp-cspell*

See |ale-cspell-options|


===============================================================================
flawfinder                                                 *ale-cpp-flawfinder*

                                        *ale-options.cpp_flawfinder_executable*
                                              *g:ale_cpp_flawfinder_executable*
                                              *b:ale_cpp_flawfinder_executable*
cpp_flawfinder_executable
g:ale_cpp_flawfinder_executable
  Type: |String|
  Default: `'flawfinder'`

  This variable can be changed to use a different executable for flawfinder.

                                          *ale-options.cpp_flawfinder_minlevel*
                                                *g:ale_cpp_flawfinder_minlevel*
                                                *b:ale_cpp_flawfinder_minlevel*
cpp_flawfinder_minlevel
g:ale_cpp_flawfinder_minlevel
  Type: |Number|
  Default: `1`

  This variable can be changed to ignore risks under the given risk threshold.

                                           *ale-options.cpp_flawfinder_options*
                                                 *g:ale_cpp_flawfinder_options*
                                                         *b:ale-cpp-flawfinder*
cpp_flawfinder_options
g:ale_cpp_flawfinder_options
  Type: |String|
  Default: `''`

  This variable can be used to pass extra options into the flawfinder command.


===============================================================================
uncrustify                                                 *ale-cpp-uncrustify*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Cs (`doc/ale-cs.txt`)

===============================================================================
ALE C# Integration                                             *ale-cs-options*

In addition to the linters that are provided with ALE, C# code can be checked
with the OmniSharp plugin. See here: https://github.com/OmniSharp/omnisharp-vim


===============================================================================
clang-format                                               *ale-cs-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for C#.


===============================================================================
csc                                                                *ale-cs-csc*

The |ale-cs-csc| 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 csc linter uses the mono csc compiler, providing full C# 7 and newer
support, to generate a temporary module target file (/t:module). The module
includes all '*.cs' files contained in the directory tree rooted at the path
defined by the |g:ale_cs_csc_source| or |b:ale_cs_csc_source| variable and all
sub directories.

It will in future replace the |ale-cs-mcs| and |ale-cs-mcsc| linters as both
utilize the mcsc compiler which, according to the mono project, is no longer
actively developed, and only receives maintenance updates. However, because
the csc compiler does not support the -syntax option, this linter does not
offer any as-you-type syntax checking, similar to the |ale-cs-mcsc| linter.

The paths to search for additional assembly files can be specified using the
|g:ale_cs_csc_assembly_path| or |b:ale_cs_csc_assembly_path| variables.

NOTE: ALE will not find 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.


-------------------------------------------------------------------------------
Options
                                                   *ale-options.cs_csc_options*
                                                         *g:ale_cs_csc_options*
                                                         *b:ale_cs_csc_options*
cs_csc_options
g:ale_cs_csc_options
  Type: |String|
  Default: `''`

  This option can be set to pass additional arguments to the `csc` compiler.

  For example, to add the dotnet package which is not added per default: >

      let g:ale_cs_mcs_options = ' /warn:4 /langversion:7.2'
<
  NOTE: the `/unsafe` option is always passed to `csc`.

                                                    *ale-options.cs_csc_source*
                                                          *g:ale_cs_csc_source*
                                                          *b:ale_cs_csc_source*
cs_csc_source
g:ale_cs_csc_source
  Type: |String|
  Default: `''`

  This variable defines the root path of the directory tree searched for the
  '*.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.

                                             *ale-options.cs_csc_assembly_path*
                                                   *g:ale_cs_csc_assembly_path*
                                                   *b:ale_cs_csc_assembly_path*
cs_csc_assembly_path
g:ale_cs_csc_assembly_path
  Type: |List|
  Default: `[]`

  This variable defines a list of path strings to be searched for external
  assembly files. The list is passed to the csc compiler using the `/lib:`
  flag.

                                                *ale-options.cs_csc_assemblies*
                                                      *g:ale_cs_csc_assemblies*
                                                      *b:ale_cs_csc_assemblies*
cs_csc_assemblies
g:ale_cs_csc_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 csc 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',
  \ 'path-to-unityproject/obj/Debug',
  \]
<

===============================================================================
cspell                                                          *ale-cs-cspell*

See |ale-cspell-options|


===============================================================================
dotnet-format                                            *ale-cs-dotnet-format*


-------------------------------------------------------------------------------
Installation

Installing .NET SDK should probably ensure that `dotnet` is in your `$PATH`.
For .NET 6 the `dotnet format` tool is already included in the .NET SDK. For
.NET 5 or below you will have to manually install it using the instructions
from listed in this repository: https://github.com/dotnet/format


-------------------------------------------------------------------------------
Options
                                      *ale-options.cs_dotnet_format_executable*
                                            *g:ale_cs_dotnet_format_executable*
                                            *b:ale_cs_dotnet_format_executable*
cs_dotnet_format_executable
g:ale_cs_dotnet_format_executable
  Type: |String|
  Default: `'dotnet'`

  This variable can be set to specify an absolute path to the
  `dotnet` executable (or to specify an alternate executable).

                                         *ale-options.cs_dotnet_format_options*
                                               *g:ale_cs_dotnet_format_options*
                                               *b:ale_cs_dotnet_format_options*
cs_dotnet_format_options
g:ale_cs_dotnet_format_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the `dotnet format`
  fixer.


===============================================================================
dprint                                                          *ale-cs-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/roslyn/.


===============================================================================
mcs                                                                *ale-cs-mcs*

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.


-------------------------------------------------------------------------------
Options
                                                   *ale-options.cs_mcs_options*
                                                         *g:ale_cs_mcs_options*
                                                         *b:ale_cs_mcs_options*
cs_mcs_options
g:ale_cs_mcs_options
  Type: |String|
  Default: `''`

  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
  explicitly included in the |g:ale_cs_mcs_options| or |b:ale_cs_mcs_options|
  parameter.


===============================================================================
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
|g:ale_cs_mcsc_source| or |b:ale_cs_mcsc_source| variable.  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 find 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.


-------------------------------------------------------------------------------
Options
                                                  *ale-options.cs_mcsc_options*
                                                        *g:ale_cs_mcsc_options*
                                                        *b:ale_cs_mcsc_options*
cs_mcsc_options
g:ale_cs_mcsc_options
  Type: |String|
  Default: `''`

  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: >

  let g:ale_cs_mcs_options = '-pkg:dotnet'
<
  NOTE: the `-unsafe` option is always passed to `mcs`.

                                                   *ale-options.cs_mcsc_source*
                                                         *g:ale_cs_mcsc_source*
                                                         *b:ale_cs_mcsc_source*
cs_mcsc_source
g:ale_cs_mcsc_source
  Type: |String|
  Default: `''`

  This variable defines the root path of the directory tree searched for the
  '*.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.

                                            *ale-options.cs_mcsc_assembly_path*
                                                  *g:ale_cs_mcsc_assembly_path*
                                                  *b:ale_cs_mcsc_assembly_path*
cs_mcsc_assembly_path
g:ale_cs_mcsc_assembly_path
  Type: |List|
  Default: `[]`

  This variable defines a list of path strings to be searched for external
  assembly files. The list is passed to the mcs compiler using the `-lib:`
  flag.

                                               *ale-options.cs_mcsc_assemblies*
                                                     *g:ale_cs_mcsc_assemblies*
                                                     *b:ale_cs_mcsc_assemblies*
cs_mcsc_assemblies
g: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.

  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',
  \ 'path-to-unityproject/obj/Debug',
  \]
<

===============================================================================
uncrustify                                                  *ale-cs-uncrustify*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Css (`doc/ale-css.txt`)

===============================================================================
ALE CSS Integration                                           *ale-css-options*


===============================================================================
cspell                                                         *ale-css-cspell*

See |ale-cspell-options|


===============================================================================
css-beautify                                             *ale-css-css-beautify*

                                      *ale-options.css_css_beautify_executable*
                                            *g:ale_css_css_beautify_executable*
                                            *b:ale_css_css_beautify_executable*
css_css_beautify_executable
g:ale_css_css_beautify_executable
  Type: |String|
  Default: `'css-beautify'`

  See |ale-integrations-local-executables|

                                         *ale-options.css_css_beautify_options*
                                               *g:ale_css_css_beautify_options*
                                               *b:ale_css_css_beautify_options*
css_css_beautify_options
g:ale_css_css_beautify_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to css-beautify.

                                      *ale-options.css_css_beautify_use_global*
                                            *g:ale_css_css_beautify_use_global*
                                            *b:ale_css_css_beautify_use_global*
css_css_beautify_use_global
g:ale_css_css_beautify_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
dprint                                                         *ale-css-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/malva/.


===============================================================================
fecs                                                             *ale-css-fecs*

`fecs` options for CSS is the same as the options for JavaScript, and both of
them reads `./.fecsrc` as the default configuration file. See:
|ale-javascript-fecs|.


===============================================================================
prettier                                                     *ale-css-prettier*

See |ale-javascript-prettier| for information about the available options.


===============================================================================
stylelint                                                   *ale-css-stylelint*

                                         *ale-options.css_stylelint_executable*
                                               *g:ale_css_stylelint_executable*
                                               *b:ale_css_stylelint_executable*
css_stylelint_executable
g:ale_css_stylelint_executable
  Type: |String|
  Default: `'stylelint'`

  See |ale-integrations-local-executables|

                                            *ale-options.css_stylelint_options*
                                                  *g:ale_css_stylelint_options*
                                                  *b:ale_css_stylelint_options*
css_stylelint_options
g:ale_css_stylelint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to stylelint.

                                         *ale-options.css_stylelint_use_global*
                                               *g:ale_css_stylelint_use_global*
                                               *b:ale_css_stylelint_use_global*
css_stylelint_use_global
g:ale_css_stylelint_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
vscodecss                                                      *ale-css-vscode*

Website: https://github.com/hrsh7th/vscode-langservers-extracted


-------------------------------------------------------------------------------
Installation

Install VSCode css language server either globally or locally: >

  npm install vscode-langservers-extracted
<

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Cuda (`doc/ale-cuda.txt`)

===============================================================================
ALE CUDA Integration                                         *ale-cuda-options*


===============================================================================
clang-format                                              *ale-cuda-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for CUDA.


===============================================================================
clangd                                                        *ale-cuda-clangd*

                                           *ale-options.cuda_clangd_executable*
                                                 *g:ale_cuda_clangd_executable*
                                                 *b:ale_cuda_clangd_executable*
cuda_clangd_executable
g:ale_cuda_clangd_executable
  Type: |String|
  Default: `'clangd'`

  This variable can be changed to use a different executable for clangd.

                                              *ale-options.cuda_clangd_options*
                                                    *g:ale_cuda_clangd_options*
                                                    *b:ale_cuda_clangd_options*
cuda_clangd_options
g:ale_cuda_clangd_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clangd.


===============================================================================
nvcc                                                            *ale-cuda-nvcc*

                                             *ale-options.cuda_nvcc_executable*
                                                   *g:ale_cuda_nvcc_executable*
                                                   *b:ale_cuda_nvcc_executable*
cuda_nvcc_executable
g:ale_cuda_nvcc_executable
  Type: |String|
  Default: `'nvcc'`

  This variable can be changed to use a different executable for nvcc.
  Currently only nvcc 8.0 is supported.

                                                *ale-options.cuda_nvcc_options*
                                                      *g:ale_cuda_nvcc_options*
                                                      *b:ale_cuda_nvcc_options*
cuda_nvcc_options
g:ale_cuda_nvcc_options
  Type: |String|
  Default: `'-std=c++11'`

  This variable can be changed to modify flags given to nvcc.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale D (`doc/ale-d.txt`)

===============================================================================
ALE D Integration                                               *ale-d-options*


===============================================================================
dfmt                                                               *ale-d-dfmt*

                                                   *ale-options.d_dfmt_options*
                                                         *g:ale_d_dfmt_options*
                                                         *b:ale_d_dfmt_options*
d_dfmt_options
g:ale_d_dfmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the dfmt fixer.

===============================================================================
dls                                                                 *ale-d-dls*

                                                 *ale-options.d_dls_executable*
                                                       *g:ale_d_dls_executable*
                                                       *b:ale_d_dls_executable*
d_dls_executable
g:ale_d_dls_executable
  Type: |String|
  Default: `dls`

  See |ale-integrations-local-executables|


===============================================================================
uncrustify                                                   *ale-d-uncrustify*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Dafny (`doc/ale-dafny.txt`)

===============================================================================
ALE Dafny Integration                                       *ale-dafny-options*


===============================================================================
dafny                                                         *ale-dafny-dafny*

                                            *ale-options.dafny_dafny_timelimit*
                                                  *g:ale_dafny_dafny_timelimit*
                                                  *b:ale_dafny_dafny_timelimit*
dafny_dafny_timelimit
g:ale_dafny_dafny_timelimit
  Type: |Number|
  Default: `10`

  This variable sets the `/timeLimit` used for dafny.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Dart (`doc/ale-dart.txt`)

===============================================================================
ALE Dart Integration                                         *ale-dart-options*


===============================================================================
analysis_server                                      *ale-dart-analysis_server*


-------------------------------------------------------------------------------
Installation

Install Dart via whatever means. `analysis_server` will be included in the SDK.

In case that `dart` is not in your path, try to set the executable option to
its absolute path. : >
  " Set the executable path for dart to the absolute path to it.
  let g:ale_dart_analysis_server_executable = '/usr/local/bin/dart'
<

-------------------------------------------------------------------------------
Options
                                  *ale-options.dart_analysis_server_executable*
                                        *g:ale_dart_analysis_server_executable*
                                        *b:ale_dart_analysis_server_executable*
dart_analysis_server_executable
g:ale_dart_analysis_server_executable
  Type: |String|
  Default: `'dart'`

  This variable can be set to change the path of dart.

                      *ale-options.dart_analysis_server_enable_language_server*
                            *g:ale_dart_analysis_server_enable_language_server*
                            *b:ale_dart_analysis_server_enable_language_server*
dart_analysis_server_enable_language_server
g:ale_dart_analysis_server_enable_language_server
  Type: |Number|
  Default: `1`

  When set to `1`, ALE will use the new `dart language-server` command,
  available from Dart version 2.16.0, to launch the language server. When set
  to `0`, ALE will instead use the deprecated
  `./snapshots/analysis_server.dart.snapshot --lsp` command used by older
  versions of Dart.


===============================================================================
dart-analyze                                                 *ale-dart-analyze*


-------------------------------------------------------------------------------
Installation

Installing Dart should probably ensure that `dart` is in your `$PATH`.

In case it is not, try to set the executable option to its absolute path. : >
  " Set the executable path for dart to the absolute path to it.
  let g:ale_dart_format_executable = '/usr/lib/dart/bin/dart'
 >

Install Dart via whatever means. `dart analyze` will be included in the SDK.


-------------------------------------------------------------------------------
Options
                                          *ale-options.dart_analyze_executable*
                                                *g:ale_dart_analyze_executable*
                                                *b:ale_dart_analyze_executable*
dart_analyze_executable
g:ale_dart_analyze_executable
  Type: |String|
  Default: `'dart'`

  This variable can be set to specify an absolute path to the
  format executable (or to specify an alternate executable).


===============================================================================
dart-format                                                   *ale-dart-format*


-------------------------------------------------------------------------------
Installation

Installing Dart should probably ensure that `dart` is in your `$PATH`.

In case it is not, try to set the executable option to its absolute path: >

  " Set the executable path for dart to the absolute path to it.
  let g:ale_dart_format_executable = '/usr/lib/dart/bin/dart'
<

-------------------------------------------------------------------------------
Options
                                           *ale-options.dart_format_executable*
                                                 *g:ale_dart_format_executable*
                                                 *b:ale_dart_format_executable*
dart_format_executable
g:ale_dart_format_executable
  Type: |String|
  Default: `'dart'`

  This variable can be set to specify an absolute path to the
  format executable (or to specify an alternate executable).

                                              *ale-options.dart_format_options*
                                                    *g:ale_dart_format_options*
                                                    *b:ale_dart_format_options*
dart_format_options
g:ale_dart_format_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the dart format fixer.


===============================================================================
dartfmt                                                      *ale-dart-dartfmt*


-------------------------------------------------------------------------------
Installation

Installing Dart should probably ensure that `dartfmt` is in your `$PATH`.

In case it is not, try to set the executable option to its absolute path: >

  " Set the executable path for dartfmt to the absolute path to it.
  let g:ale_dart_dartfmt_executable = '/usr/lib/dart/bin/dartfmt'
<

-------------------------------------------------------------------------------
Options
                                          *ale-options.dart_dartfmt_executable*
                                                *g:ale_dart_dartfmt_executable*
                                                *b:ale_dart_dartfmt_executable*
dart_dartfmt_executable
g:ale_dart_dartfmt_executable
  Type: |String|
  Default: `''`

  This variable can be set to specify an absolute path to the
  dartfmt executable (or to specify an alternate executable).

                                             *ale-options.dart_dartfmt_options*
                                                   *g:ale_dart_dartfmt_options*
                                                   *b:ale_dart_dartfmt_options*
dart_dartfmt_options
g:ale_dart_dartfmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the dartfmt fixer.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Debchangelog (`doc/ale-debchangelog.txt`)

===============================================================================
ALE Debian Changelog Integration                      *ale-debchangelog-options*


===============================================================================
debian-lsp                                        *ale-debchangelog-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog, and
debian/source/format files with features including diagnostics, completions,
and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

-------------------------------------------------------------------------------
Options
                               *ale-options.debchangelog_debian_lsp_executable*
                                     *g:ale_debchangelog_debian_lsp_executable*
                                     *b:ale_debchangelog_debian_lsp_executable*
debchangelog_debian_lsp_executable
g:ale_debchangelog_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Debcontrol (`doc/ale-debcontrol.txt`)

===============================================================================
ALE Debian Control Integration                          *ale-debcontrol-options*


===============================================================================
debian-lsp                                          *ale-debcontrol-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog, and
debian/source/format files with features including diagnostics, completions,
and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

-------------------------------------------------------------------------------
Options
                                 *ale-options.debcontrol_debian_lsp_executable*
                                       *g:ale_debcontrol_debian_lsp_executable*
                                       *b:ale_debcontrol_debian_lsp_executable*
debcontrol_debian_lsp_executable
g:ale_debcontrol_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Debcopyright (`doc/ale-debcopyright.txt`)

===============================================================================
ALE Debian Copyright Integration                      *ale-debcopyright-options*


===============================================================================
debian-lsp                                        *ale-debcopyright-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog, and
debian/source/format files with features including diagnostics, completions,
and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

-------------------------------------------------------------------------------
Options
                               *ale-options.debcopyright_debian_lsp_executable*
                                     *g:ale_debcopyright_debian_lsp_executable*
                                     *b:ale_debcopyright_debian_lsp_executable*
debcopyright_debian_lsp_executable
g:ale_debcopyright_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Debsources (`doc/ale-debsources.txt`)

===============================================================================
ALE Debian Sources Integration                          *ale-debsources-options*


===============================================================================
debian-lsp                                          *ale-debsources-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog, and
debian/source/format files with features including diagnostics, completions,
and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

-------------------------------------------------------------------------------
Options
                                 *ale-options.debsources_debian_lsp_executable*
                                       *g:ale_debsources_debian_lsp_executable*
                                       *b:ale_debsources_debian_lsp_executable*
debsources_debian_lsp_executable
g:ale_debsources_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Debupstream (`doc/ale-debupstream.txt`)

===============================================================================
ALE Debian Upstream Metadata Integration              *ale-debupstream-options*


===============================================================================
debian-lsp                                          *ale-debupstream-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog,
debian/watch, debian/tests/control, debian/upstream/metadata, and
debian/source/format files with features including diagnostics, completions,
and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

Filetype Detection
-------------------------------------------------------------------------------

Vim does not detect debian/upstream/metadata files by default. To enable
detection, add the following to your vimrc: >

  autocmd BufNewFile,BufRead */debian/upstream/metadata setfiletype debupstream
<

-------------------------------------------------------------------------------
Options
                                  *ale-options.debupstream_debian_lsp_executable*
                                        *g:ale_debupstream_debian_lsp_executable*
                                        *b:ale_debupstream_debian_lsp_executable*
debupstream_debian_lsp_executable
g:ale_debupstream_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Debwatch (`doc/ale-debwatch.txt`)

===============================================================================
ALE Debian Watch Integration                              *ale-debwatch-options*


===============================================================================
debian-lsp                                              *ale-debwatch-debian-lsp*

Website: https://github.com/jelmer/debian-lsp

debian-lsp is a Language Server Protocol implementation for Debian packaging
files. It supports debian/control, debian/copyright, debian/changelog,
debian/watch, and debian/source/format files with features including
diagnostics, completions, and code actions.


Installation
-------------------------------------------------------------------------------

debian-lsp can be installed via cargo: >

  cargo install debian-lsp
<
Or from Debian repositories (if available): >

  apt install debian-lsp
<

Filetype Detection
-------------------------------------------------------------------------------

Vim does not detect debian/watch files by default. To enable detection, add
the following to your vimrc: >

  autocmd BufNewFile,BufRead */debian/watch setfiletype debwatch
<

-------------------------------------------------------------------------------
Options
                                     *ale-options.debwatch_debian_lsp_executable*
                                           *g:ale_debwatch_debian_lsp_executable*
                                           *b:ale_debwatch_debian_lsp_executable*
debwatch_debian_lsp_executable
g:ale_debwatch_debian_lsp_executable
  Type: |String|
  Default: `'debian-lsp'`

  This variable can be set to change the path to debian-lsp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Desktop (`doc/ale-desktop.txt`)

===============================================================================
ALE desktop Integration                                   *ale-desktop-options*


===============================================================================
desktop-file-validate                       *ale-desktop-desktop-file-validate*

ALE supports checking .desktop files with `desktop-file-validate.`


-------------------------------------------------------------------------------
Options
                            *ale-options.desktop_desktop_file_validate_options*
                                  *g:ale_desktop_desktop_file_validate_options*
                                  *b:ale_desktop_desktop_file_validate_options*
desktop_desktop_file_validate_options
g:ale_desktop_desktop_file_validate_options
  Type: |String|
  Default: `''`

  This variable can be changed to set options for `desktop-file-validate`,
  such as `'--warn-kde'`.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Development (`doc/ale-development.txt`)

*ale-development.txt*  For Vim version 8.0.
*ale-dev*
*ale-development*

ALE Development Documentation

===============================================================================
CONTENTS                                             *ale-development-contents*

  1. Introduction.........................|ale-development-introduction|
  2. Design Goals.........................|ale-design-goals|
  3. Coding Standards.....................|ale-coding-standards|
  4. Testing ALE..........................|ale-development-tests|
    4.1. Writing Linter Tests.............|ale-development-linter-tests|
    4.2. Writing Fixer Tests..............|ale-development-fixer-tests|
    4.3. Running Tests on Windows.........|ale-development-windows-tests|
  5. Contributing.........................|ale-development-contributing|
    5.1. Preparing a Release..............|ale-development-release|


===============================================================================
1. Introduction                                  *ale-development-introduction*

This document contains helpful information for ALE developers, including
design goals, information on how to run the tests, coding standards, and so
on. You should read this document if you want to get involved with ALE
development.


===============================================================================
2. Design Goals                                              *ale-design-goals*

This section lists design goals for ALE, in no particular order. They are as
follows.

ALE code should be almost 100% VimL. This makes the plugin as portable as
possible.

ALE should run without needing any other plugins to be installed, to make
installation simple. ALE can integrate with other plugins for more advanced
functionality, non-essential functionality, or improving on basic first party
functionality.

ALE should check files with as many tools as possible by default, except where
they cause security issues or make excessive use of resources on modern
machines.

ALE should be free of breaking changes to the public API, which is comprised of
documented functions and options, until a major version is planned. Breaking
changes should be preceded by a deprecation phase complete with warnings.
Changes required for security may be an exception.

ALE supports Vim 8.2 and above, and Neovim 0.10.0 or newer. These are the
earliest versions of Vim and Neovim which support |+job|, |+timer|,
|+closure|, and |+lambda| features. All ALE code should be written so it is
compatible with these versions of Vim, or with version checks so particular
features can degrade or fail gracefully.

Just about everything should be documented and covered with tests.

By and large, people shouldn't pay for the functionality they don't use. Care
should be taken when adding new features, so supporting new features doesn't
degrade the general performance of anything ALE does.

LSP support will become more important as time goes on. ALE should provide
better support for LSP features as time goes on.

When merging pull requests, you should respond with `Cheers! :beers:`, purely
for comedy value.


===============================================================================
3. Coding Standards                                      *ale-coding-standards*

The following general coding standards should be adhered to for Vim code.

* Check your Vim code with `Vint` and do everything it says. ALE will check
  your Vim code with Vint automatically. See: https://github.com/Kuniwak/vint
  Read ALE's `Dockerfile` to see which version of `Vint` it uses.
* Try to write descriptive and concise names for variables and functions.
  Names shouldn't be too short or too long. Think about others reading your
  code later on.
* Use `snake_case` names for variables and arguments, and `PascalCase` names
  for functions. Prefix every variable name with its scope. (`l:`, `g:`, etc.)
* Try to keep lines no longer than 80 characters, but this isn't an absolute
  requirement.
* Use 4 spaces for every level of indentation in Vim code.
* Add a blank line before every `function`, `if`, `for`, `while`, `try`, or `return`,
  which doesn't start a new level of indentation. When adding more code on the
  same indentation level, also add blank lines after every corresponding end
  for those mentioned keywords. This makes the logic in your code easier to
  follow.
* End every file with a trailing newline character, but not with extra blank
  lines. Remove trailing whitespace from the ends of lines.
* Write the full names of commands instead of abbreviations. For example, write
  `function` instead of `func`, and `endif` instead of `end`.
* Write functions with `!`, so files can be reloaded. Use the |abort| keyword
  for all functions, so functions exit on the first error.
* Make sure to credit yourself in files you have authored with `Author:`
  and `Description:` comments.

In addition to the above general guidelines for the style of your code, you
should also follow some additional rules designed to prevent mistakes. Some of
these are reported with ALE's `custom-linting-rules` script. See
|ale-development-tests|.

* Don't leave stray `:echo` lines in code. Write `" no-custom-checks` above
  the line if you must echo something.
* For strings use |is#| instead of |==#|, `is?` instead of `==?`, `isnot#`
  instead of `!=#`, and `isnot?` instead of `!=?`. This is because `'x' ==# 0`
  returns 1, while `'x' is# 0` returns 0, so you will experience fewer issues
  when numbers are compared with strings. `is` and `isnot` also do not throw
  errors when other objects like List or Dictionaries are compared with
  strings.
* Don't use the `getcwd()` function in the ALE codebase. Most of ALE's code
  runs from asynchronous callback functions, and these functions can execute
  from essentially random buffers. Therefore, the `getcwd()` output is
  useless. Use `expand('#' . a:buffer . ':p:h')` instead. Don't use
  `expand('%...')` for the same reason.
* Don't use the `simplify()` function. It doesn't simplify paths enough. Use
  `ale#path#Simplify()` instead.
* Don't use the `shellescape()` function. It doesn't escape arguments properly
  on Windows. Use `ale#Escape()` instead, which will avoid escaping where it
  isn't needed, and generally escape arguments better on Windows.
* Don't use the `tempname()` function. It doesn't work when `$TMPDIR` isn't
  set. Use `ale#util#Tempname()` instead, which temporarily sets `$TMPDIR`
  appropriately where needed.
* Use `snake_case` names for linter names, so they can be used as part of
  variable names. You can define `aliases` for linters, for other names people
  might try to configure linters with.
* Use |v:t_TYPE| variables instead of `type()`, which are more readable.

Apply the following guidelines when writing Vader test files.

* Use 2 spaces for Vader test files, instead of the 4 spaces for Vim files.
* If you write `Before` and `After` blocks, you should typically write them at
  the top of the file, so they run for all tests. There may be some tests
  where it make sense to modify the `Before` and `After` code part of the way
  through the file.
* If you modify any settings or global variables, reset them in `After`
  blocks. The Vader `Save` and `Restore` commands can be useful for this
  purpose.
* If you load or define linters in tests, write `call ale#linter#Reset()` in
  an `After` block.
* Just write `Execute` blocks for Vader tests, and don't bother writing `Then`
  blocks. `Then` blocks execute after `After` blocks in older versions, and
  that can be confusing.

Apply the following rules when writing Bash scripts.

* Run `shellcheck`, and do everything it says.
  See: https://github.com/koalaman/shellcheck
* Try to write scripts so they will run on Linux, BSD, or Mac OSX.


===============================================================================
4. Testing ALE              *ale-development-tests* *ale-dev-tests* *ale-tests*

ALE is tested with a suite of tests executed via GitHub Actions. ALE runs
tests with the following versions of Vim in the following environments.

1. Vim 8.2 on Linux and Windows via GitHub Actions.
2. Vim 9.2 on Linux and Windows via GitHub Actions.
3. Neovim 0.10 on Linux and Windows via GitHub Actions.
4. Neovim 0.12 on Linux and Windows via GitHub Actions.

If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs
tests by installing Docker and running the `run-tests` script. Follow the
instructions on the Docker site for installing Docker.
See: https://docs.docker.com/install/

NOTE: Don't forget to add your user to the `docker` group on Linux, or Docker
just won't work. See: https://docs.docker.com/install/linux/linux-postinstall/

If you run simply `./run-tests` from the ALE repository root directory, the
latest Docker image for tests will be downloaded if needed, and the script
will run all of the tests in Vader, Vint checks, and several Bash scripts for
finding extra issues. Run `./run-tests --help` to see all of the options the
script supports. Note that the script supports selecting particular test files.

Once you get used to dealing with Vim and NeoVim compatibility issues, you
probably want to use `./run-tests --fast -q` for running tests with only the
fastest available Vim version, and with success messages from tests
suppressed.

Generally write tests for any changes you make. The following types of tests
are recommended for the following types of code.

* New/edited error handler callbacks -> Write tests in `test/handler`
* New/edited linter definition       -> Write tests in `test/linter`
* New/edited fixer functions         -> Write tests in `test/fixers`

Look at existing tests in the codebase for examples of how to write tests.
Refer to the Vader documentation for general information on how to write Vader
tests: https://github.com/junegunn/vader.vim

If you need to add any supporting files for tests, such as empty files present
to test searching upwards through paths for configuration files, they can be
added to the `test/test-files` directory.

See |ale-development-linter-tests| for more information on how to write linter
tests.

When you add new linters or fixers, make sure to add them into the tables in
`../supported-tools.md` and |ale-supported-languages-and-tools.txt|.

The supported tools lists are very long, so please bear in mind the meanings
of the emojis and special characters in the Vim help file.
>
    |      Key       |             Definition                                |
    | -------------- | ----------------------------------------------------- |
    |:speech_balloon:| Language Server Protocol (LSP)                        |
    | :floppy_disk:  | Only runs on disk (see: `help ale-lint-file-linters`) |
    |   :warning:    | Disabled by default                                   |
<
>
    `^` No linters for text or Vim help filetypes are enabled by default.
    `!!` These linters check only files on disk. See |ale-lint-file-linters|
<

If you forget to keep them both in sync, you should see an error like the
following in the builds run for GitHub Actions.
>
  ========================================
  diff supported-tools.md and doc/ale-supported-languages-and-tools.txt tables
  ========================================
  Differences follow:

  --- /tmp/readme.qLjNhJdB        2018-07-01 16:29:55.590331972 +0100
  +++ /tmp/doc.dAi8zfVE   2018-07-01 16:29:55.582331877 +0100
  @@ -1 +1 @@
  - ASM: gcc, foobar
  + ASM: gcc
<
Make sure to list documentation entries for linters and fixers in individual
help files in the table of contents, and to align help tags to the right
margin. For example, if you add a heading for an `aardvark` tool to
`ale-python.txt` with a badly aligned doc tag, you will see errors like so. >

  ========================================
  Look for badly aligned doc tags
  ========================================
  Badly aligned tags follow:

  doc/ale-python.txt:aardvark ...
  ========================================
  Look for table of contents issues
  ========================================

  Check for bad ToC sorting:

  Check for mismatched ToC and headings:

  --- /tmp/table-of-contents.mwCFOgSI     2018-07-01 16:33:25.068811878 +0100
  +++ /tmp/headings.L4WU0hsO      2018-07-01 16:33:25.076811973 +0100
  @@ -168,6 +168,7 @@
   pyrex (cython), ale-pyrex-options
     cython, ale-pyrex-cython
   python, ale-python-options
  +  aardvark, ale-python-aardvark
     autopep8, ale-python-autopep8
     black, ale-python-black
     flake8, ale-python-flake8
<
Make sure to make the table of contents match the headings, and to keep the
doc tags on the right margin.


===============================================================================
4.1 Writing Linter Tests                         *ale-development-linter-tests*

Tests for ALE linters take two forms.

1. Tests for handling the output of commands.
2. Tests for checking which commands are run, or connections are made.

Tests of the first form should go in the `test/handler` directory, and should
be written like so. >

  Before:
    " Load the file which defines the linter.
    runtime ale_linters/filetype/linter_name_here.vim

  After:
    " Unload all linters again.
    call ale#linter#Reset()

  Execute(The output should be correct):

  " Test that the right loclist items are parsed from the handler.
  AssertEqual
  \ [
  \   {
  \     'lnum': 1,
  \     'type': 'E',
  \     'text': 'Something went wrong',
  \   },
  \ ],
  \ ale_linters#filetype#linter_name#Handle(bufnr(''), [
  \ '1:Something went wrong',
  \ ]
<
Tests for what ALE runs should go in the `test/linter` directory, and should
be written like so. >

  Before:
    " Load the linter and set up a series of commands, reset linter variables,
    " clear caches, etc.
    "
    " Vader's 'Save' command will be called here for linter variables.
    call ale#assert#SetUpLinterTest('filetype', 'linter_name')

  After:
    " Reset linters, variables, etc.
    "
    " Vader's 'Restore' command will be called here.
    call ale#assert#TearDownLinterTest()

  Execute(The default command should be correct):
    " AssertLinter checks the executable and command.
    " Pass expected_executable, expected_command
    AssertLinter 'some-command', ale#Escape('some-command') . ' --foo'

  Execute(Check chained commands):
    " GivenCommandOutput can be called with 1 or more list for passing output
    " to chained commands. The output for each callback defaults to an empty
    " list.
    GivenCommandOutput ['v2.1.2']
    " Given a List of commands, check all of them.
    " Given a String, only the last command in the chain will be checked.
    AssertLinter 'some-command', [
    \ ale#Escape('some-command') . ' --version',
    \ ale#Escape('some-command') . ' --foo',
    \]
<
The full list of commands that will be temporarily defined for linter tests
given the above setup are as follows.

`GivenCommandOutput [...]`         - Define output for ale#command#Run.
`AssertLinterCwd cwd`              - Check the `cwd` for the linter.
`AssertLinter executable, command` - Check the executable and command.
`AssertLinterNotExecuted`          - Check that linters will not be executed.
`AssertLSPLanguage language`       - Check the language given to an LSP server.
`AssertLSPOptions options_dict`    - Check the options given to an LSP server.
`AssertLSPConfig config_dict`      - Check the config given to an LSP server.
`AssertLSPProject project_root`    - Check the root given to an LSP server.
`AssertLSPAddress address`         - Check the address to an LSP server.


===============================================================================
4.2 Writing Fixer Tests                           *ale-development-fixer-tests*

Tests for ALE fixers should go in the `test/fixers` directory, and should
be written like so. >

  Before:
    " Load the fixer and set up a series of commands, reset fixer variables,
    " clear caches, etc.
    "
    " Vader's 'Save' command will be called here for fixer variables.
    call ale#assert#SetUpFixerTest('filetype', 'fixer_name')

  After:
    " Reset fixers, variables, etc.
    "
    " Vader's 'Restore' command will be called here.
    call ale#assert#TearDownFixerTest()

  Execute(The default command should be correct):
    " AssertFixer checks the result of the loaded fixer function.
    AssertFixer {'command': ale#Escape('some-command') . ' --foo'}

  Execute(Check chained commands):
    " Same as above for linter tests.
    GivenCommandOutput ['v2.1.2']
    " Given a List of commands, check all of them.
    " Given anything else, only the last result will be checked.
    AssertFixer [
    \ ale#Escape('some-command') . ' --version',
    \ {'command': ale#Escape('some-command') . ' --foo'}
    \]
<
The full list of commands that will be temporarily defined for fixer tests
given the above setup are as follows.

`GivenCommandOutput [...]`         - Define output for ale#command#Run.
`AssertFixerCwd cwd`               - Check the `cwd` for the fixer.
`AssertFixer results`              - Check the fixer results
`AssertFixerNotExecuted`           - Check that fixers will not be executed.


===============================================================================
4.3 Running Tests on Windows                    *ale-development-windows-tests*

Tests are run for ALE on Windows via GitHub Actions using the
`rhysd/action-setup-vim` action to install Vim and Neovim. These tests can
frequently break due to minor differences in paths and how escaping is done
for commands on Windows.

The GitHub Actions workflow automatically:
1. Installs the specified Vim or Neovim version.
2. Clones Vader to `C:\vader` at the pinned commit.
3. Creates a directory junction from `C:\testplugin` to the repository
   checkout, so all test paths referencing `/testplugin/` resolve correctly.
4. Runs `run-tests.bat` with the installed editor.

If you are a Linux or Mac user and need to run Windows tests locally, you
can use a Windows virtual machine. Here is a process for that.

First, install a Windows image with VirtualBox. Install VirtualBox and grab
a VirtualBox image for Windows such as from here:
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

NOTE: If you need to enter a password for the virtual machine at any point,
the password is "Passw0rd!" without the double quotes.

NOTE: If your trial period for Windows runs out, run the commands like the
wallpaper tells you to.

Consult the VirtualBox documentation on how to install "Guest Additions."
You probably want to install "Guest Additions" for most things to work
properly.

After you've loaded your virtual machine image, go into "Settings" for your
virtual machine, and "Shared Folders." Add a shared folder with the name
"ale", and set the "Folder Path" to the path to your ALE repository, for
example: "/home/w0rp/ale"

Find out which drive letter "ale" has been mounted as in Windows. We'll use
"E:" as the drive letter, for example. Open the command prompt as an
administrator and type the following command to create a junction for the
"ale" directory, where "E:" is replaced with your drive letter. >

  mklink /J C:\testplugin E:
<
Install Vader by opening PowerShell and running: >

  git clone https://github.com/junegunn/vader.vim C:\vader
  cd C:\vader
  git checkout -qf c6243dd81c98350df4dec608fa972df98fa2a3af
<
Install Vim or Neovim on your Windows machine. You can download Vim from
https://github.com/vim/vim-win32-installer/releases or Neovim from
https://github.com/neovim/neovim/releases .

After you have finished installing everything, you can run the tests by
setting the `VIM_EXE` environment variable to the path of your Vim or
Neovim executable and running `run-tests.bat`. For Neovim, also set
`VIM_HEADLESS` to `--headless`. >

  cd C:\testplugin
  set VIM_EXE=C:\path\to\vim.exe
  run-tests
<
For Neovim: >

  cd C:\testplugin
  set VIM_EXE=C:\path\to\nvim.exe
  set VIM_HEADLESS=--headless
  run-tests
<
It will probably take several minutes for all of the tests to run. Be
patient. You can run a specific test by passing the filename as an argument
to the batch file, for example: `run-tests test/test_c_flag_parsing.vader`.
This will give you results much more quickly.


===============================================================================
5. Contributing                                  *ale-development-contributing*

All integration of new code into ALE is done through GitHub pull requests.
Using that tool streamlines the process and minimizes the time and effort
required to e.g. ensure test suites are run for every change.

As for any project hosted by GitHub, the choice of platform demands every
contributor to take care to setup an account and configure it accordingly.

Due to details of our process, a difference to many other GitHub hosted
projects is that contributors who wish to keep the author fields for their
commits unaltered need to configure a public email address in their account
and profile settings. See: https://docs.github.com/en/account-and-profile/

Unless configuring GitHub to expose contact details, commits will be rewritten
to appear by `USERNAME <RANDOM_NUMBER+USERNAME@users.noreply.github.com>` .


===============================================================================
5.1 Preparing a Release                               *ale-development-release*

ALE offers release packages through GitHub, for two reasons:

1. Some users like to target specific release versions rather than simply
   installing the plugin from `master`. This includes users who create Linux
   distribution specific packages from GitHub releases.
2. The releases provide a nice way to get an overview of what has changed in
   ALE over time.

ALE has no fixed release schedule. Release versions are created whenever the
ALE developers feel the need to create one. ALE release versions follow the
typical Semantic Versioning scheme. See: https://semver.org/

Minor version releases for ALE should be the most common, followed by patch
releases. Every minor version release should be followed by a `vA.B.x` branch
such as `v2.0.x` for version `2.0.0` and every following patch version before
`2.1.0`. The `git` branch strategy for patches is to first merge a bug fix to
`master`, and then `git cherry-pick` a patch to a branch for a specific
version. ALE developers do not generally support anything but `master` or the
last minor version.

Generally ALE releases hit a major version only when there are breaking
changes to a public ALE setting or function. A "public" setting or function is
defined as any setting or function documented in the `:help` |ale.txt| file.
Major ALE versions ought to be so rare that they only come once a year at
most. ALE should not typically introduce any breaking changes.

If there are ever to be any breaking changes made for ALE, there should first
come a minor version release for ALE documenting all of the coming breaking
changes to ALE. It should be described how users can prepare for a breaking
change that is coming before it is done.

To create a release for ALE, you will need sufficient permissions in GitHub.
Once you do, follow these steps.

1. Create a new release draft, or edit an existing one. It helps to craft
   drafts ahead of time and write the last commit ID checked for release notes
   on the last update to a draft.
   See the releases page: https://github.com/dense-analysis/ale/releases
2. Examine `git log` and read changes made between the last ID checked, or the
   git tag of the previous release, and the current commit in `master`.
3. Write updates in separate sections (except where empty) for:
  3.a. Breaking Changes
  3.b. Deprecated Features
  3.c. New Features
  3.d. New Linters
  3.e. New Fixers
  3.f. Linter Enhancements
  3.g. Fixer Enhancements
  3.h. Bugs Fixed
4. Once you've finished writing the draft for the release, bump
   `s:current_ale_version` in `autoload/ale.vim` to the current version, and
   add a line to `test/test_ale_has.vader` to test for the version. See
   |ale#Has()| documentation for more information.
5. Commit the changes after `./run-tests --fast -q` passes.
6. Tag the release with `git tag vA.B.C`, replacing `A`, `B`, and `C` with the
   version numbers. See `git tag --list` for examples.
7. Run `git push` and `git push --tags` to push the commit and the tag.
8. Edit the release draft in GitHub, select the tag you just pushed, and
   publish the draft.
9. If you're creating a new major or minor version: `git checkout -b vA.B.x`,
   replacing `A` and `B` with the major and minor versions. `git push` the new
   branch, and the GitHub branch protection settings should automatically
   apply to the new release branch.
10. You have already completed the last step.

Have fun creating ALE releases. Drink responsibly, or not at all, which is the
preference of w0rp.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Dhall (`doc/ale-dhall.txt`)

===============================================================================
ALE Dhall Integration                                       *ale-dhall-options*

Dhall - https://dhall-lang.org/

                                                 *ale-options.dhall_executable*
                                                       *g:ale_dhall_executable*
                                                       *b:ale_dhall_executable*
dhall_executable
g:ale_dhall_executable
  Type: |String|
  Default: `'dhall'`

                                                    *ale-options.dhall_options*
                                                          *g:ale_dhall_options*
                                                          *b:ale_dhall_options*
dhall_options
g:ale_dhall_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the 'dhall` executable.
  This is shared with `dhall-freeze` and `dhall-lint`.
>
  let g:ale_dhall_options = '--ascii'
<

===============================================================================
dhall-format                                                 *ale-dhall-format*


===============================================================================
dhall-freeze                                                 *ale-dhall-freeze*


-------------------------------------------------------------------------------
Options
                                             *ale-options.dhall_freeze_options*
                                                   *g:ale_dhall_freeze_options*
                                                   *b:ale_dhall_freeze_options*
dhall_freeze_options
g:ale_dhall_freeze_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the 'dhall freeze`
  executable.
>
  let g:ale_dhall_freeze_options = '--all'
<

===============================================================================
dhall-lint                                                     *ale-dhall-lint*


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Dockerfile (`doc/ale-dockerfile.txt`)

===============================================================================
ALE Dockerfile Integration                             *ale-dockerfile-options*


===============================================================================
dockerfile_lint                                *ale-dockerfile-dockerfile_lint*

                            *ale-options.dockerfile_dockerfile_lint_executable*
                                  *g:ale_dockerfile_dockerfile_lint_executable*
                                  *b:ale_dockerfile_dockerfile_lint_executable*
dockerfile_dockerfile_lint_executable
g:ale_dockerfile_dockerfile_lint_executable
  Type: |String|
  Default: `'dockerfile_lint'`

  This variable can be changed to specify the executable used to run
  dockerfile_lint.

                               *ale-options.dockerfile_dockerfile_lint_options*
                                     *g:ale_dockerfile_dockerfile_lint_options*
                                     *b:ale_dockerfile_dockerfile_lint_options*
dockerfile_dockerfile_lint_options
g:ale_dockerfile_dockerfile_lint_options
  Type: |String|
  Default: `''`

  This variable can be changed to add additional command-line arguments to
  the dockerfile lint invocation - like custom rule file definitions.


===============================================================================
dockerlinter                                      *ale-dockerfile-dockerlinter*

                               *ale-options.dockerfile_dockerlinter_executable*
                                     *g:ale_dockerfile_dockerlinter_executable*
                                     *b:ale_dockerfile_dockerlinter_executable*
dockerfile_dockerlinter_executable
g:ale_dockerfile_dockerlinter_executable
  Type: |String|
  Default: `'dockerlinter'`

  This variable can be changed to specify the executable used to run
  dockerlinter.


                                  *ale-options.dockerfile_dockerlinter_options*
                                        *g:ale_dockerfile_dockerlinter_options*
                                        *b:ale_dockerfile_dockerlinter_options*
dockerfile_dockerlinter_options
g:ale_dockerfile_dockerlinter_options
  Type: |String|
  Default: `''`

  This variable can be changed to add additional command-line arguments to
  the dockerfile lint invocation - like custom rule file definitions.


===============================================================================
dprint                                                  *ale-dockerfile-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/dockerfile/.


===============================================================================
hadolint                                              *ale-dockerfile-hadolint*

hadolint can be found at: https://github.com/hadolint/hadolint


-------------------------------------------------------------------------------
Options
                                      *ale-options.dockerfile_hadolint_options*
                                            *g:ale_dockerfile_hadolint_options*
                                            *b:ale_dockerfile_hadolint_options*
dockerfile_hadolint_options
g:ale_dockerfile_hadolint_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the hadolint
  invocation. These arguments will be used whether docker is being used or not
  (see below).

                                   *ale-options.dockerfile_hadolint_use_docker*
                                         *g:ale_dockerfile_hadolint_use_docker*
                                         *b:ale_dockerfile_hadolint_use_docker*
dockerfile_hadolint_use_docker
g:ale_dockerfile_hadolint_use_docker
  Type: |String|
  Default: `'never'`

  This variable controls if docker and the hadolint image are used to run this
  linter: if 'never', docker will never be used; 'always' means docker will
  always be used; 'yes' and docker will be used if the hadolint executable
  cannot be found.

  For now, the default is 'never'.  This may change as ale's support for using
  docker to lint evolves.

                                        *ale-options.dockerfile_hadolint_image*
                                              *g:ale_dockerfile_hadolint_image*
                                              *b:ale_dockerfile_hadolint_image*
dockerfile_hadolint_image
g:ale_dockerfile_hadolint_image
  Type: |String|
  Default: `'hadolint/hadolint'`

  This variable controls the docker image used to run hadolint.  The default
  is hadolint's author's build, and can be found at:

  https://hub.docker.com/r/hadolint/hadolint/


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Elixir (`doc/ale-elixir.txt`)

===============================================================================
ALE Elixir Integration                                     *ale-elixir-options*


===============================================================================
mix                                                            *ale-elixir-mix*

The `mix` linter is disabled by default, as it can be too expensive to run.
See `:help g:ale_linters`

                                               *ale-options.elixir_mix_options*
                                                     *g:ale_elixir_mix_options*
                                                     *b:ale_elixir_mix_options*
elixir_mix_options
g:ale_elixir_mix_options
  Type: |String|
  Default: `'mix'`


  This variable can be changed to specify the mix executable.


===============================================================================
mix_format                                              *ale-elixir-mix-format*

                                        *ale-options.elixir_mix_format_options*
                                              *g:ale_elixir_mix_format_options*
                                              *b:ale_elixir_mix_format_options*
elixir_mix_format_options
g:ale_elixir_mix_format_options
  Type: |String|
  Default: `''`


  This variable can be changed to specify the mix options passed to the
  mix_format fixer


===============================================================================
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.


===============================================================================
elixir-ls                                                *ale-elixir-elixir-ls*

Elixir Language Server (https://github.com/JakeBecker/elixir-ls)

                                         *ale-options.elixir_elixir_ls_release*
                                               *g:ale_elixir_elixir_ls_release*
                                               *b:ale_elixir_elixir_ls_release*
elixir_elixir_ls_release
g:ale_elixir_elixir_ls_release
  Type: |String|
  Default: `'elixir-ls'`

  Location of the elixir-ls release directory. This directory must contain
  the language server scripts (language_server.sh and language_server.bat).

                                          *ale-options.elixir_elixir_ls_config*
                                                *g:ale_elixir_elixir_ls_config*
                                                *b:ale_elixir_elixir_ls_config*
elixir_elixir_ls_config
g:ale_elixir_elixir_ls_config
  Type: |Dictionary|
  Default: `{}`

  Dictionary containing configuration settings that will be passed to the
  language server. For example, to disable Dialyzer: >

  let g:ale_elixir_elixir_ls_config = {
  \   'elixirLS': {
  \       'dialyzerEnabled': v:false,
  \   },
  \}
<
  Consult the ElixirLS documentation for more information about settings.


===============================================================================
credo                                                        *ale-elixir-credo*

Credo (https://github.com/rrrene/credo)

                                              *ale-options.elixir_credo_strict*
                                                    *g:ale_elixir_credo_strict*
                                                    *b:ale_elixir_credo_strict*
elixir_credo_strict
g:ale_elixir_credo_strict
  Type: |Integer|
  Default: `0`

  Tells credo to run in strict mode or suggest mode.  Set variable to 1 to
  enable --strict mode.

                                         *ale-options.elixir_credo_config_file*
                                               *g:ale_elixir_credo_config_file*
                                               *b:ale_elixir_credo_config_file*
elixir_credo_config_file
g:ale_elixir_credo_config_file
  Type: |String|
  Default: `''`

  Tells credo to use a custom configuration file.


===============================================================================
cspell                                                      *ale-elixir-cspell*

See |ale-cspell-options|


===============================================================================
lexical                                                    *ale-elixir-lexical*

Lexical (https://github.com/lexical-lsp/lexical)

                                           *ale-options.elixir_lexical_release*
                                                 *g:ale_elixir_lexical_release*
                                                 *b:ale_elixir_lexical_release*
elixir_lexical_release
g:ale_elixir_lexical_release
  Type: |String|
  Default: `'lexical'`

  Location of the lexical release directory. This directory must contain
  the language server scripts (start_lexical.sh and start_lexical.bat).

  For example, set release to: `/home/projects/lexical/_build/dev/rel/lexical`

  There are currently no configuration options for lexical.


===============================================================================
expert                                                      *ale-elixir-expert*

Expert (https://github.com/elixir-lang/expert)

                                         *ale-options.elixir_expert_executable*
                                               *g:ale_elixir_expert_executable*
                                               *b:ale_elixir_expert_executable*
elixir_expert_executable
g:ale_elixir_expert_executable
  Type: |String|
  Default: `/usr/bin/elixir-expert`

  Location of the expert executable.

  For example, set release to:
  `/home/projects/expert/apps/expert/burrito_out/expert_linux_amd64`

  There are currently no configuration options for expert.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Elm (`doc/ale-elm.txt`)

===============================================================================
ALE Elm Integration                                           *ale-elm-options*


===============================================================================
elm-format                                                 *ale-elm-elm-format*

                                            *ale-options.elm_format_executable*
                                                  *g:ale_elm_format_executable*
                                                  *b:ale_elm_format_executable*
elm_format_executable
g:ale_elm_format_executable
  Type: |String|
  Default: `'elm-format'`

  See |ale-integrations-local-executables|

                                            *ale-options.elm_format_use_global*
                                                  *g:ale_elm_format_use_global*
                                                  *b:ale_elm_format_use_global*
elm_format_use_global
g:ale_elm_format_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                               *ale-options.elm_format_options*
                                                     *g:ale_elm_format_options*
                                                     *b:ale_elm_format_options*
elm_format_options
g:ale_elm_format_options
  Type: |String|
  Default: `'--yes'`

  This variable can be set to pass additional options to elm-format.


===============================================================================
elm-ls                                                         *ale-elm-elm-ls*

                                                *ale-options.elm_ls_executable*
                                                      *g:ale_elm_ls_executable*
                                                      *b:ale_elm_ls_executable*
elm_ls_executable
g:ale_elm_ls_executable
  Type: |String|
  Default: `'elm-language-server'`

  See |ale-integrations-local-executables|

                                                *ale-options.elm_ls_use_global*
                                                      *g:ale_elm_ls_use_global*
                                                      *b:ale_elm_ls_use_global*
elm_ls_use_global
g:ale_elm_ls_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 1)`

  See |ale-integrations-local-executables|

                                                  *ale-options.elm_ls_elm_path*
                                                        *g:ale_elm_ls_elm_path*
                                                        *b:ale_elm_ls_elm_path*
elm_ls_elm_path
g:ale_elm_ls_elm_path
  Type: |String|
  Default: `''`

  See |ale-integrations-local-executables|

                                           *ale-options.elm_ls_elm_format_path*
                                                 *g:ale_elm_ls_elm_format_path*
                                                 *b:ale_elm_ls_elm_format_path*
elm_ls_elm_format_path
g:ale_elm_ls_elm_format_path
  Type: |String|
  Default: `''`

  See |ale-integrations-local-executables|

                                             *ale-options.elm_ls_elm_test_path*
                                                   *g:ale_elm_ls_elm_test_path*
                                                   *b:ale_elm_ls_elm_test_path*
elm_ls_elm_test_path
g:ale_elm_ls_elm_test_path
  Type: |String|
  Default: `''`

  See |ale-integrations-local-executables|

                                       *ale-options.elm_ls_elm_analyse_trigger*
                                             *g:ale_elm_ls_elm_analyse_trigger*
                                             *b:ale_elm_ls_elm_analyse_trigger*
elm_ls_elm_analyse_trigger
g:ale_elm_ls_elm_analyse_trigger
  Type: |String|
  Default: `'change'`

  One of 'change', 'save' or 'never'


===============================================================================
elm-make                                                     *ale-elm-elm-make*

                                              *ale-options.elm_make_executable*
                                                    *g:ale_elm_make_executable*
                                                    *b:ale_elm_make_executable*
elm_make_executable
g:ale_elm_make_executable
  Type: |String|
  Default: `'elm'`

  See |ale-integrations-local-executables|

                                              *ale-options.elm_make_use_global*
                                                    *g:ale_elm_make_use_global*
                                                    *b:ale_elm_make_use_global*
elm_make_use_global
g:ale_elm_make_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Erlang (`doc/ale-erlang.txt`)

===============================================================================
ALE Erlang Integration                                     *ale-erlang-options*


===============================================================================
dialyzer                                                  *ale-erlang-dialyzer*

                                       *ale-options.erlang_dialyzer_executable*
                                             *g:ale_erlang_dialyzer_executable*
                                             *b:ale_erlang_dialyzer_executable*
erlang_dialyzer_executable
g:ale_erlang_dialyzer_executable
  Type: |String|
  Default: `'dialyzer'`

  This variable can be changed to specify the dialyzer executable.

                                          *ale-options.erlang_dialyzer_options*
                                                *g:ale_erlang_dialyzer_options*
                                                *b:ale_erlang_dialyzer_options*
erlang_dialyzer_options
g:ale_erlang_dialyzer_options
  Type: |String|
  Default: `'-Wunmatched_returns -Werror_handling -Wrace_conditions -Wunderspec'`

  This variable can be changed to specify the options to pass to the dialyzer
  executable.
                                         *ale-options.erlang_dialyzer_plt_file*
                                               *g:ale_erlang_dialyzer_plt_file*
                                               *b:ale_erlang_dialyzer_plt_file*
erlang_dialyzer_plt_file
g:ale_erlang_dialyzer_plt_file
  Type: |String|
  Default: `''`

  This variable can be changed to specify the path to the PLT file. By
  default, it will search for the PLT file inside the `_build` directory. If
  there isn't one, it will fallback to the path `$REBAR_PLT_DIR/dialyzer/plt`.
  Otherwise, it will default to `$HOME/.dialyzer_plt`.

                                   *ale-options.erlang_dialyzer_rebar3_profile*
                                         *g:ale_erlang_dialyzer_rebar3_profile*
                                         *b:ale_erlang_dialyzer_rebar3_profile*
erlang_dialyzer_rebar3_profile
g:ale_erlang_dialyzer_rebar3_profile
  Type: |String|
  Default: `'default'`

  This variable can be changed to specify the profile that is used to
  run dialyzer with rebar3.


===============================================================================
elvis                                                        *ale-erlang-elvis*

                                          *ale-options.erlang_elvis_executable*
                                                *g:ale_erlang_elvis_executable*
                                                *b:ale_erlang_elvis_executable*
erlang_elvis_executable
g:ale_erlang_elvis_executable
  Type: |String|
  Default: `'elvis'`

  This variable can be changed to specify the elvis executable.


===============================================================================
erlang-mode                                            *ale-erlang-erlang-mode*

                              *ale-options.erlang_erlang_mode_emacs_executable*
                                    *g:ale_erlang_erlang_mode_emacs_executable*
                                    *b:ale_erlang_erlang_mode_emacs_executable*
erlang_erlang_mode_emacs_executable
g:ale_erlang_erlang_mode_emacs_executable
  Type: |String|
  Default: `'emacs'`

  This variable can be changed to specify the Emacs executable.

                                  *ale-options.erlang_erlang_mode_indent_level*
                                        *g:ale_erlang_erlang_mode_indent_level*
                                        *b:ale_erlang_erlang_mode_indent_level*
erlang_erlang_mode_indent_level
g:ale_erlang_erlang_mode_indent_level
  Type: |Number|
  Default: `4`

  Indentation of Erlang calls/clauses within blocks.

                                    *ale-options.erlang_erlang_mode_icr_indent*
                                          *g:ale_erlang_erlang_mode_icr_indent*
                                          *b:ale_erlang_erlang_mode_icr_indent*
erlang_erlang_mode_icr_indent
g:ale_erlang_erlang_mode_icr_indent
  Type: `'nil'` or |Number|
  Default: `'nil'`

  Indentation of Erlang if/case/receive patterns. `'nil'` means keeping default
  behavior. When non-`'nil'`, indent to the column of if/case/receive.

                                  *ale-options.erlang_erlang_mode_indent_guard*
                                        *g:ale_erlang_erlang_mode_indent_guard*
                                        *b:ale_erlang_erlang_mode_indent_guard*
erlang_erlang_mode_indent_guard
g:ale_erlang_erlang_mode_indent_guard
  Type: |Number|
  Default: `2`

  Indentation of Erlang guards.

                               *ale-options.erlang_erlang_mode_argument_indent*
                                     *g:ale_erlang_erlang_mode_argument_indent*
                                     *b:ale_erlang_erlang_mode_argument_indent*
erlang_erlang_mode_argument_indent
g:ale_erlang_erlang_mode_argument_indent
  Type: `'nil'` or |Number|
  Default: `2`

  Indentation of the first argument in a function call. When `'nil'`, indent
  to the column after the `'('` of the function.

                              *ale-options.erlang_erlang_mode_indent_tabs_mode*
                                    *g:ale_erlang_erlang_mode_indent_tabs_mode*
                                    *b:ale_erlang_erlang_mode_indent_tabs_mode*
erlang_erlang_mode_indent_tabs_mode
g:ale_erlang_erlang_mode_indent_tabs_mode
  Type: `'nil'` or `'t'`
  Default: `'nil'`

  Indentation can insert tabs if this is non-`'nil'`.


===============================================================================
erlang_ls                                                *ale-erlang-erlang_ls*

                                      *ale-options.erlang_erlang_ls_executable*
                                            *g:ale_erlang_erlang_ls_executable*
                                            *b:ale_erlang_erlang_ls_executable*
erlang_erlang_ls_executable
g:ale_erlang_erlang_ls_executable
  Type: |String|
  Default: `'erlang_ls'`

  This variable can be changed to specify the erlang_ls executable.

                                         *ale-options.erlang_erlang_ls_log_dir*
                                               *g:ale_erlang_erlang_ls_log_dir*
                                               *b:ale_erlang_erlang_ls_log_dir*
erlang_erlang_ls_log_dir
g:ale_erlang_erlang_ls_log_dir
  Type: |String|
  Default: `''`

  If set this variable overrides default directory where logs will be written.

                                       *ale-options.erlang_erlang_ls_log_level*
                                             *g:ale_erlang_erlang_ls_log_level*
                                             *b:ale_erlang_erlang_ls_log_level*
erlang_erlang_ls_log_level
g:ale_erlang_erlang_ls_log_level
  Type: |String|
  Default: `'info'`

  This variable can be changed to specify log level.


===============================================================================
erlc                                                          *ale-erlang-erlc*

                                           *ale-options.erlang_erlc_executable*
                                                 *g:ale_erlang_erlc_executable*
                                                 *b:ale_erlang_erlc_executable*
erlang_erlc_executable
g:ale_erlang_erlc_executable
  Type: |String|
  Default: `'erlc'`

  This variable can be changed to specify the erlc executable.

                                              *ale-options.erlang_erlc_options*
                                                    *g:ale_erlang_erlc_options*
                                                    *b:ale_erlang_erlc_options*
erlang_erlc_options
g:ale_erlang_erlc_options
  Type: |String|
  Default: `''`

  This variable controls additional parameters passed to `erlc`, such as `-I`
  or `-pa`.


===============================================================================
erlfmt                                                      *ale-erlang-erlfmt*

                                         *ale-options.erlang_erlfmt_executable*
                                               *g:ale_erlang_erlfmt_executable*
                                               *b:ale_erlang_erlfmt_executable*
erlang_erlfmt_executable
g:ale_erlang_erlfmt_executable
  Type: |String|
  Default: `'erlfmt'`

  This variable can be changed to specify the erlfmt executable.

                                            *ale-options.erlang_erlfmt_options*
                                                  *g:ale_erlang_erlfmt_options*
                                                  *b:ale_erlang_erlfmt_options*
erlang_erlfmt_options
g:ale_erlang_erlfmt_options
  Type: |String|
  Default: `''`

  This variable controls additional parameters passed to `erlfmt`, such as
  `--insert-pragma` or `--print-width`.


===============================================================================
syntaxerl                                                *ale-erlang-syntaxerl*

                                      *ale-options.erlang_syntaxerl_executable*
                                            *g:ale_erlang_syntaxerl_executable*
                                            *b:ale_erlang_syntaxerl_executable*
erlang_syntaxerl_executable
g:ale_erlang_syntaxerl_executable
  Type: |String|
  Default: `'syntaxerl'`

  This variable can be changed to specify the syntaxerl executable.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Eruby (`doc/ale-eruby.txt`)

===============================================================================
ALE Eruby Integration                                       *ale-eruby-options*

There are four linters for `eruby` files:

- `erb`
- `erblint`
- `erubis`
- `erubi`
- `htmlbeautifier`
- `ruumba`

`erb` is in the Ruby standard library and is mostly universal. `erubis` is the
default parser in Rails between 3.0 and 5.1. `erubi` is the default in Rails
5.1 and later. `ruumba` can extract Ruby from eruby files and run rubocop on
the result. To selectively enable a subset, see |g:ale_linters|.


===============================================================================
erb-formatter                                          *ale-eruby-erbformatter*

                                    *ale-options.eruby_erbformatter_executable*
                                          *g:ale_eruby_erbformatter_executable*
                                          *b:ale_eruby_erbformatter_executable*
eruby_erbformatter_executable
g:ale_eruby_erbformatter_executable
  Type: |String|
  Default: `'erb-formatter'`

  Override the invoked erb-formatter binary. This is useful for running
  erb-formatter from binstubs or a bundle.


===============================================================================
erblint                                                     *ale-eruby-erblint*

                                         *ale-options.eruby_erblint_executable*
                                               *g:ale_eruby_erblint_executable*
                                               *b:ale_eruby_erblint_executable*
eruby_erblint_executable
g:ale_eruby_erblint_executable
  Type: |String|
  Default: `'erb_lint'`

  Override the invoked erblint binary. This is useful for running erblint
  from binstubs or a bundle.

                                            *ale-options.eruby_erblint_options*
                                                  *g:ale_eruby_erblint_options*
                                                   *b:ale_ruby_erblint_options*
eruby_erblint_options
g:ale_eruby_erblint_options
  Type: |String|
  Default: `''`

  This variable can be change to modify flags given to erblint.


===============================================================================
htmlbeautifier                                       *ale-eruby-htmlbeautifier*

                                  *ale-options.eruby_htmlbeautifier_executable*
                                        *g:ale_eruby_htmlbeautifier_executable*
                                        *b:ale_eruby_htmlbeautifier_executable*
eruby_htmlbeautifier_executable
g:ale_eruby_htmlbeautifier_executable
  Type: |String|
  Default: `'htmlbeautifier'`

  Override the invoked htmlbeautifier binary. This is useful for running
  htmlbeautifier from binstubs or a bundle.


===============================================================================
ruumba                                                       *ale-eruby-ruumba*

                                          *ale-options.eruby_ruumba_executable*
                                                *g:ale_eruby_ruumba_executable*
                                                *b:ale_eruby_ruumba_executable*
eruby_ruumba_executable
g:ale_eruby_ruumba_executable
  Type: |String|
  Default: `'ruumba'`

  Override the invoked ruumba binary. This is useful for running ruumba
  from binstubs or a bundle.

                                             *ale-options.eruby_ruumba_options*
                                                   *g:ale_eruby_ruumba_options*
                                                    *b:ale_ruby_ruumba_options*
eruby_ruumba_options
g:ale_eruby_ruumba_options
  Type: |String|
  Default: `''`

  This variable can be change to modify flags given to ruumba.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Fish (`doc/ale-fish.txt`)

===============================================================================
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.


===============================================================================
fish_indent                                              *ale-fish-fish_indent*

                                      *ale-options.fish_fish_indent_executable*
                                            *g:ale_fish_fish_indent_executable*
                                            *b:ale_fish_fish_indent_executable*
fish_fish_indent_executable
g:ale_fish_fish_indent_executable
  Type: |String|
  Default: `'fish_indent'`

  This variable can be changed to use a different executable for fish_indent.

                                         *ale-options.fish_fish_indent_options*
                                               *g:ale_fish_fish_indent_options*
                                               *b:ale_fish_fish_indent_options*
fish_fish_indent_options
g:ale_fish_fish_indent_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to fish_indent.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Fortran (`doc/ale-fortran.txt`)

===============================================================================
ALE Fortran Integration                                   *ale-fortran-options*


===============================================================================
fortitude                                               *ale-fortran-fortitude*

                                     *ale-options.fortran_fortitude_executable*
                                               *g:fortran_fortitude_executable*
                                               *b:fortran_fortitude_executable*
fortran_fortitude_executable
g:fortran_fortitude_executable
  Type: |String|
  Default: 'fortitude'

  This variable can be changed to modify the executable used for fortitude.

                                        *ale-options.fortran_fortitude_options*
                                                  *g:fortran_fortitude_options*
                                                  *b:fortran_fortitude_options*
fortran_fortitude_options
g:fortran_fortitude_options
  Type: |String|
  Default: ''

  This variable can be changed to modify options given to fortitude check.

===============================================================================
gcc                                                           *ale-fortran-gcc*

                                           *ale-options.fortran_gcc_executable*
                                                 *g:ale_fortran_gcc_executable*
                                                 *b:ale_fortran_gcc_executable*
fortran_gcc_executable
g:ale_fortran_gcc_executable
  Type: |String|
  Default: `'gcc'`

  This variable can be changed to modify the executable used for checking
  Fortran code with GCC.

                                              *ale-options.fortran_gcc_options*
                                                    *g:ale_fortran_gcc_options*
                                                    *b:ale_fortran_gcc_options*
fortran_gcc_options
g:ale_fortran_gcc_options
  Type: |String|
  Default: `'-Wall'`

  This variable can be changed to modify flags given to gcc.

                                        *ale-options.fortran_gcc_use_free_form*
                                              *g:ale_fortran_gcc_use_free_form*
                                              *b:ale_fortran_gcc_use_free_form*
fortran_gcc_use_free_form
g:ale_fortran_gcc_use_free_form
  Type: |Number|
  Default: `1`

  When set to `1`, the `-ffree-form` flag will be used for GCC, to check files
  with the free form layout. When set to `0`, `-ffixed-form` will be used
  instead, for checking files with fixed form layouts.


===============================================================================
language_server                                   *ale-fortran-language-server*

                               *ale-options.fortran_language_server_executable*
                                     *g:ale_fortran_language_server_executable*
                                     *b:ale_fortran_language_server_executable*
fortran_language_server_executable
g:ale_fortran_language_server_executable
  Type: |String|
  Default: `'fortls'`

  This variable can be changed to modify the executable used for the Fortran
  Language Server.

                               *ale-options.fortran_language_server_use_global*
                                     *g:ale_fortran_language_server_use_global*
                                     *b:ale_fortran_language_server_use_global*
fortran_language_server_use_global
g:ale_fortran_language_server_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Fountain (`doc/ale-fountain.txt`)

===============================================================================
ALE Fountain Integration                                 *ale-fountain-options*


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Fuse (`doc/ale-fuse.txt`)

===============================================================================
ALE FusionScript Integration                                 *ale-fuse-options*


===============================================================================
fusion-lint                                               *ale-fuse-fusionlint*

                                     *ale-options.fusion_fusionlint_executable*
                                           *g:ale_fusion_fusionlint_executable*
                                             *b:ale_fuse_fusionlint_executable*
fusion_fusionlint_executable
g:ale_fusion_fusionlint_executable
  Type: |String|
  Default: `'fusion-lint'`

  This variable can be changed to change the path to fusion-lint.

                                          *ale-options.fuse_fusionlint_options*
                                                *g:ale_fuse_fusionlint_options*
                                                *b:ale_fuse_fusionlint_options*
fuse_fusionlint_options
g:ale_fuse_fusionlint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to fusion-lint.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Generic (`doc/ale-generic.txt`)

===============================================================================
ALE Generic Integration                                   *ale-generic-options*
                                                      *ale-integration-generic*

===============================================================================
Integration Information

  Some tools are not language specific.  This document collects information on
  ale's support for these tools.


===============================================================================
astgrep                                                   *ale-generic-astgrep*

  `'ast-grep'` is a tool which can detect code patterns and offer fixes based
  on various languages' abstract syntax trees (ASTs) using tree-sitter.

                                               *ale-options.astgrep_executable*
                                                     *g:ale_astgrep_executable*
                                                     *b:ale_astgrep_executable*
astgrep_executable
g:ale_astgrep_executable
  Type: |String|
  Default: `'ast-grep'`

  This variable can be modified to change the executable path for
  `ast-grep`.


                                             *ale-options.astgrep_scan_options*
                                                   *g:ale_astgrep_scan_options*
                                                   *b:ale_astgrep_scan_options*
astgrep_scan_options
g:ale_astgrep_scan_options
  Type: |String|
  Default: `'--update-all'`

  This variable can be modified to change the options when applying rules with
  the `ast-grep scan` command.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Gitcommit (`doc/ale-gitcommit.txt`)

===============================================================================
ALE Git Commit Integration                              *ale-gitcommit-options*


===============================================================================
gitlint                                                 *ale-gitcommit-gitlint*

                                     *ale-options.gitcommit_gitlint_executable*
                                           *g:ale_gitcommit_gitlint_executable*
                                           *b:ale_gitcommit_gitlint_executable*
gitcommit_gitlint_executable
g:ale_gitcommit_gitlint_executable
  Type: |String|
  Default: `'gitlint'`

  This variable can be changed to modify the executable used for gitlint.

                                        *ale-options.gitcommit_gitlint_options*
                                              *g:ale_gitcommit_gitlint_options*
                                              *b:ale_gitcommit_gitlint_options*
gitcommit_gitlint_options
g:ale_gitcommit_gitlint_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the gitlint
  invocation. For example, you can specify the path to a configuration file. >

  let g:ale_gitcommit_gitlint_options = '-C /home/user/.config/gitlint.ini'
<
  You can also disable particular error codes using this option. For example,
  you can ignore errors for git commits with a missing body. >

  let g:ale_gitcommit_gitlint_options = '--ignore B6'
<
                                     *ale-options.gitcommit_gitlint_use_global*
                                           *g:ale_gitcommit_gitlint_use_global*
                                           *b:ale_gitcommit_gitlint_use_global*
gitcommit_gitlint_use_global
g:ale_gitcommit_gitlint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 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:

---

### Doc Ale Gleam (`doc/ale-gleam.txt`)

===============================================================================
ALE Gleam Integration                                       *ale-gleam-options*
                                                        *ale-integration-gleam*


===============================================================================
gleam_format                                           *ale-gleam-gleam_format*

                                    *ale-options.gleam_gleam_format_executable*
                                          *g:ale_gleam_gleam_format_executable*
                                          *b:ale_gleam_gleam_format_executable*
gleam_gleam_format_executable
g:ale_gleam_gleam_format_executable
  Type: |String|
  Default: `'gleam'`

  This variable can be modified to change the executable path for
  `gleam format`.


===============================================================================
gleamlsp                                                   *ale-gleam-gleamlsp*

                                        *ale-options.gleam_gleamlsp_executable*
                                              *g:ale_gleam_gleamlsp_executable*
                                              *b:ale_gleam_gleamlsp_executable*
gleam_gleamlsp_executable
g:ale_gleam_gleamlsp_executable
  Type: |String|
  Default: `'gleam'`

  This variable can be modified to change the executable path for `gleamlsp`.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Glsl (`doc/ale-glsl.txt`)

===============================================================================
ALE GLSL Integration                                         *ale-glsl-options*
                                                         *ale-integration-glsl*

===============================================================================
Integration Information

  Since Vim does not detect the glsl file types out-of-the-box, you need the
  runtime files for glsl from here: https://github.com/tikhomirov/vim-glsl

  Note that the current glslang-based linter expects glslangValidator in
  standard paths. If it's not installed system-wide you can set
  |g:ale_glsl_glslang_executable| to a specific path.


===============================================================================
glslang                                                      *ale-glsl-glslang*

                                          *ale-options.glsl_glslang_executable*
                                                *g:ale_glsl_glslang_executable*
                                                *b:ale_glsl_glslang_executable*
glsl_glslang_executable
g:ale_glsl_glslang_executable
  Type: |String|
  Default: `'glslangValidator'`

  This variable can be changed to change the path to glslangValidator.

                                             *ale-options.glsl_glslang_options*
                                                   *g:ale_glsl_glslang_options*
                                                   *b:ale_glsl_glslang_options*
glsl_glslang_options
g:ale_glsl_glslang_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to glslangValidator.


===============================================================================
glslls                                                        *ale-glsl-glslls*

                                           *ale-options.glsl_glslls_executable*
                                                 *g:ale_glsl_glslls_executable*
                                                 *b:ale_glsl_glslls_executable*
glsl_glslls_executable
g:ale_glsl_glslls_executable
  Type: |String|
  Default: `'glslls'`

  This variable can be changed to change the path to glslls.
  See |ale-integrations-local-executables|

                                              *ale-options.glsl_glslls_logfile*
                                                    *g:ale_glsl_glslls_logfile*
                                                    *b:ale_glsl_glslls_logfile*
glsl_glslls_logfile
g: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:

---

### Doc Ale Go (`doc/ale-go.txt`)

===============================================================================
ALE Go Integration                                             *ale-go-options*


===============================================================================
Integration Information

ALE enables `gofmt`, `gopls` and `go vet` by default. It also supports `staticcheck`,
`go build, ``gosimple`, `golangserver`, `golangci-lint`, and `goimports`.

To enable `golangci-lint`, update |g:ale_linters| as appropriate.
A possible configuration is to enable golangci-lint and `gofmt:
>
  " Enable all of the linters you want for Go.
  let g:ale_linters = {'go': ['golangci-lint', 'gofmt']}
<
                                                 *ale-options.go_go_executable*
                                                       *g:ale_go_go_executable*
                                                       *b:ale_go_go_executable*
go_go_executable
g:ale_go_go_executable
  Type: |String|
  Default: `'go'`

  The executable that will be run for the `gobuild` and `govet` linters, and
  the `gomod` fixer.

                                                   *ale-options.go_go111module*
                                                         *g:ale_go_go111module*
                                                         *b:ale_go_go111module*
go_go111module
g:ale_go_go111module
  Type: |String|
  Default: `''`

  Override the value of the `$GO111MODULE` environment variable for
  golang tools.


===============================================================================
bingo                                                            *ale-go-bingo*

                                              *ale-options.go_bingo_executable*
                                                    *g:ale_go_bingo_executable*
                                                    *b:ale_go_bingo_executable*
go_bingo_executable
g:ale_go_bingo_executable
  Type: |String|
  Default: `'bingo'`

  Location of the bingo binary file.

                                                 *ale-options.go_bingo_options*
                                                       *g:ale_go_bingo_options*
                                                       *b:ale_go_bingo_options*
go_bingo_options
g:ale_go_bingo_options
  Type: |String|
  Default: `''`


===============================================================================
cspell                                                          *ale-go-cspell*

See |ale-cspell-options|


===============================================================================
dprint                                                          *ale-go-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/gofumpt/.


===============================================================================
gobuild                                                        *ale-go-gobuild*

                                               *ale-options.go_gobuild_options*
                                                     *g:ale_go_gobuild_options*
                                                     *b:ale_go_gobuild_options*
go_gobuild_options
g:ale_go_gobuild_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the gobuild linter.
  They are injected directly after "go test".


===============================================================================
gofmt                                                            *ale-go-gofmt*

                                                 *ale-options.go_gofmt_options*
                                                       *g:ale_go_gofmt_options*
                                                       *b:ale_go_gofmt_options*
go_gofmt_options
g:ale_go_gofmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the gofmt fixer.


===============================================================================
gofumpt                                                        *ale-go-gofumpt*

                                            *ale-options.go_gofumpt_executable*
                                                  *g:ale_go_gofumpt_executable*
                                                  *b:ale_go_gofumpt_executable*
go_gofumpt_executable
g:ale_go_gofumpt_executable
  Type: |String|
  Default: `'gofumpt'`

  Executable to run to use as the gofumpt fixer.

                                               *ale-options.go_gofumpt_options*
                                                     *g:ale_go_gofumpt_options*
                                                     *b:ale_go_gofumpt_options*
go_gofumpt_options
g:ale_go_gofumpt_options
  Type: |String|
  Default: `''`

  Options to pass to the gofumpt fixer.


===============================================================================
goimports                                                    *ale-go-goimports*

                                          *ale-options.go_goimports_executable*
                                                *g:ale_go_goimports_executable*
                                                *b:ale_go_goimports_executable*
go_goimports_executable
g:ale_go_goimports_executable
  Type: |String|
  Default: `'goimports'`

  This variable can be set to change the executable path for goimports.

                                             *ale-options.go_goimports_options*
                                                   *g:ale_go_goimports_options*
                                                   *b:ale_go_goimports_options*
go_goimports_options
g:ale_go_goimports_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the goimports fixer.


===============================================================================
golangci-lint                                            *ale-go-golangci-lint*

`golangci-lint` is a `lint_file` linter, which only lints files that are
written to disk. This differs from the default behavior of linting the buffer.
See: |ale-lint-file|

                                      *ale-options.go_golangci_lint_executable*
                                            *g:ale_go_golangci_lint_executable*
                                            *b:ale_go_golangci_lint_executable*
go_golangci_lint_executable
g:ale_go_golangci_lint_executable
  Type: |String|
  Default: `'golangci-lint'`

  The executable that will be run for golangci-lint.

                                         *ale-options.go_golangci_lint_options*
                                               *g:ale_go_golangci_lint_options*
                                               *b:ale_go_golangci_lint_options*
go_golangci_lint_options
g:ale_go_golangci_lint_options
  Type: |String|
  Default: `''`

  This variable can be changed to alter the command-line arguments to the
  golangci-lint run invocation.

                                         *ale-options.go_golangci_lint_package*
                                               *g:ale_go_golangci_lint_package*
                                               *b:ale_go_golangci_lint_package*
go_golangci_lint_package
g:ale_go_golangci_lint_package
  Type: |Number|
  Default: `0`

  When set to `1`, the whole Go package will be checked instead of only the
  current file.

golangci_lint can also be user as a fixer to format go source files. In this
case the following configuration variables can be used to configure the
formatters:

                                    *ale-options.go_golangci_formatter_executable*
                                          *g:ale_go_golangci_formatter_executable*
                                          *b:ale_go_golangci_formatter_executable*
go_golangci_formatter_executable
g:ale_go_golangci_formatter_executable
  Type: |String|
  Default: `'golangci-lint'`

  The executable that will be run for golangci-lint.

                                      *ale-options.go_golangci_formatter_options*
                                            *g:ale_go_golangci_formatter_options*
                                            *b:ale_go_golangci_formatter_options*
go_golangci_formatter_options
g:ale_go_golangci_formatter_options
  Type: |String|
  Default: `''`

  This variable can be changed to alter the command-line arguments to the
  golangci-lint fmt invocation.

===============================================================================
golangserver                                              *ale-go-golangserver*

                                         *ale-options.go_langserver_executable*
                                               *g:ale_go_langserver_executable*
                                               *b:ale_go_langserver_executable*
go_langserver_executable
g:ale_go_langserver_executable
  Type: |String|
  Default: `'go-langserver'`

  Location of the go-langserver binary file.

                                            *ale-options.go_langserver_options*
                                                  *g:ale_go_langserver_options*
                                                  *b:ale_go_langserver_options*
go_langserver_options
g:ale_go_langserver_options
  Type: |String|
  Default: `''`

  Additional options passed to the go-langserver command. Note that the
  `-gocodecompletion` option is ignored because it is handled automatically
  by the |g:ale_completion_enabled| variable.


===============================================================================
golines                                                        *ale-go-golines*

                                            *ale-options.go_golines_executable*
                                                  *g:ale_go_golines_executable*
                                                    *b:ale_go_lines_executable*
go_golines_executable
g:ale_go_golines_executable
  Type: |String|
  Default: `'golines'`

  Location of the golines binary file

                                               *ale-options.go_golines_options*
                                                     *g:ale_go_golines_options*
                                                     *b:ale_go_golines_options*
go_golines_options
g:ale_go_golines_options
  Type: |String|
  Default: `''`

  Additional options passed to the golines command. By default golines has
  --max-length=100 (lines above 100 characters will be wrapped)


===============================================================================
gopls                                                            *ale-go-gopls*

gopls is the official Go language server, and is enabled for use with ALE by
default.

To install the latest stable version of `gopls` to your `$GOPATH`, try the
following command: >

  GO111MODULE=on go get golang.org/x/tools/gopls@latest
<
If `$GOPATH` is readable by ALE, it should probably work without you having to
do anything else. See the `gopls` README file for more information:

https://github.com/golang/tools/blob/master/gopls/README.md


-------------------------------------------------------------------------------
Options
                                              *ale-options.go_gopls_executable*
                                                    *g:ale_go_gopls_executable*
                                                    *b:ale_go_gopls_executable*
go_gopls_executable
g:ale_go_gopls_executable
  Type: |String|
  Default: `'gopls'`

  See |ale-integrations-local-executables|

  ALE will search for `gopls` in locally installed directories first by
  default, and fall back on a globally installed `gopls` if it can't be found
  otherwise.

                                                 *ale-options.go_gopls_options*
                                                       *g:ale_go_gopls_options*
                                                       *b:ale_go_gopls_options*
go_gopls_options
g:ale_go_gopls_options
  Type: |String|
  Default: `''`

  Command-line options passed to the gopls executable. See `gopls -h`.

                                          *ale-options.go_gopls_fix_executable*
                                                *g:ale_go_gopls_fix_executable*
                                                *b:ale_go_gopls_fix_executable*
go_gopls_fix_executable
g:ale_go_gopls_fix_executable
  Type: |String|
  Default: `'gopls'`

  Executable to run to use as the gopls fixer.

                                             *ale-options.go_gopls_fix_options*
                                                   *g:ale_go_gopls_fix_options*
                                                   *b:ale_go_gopls_fix_options*
go_gopls_fix_options
g:ale_go_gopls_fix_options
  Type: |String|
  Default: `''`

  Options to pass to the gopls fixer.

                                            *ale-options.go_gopls_init_options*
                                                  *g:ale_go_gopls_init_options*
                                                  *b:ale_go_gopls_init_options*
go_gopls_init_options
g:ale_go_gopls_init_options
  Type: |Dictionary|
  Default: `{}`

  LSP initialization options passed to gopls. This can be used to configure
  the behaviour of gopls.

  For example: >
  let g:ale_go_gopls_init_options = {
  \   'ui.diagnostic.analyses': {
  \       'composites': v:false,
  \       'unusedparams': v:true,
  \       'unusedresult': v:true,
  \   },
  \}
<
  For a full list of supported analyzers, see:
  https://github.com/golang/tools/blob/master/gopls/doc/analyzers.md

                                              *ale-options.go_gopls_use_global*
                                                    *g:ale_go_gopls_use_global*
                                                    *b:ale_go_gopls_use_global*
go_gopls_use_global
g:ale_go_gopls_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
govet                                                            *ale-go-govet*

                                                 *ale-options.go_govet_options*
                                                       *g:ale_go_govet_options*
                                                       *b:ale_go_govet_options*
go_govet_options
g:ale_go_govet_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the go vet linter.


===============================================================================
revive                                                          *ale-go-revive*

                                             *ale-options.go_revive_executable*
                                                   *g:ale_go_revive_executable*
                                                   *b:ale_go_revive_executable*
go_revive_executable
g:ale_go_revive_executable
  Type: |String|
  Default: `'revive'`

  This variable can be set to change the revive executable path.

                                                *ale-options.go_revive_options*
                                                      *g:ale_go_revive_options*
                                                      *b:ale_go_revive_options*
go_revive_options
g:ale_go_revive_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the revive


===============================================================================
staticcheck                                                *ale-go-staticcheck*

                                        *ale-options.go_staticcheck_executable*
                                              *g:ale_go_staticcheck_executable*
                                              *b:ale_go_staticcheck_executable*
go_staticcheck_executable
g:ale_go_staticcheck_executable
  Type: |String|
  Default: `'staticcheck'`

  See |ale-integrations-local-executables|

  ALE will search for `staticcheck` in locally installed directories first by
  default, and fall back on a globally installed `staticcheck` if it can't be
  found otherwise.

                                           *ale-options.go_staticcheck_options*
                                                 *g:ale_go_staticcheck_options*
                                                 *b:ale_go_staticcheck_options*
go_staticcheck_options
g:ale_go_staticcheck_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the staticcheck
  linter.

                                      *ale-options.go_staticcheck_lint_package*
                                            *g:ale_go_staticcheck_lint_package*
                                            *b:ale_go_staticcheck_lint_package*
go_staticcheck_lint_package
g:ale_go_staticcheck_lint_package
  Type: |Number|
  Default: `1`

  When set to `1`, the whole Go package will be checked instead of only the
  current file.

                                        *ale-options.go_staticcheck_use_global*
                                              *g:ale_go_staticcheck_use_global*
                                              *b:ale_go_staticcheck_use_global*
go_staticcheck_use_global
g:ale_go_staticcheck_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Gohtmltmpl (`doc/ale-gohtmltmpl.txt`)

===============================================================================
ALE Go HTML Template Integration                       *ale-gohtmltmpl-options*


===============================================================================
djlint                                                  *ale-gohtmltmpl-djlint*

See |ale-html-djlint|

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Graphql (`doc/ale-graphql.txt`)

===============================================================================
ALE GraphQL Integration                                   *ale-graphql-options*


===============================================================================
dprint                                                     *ale-graphql-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/pretty_graphql/.


===============================================================================
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*

===============================================================================
prettier                                                 *ale-graphql-prettier*

See |ale-javascript-prettier| for information about the available options.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Groovy (`doc/ale-groovy.txt`)

===============================================================================
ALE Groovy Integration                                     *ale-groovy-options*


===============================================================================
Integration Information

Linting and fixing of Groovy files is enabled with the integration of
`npm-groovy-lint`.


===============================================================================
npm-groovy-lint                                    *ale-groovy-npm-groovy-lint*

                                  *ale-options.groovy_npmgroovylint_executable*
                                        *g:ale_groovy_npmgroovylint_executable*
                                        *b:ale_groovy_npmgroovylint_executable*
groovy_npmgroovylint_executable
g:ale_groovy_npmgroovylint_executable
  Type: |String|
  Default: `'npm-groovy-lint'`

  Location of the npm-groovy-lint binary file.

                                     *ale-options.groovy_npmgroovylint_options*
                                           *g:ale_groovy_npmgroovylint_options*
                                           *b:ale_groovy_npmgroovylint_options*
groovy_npmgroovylint_options
g:ale_groovy_npmgroovylint_options
  Type: |String|
  Default: `'--loglevel warning'`

  Additional npm-groovy-lint linter options.

                                 *ale-options.groovy_npmgroovylint_fix_options*
                                       *g:ale_groovy_npmgroovylint_fix_options*
                                       *b:ale_groovy_npmgroovylint_fix_options*
groovy_npmgroovylint_fix_options
g:ale_groovy_npmgroovylint_fix_options
  Type: |String|
  Default: `'--fix'`

  This variable can be used to configure fixing with npm-groovy-lint. It must
  contain either `--fix` or `--format` for the fixer to work. See
  `npm-groovy-lint --help` for more information on possible fix rules.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Hack (`doc/ale-hack.txt`)

===============================================================================
ALE Hack Integration                                         *ale-hack-options*
                                                         *ale-integration-hack*

  HHAST is disabled by default, as it executes code in the project root.

  Currently linters must be enabled globally. HHAST can be enabled in ftplugin
  files like so: >

  let b:ale_linters = ['hack', 'hhast']
<
  Or in Lua: >
  require("ale").setup.buffer({linters = {"hack", "hhast"}})
<

===============================================================================
hack                                                            *ale-hack-hack*

                                             *ale-options.hack_hack_executable*
                                                   *g:ale_hack_hack_executable*
                                                   *b:ale_hack_hack_executable*
hack_hack_executable
g:ale_hack_hack_executable
  Type: |String|
  Default: `'hh_client'`

  This variable can be set to use a specific executable to interact with the
  Hack typechecker.


===============================================================================
hackfmt                                                      *ale-hack-hackfmt*

                                             *ale-options.hack_hackfmt_options*
                                                   *g:ale_hack_hackfmt_options*
                                                   *b:ale_hack_hackfmt_options*
hack_hackfmt_options
g:ale_hack_hackfmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the hackfmt fixer.


===============================================================================
hhast                                                          *ale-hack-hhast*

                                            *ale-options.hack_hhast_executable*
                                                  *g:ale_hack_hhast_executable*
                                                  *b:ale_hack_hhast_executable*
hack_hhast_executable
g:ale_hack_hhast_executable
  Type: |String|
  Default: `'vendor/bin/hhast-lint'`

  This variable can be set to use a specific executable to interact with the
  Hack typechecker.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Handlebars (`doc/ale-handlebars.txt`)

===============================================================================
ALE Handlebars Integration                             *ale-handlebars-options*


===============================================================================
djlint                                                  *ale-handlebars-djlint*

See |ale-html-djlint|


===============================================================================
prettier                                              *ale-handlebars-prettier*

See |ale-javascript-prettier| for information about the available options.
Uses glimmer parser by default.


===============================================================================
ember-template-lint                          *ale-handlebars-embertemplatelint*

                          *ale-options.handlebars_embertemplatelint_executable*
                                *g:ale_handlebars_embertemplatelint_executable*
                                *b:ale_handlebars_embertemplatelint_executable*
handlebars_embertemplatelint_executable
g:ale_handlebars_embertemplatelint_executable
  Type: |String|
  Default: `'ember-template-lint'`

  See |ale-integrations-local-executables|

                          *ale-options.handlebars_embertemplatelint_use_global*
                                *g:ale_handlebars_embertemplatelint_use_global*
                                *b:ale_handlebars_embertemplatelint_use_global*
handlebars_embertemplatelint_use_global
g:ale_handlebars_embertemplatelint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Haskell (`doc/ale-haskell.txt`)

===============================================================================
ALE Haskell Integration                                   *ale-haskell-options*


===============================================================================
brittany                                                 *ale-haskell-brittany*

                                      *ale-options.haskell_brittany_executable*
                                            *g:ale_haskell_brittany_executable*
                                            *b:ale_haskell_brittany_executable*
haskell_brittany_executable
g:ale_haskell_brittany_executable
  Type: |String|
  Default: `'brittany'`

  This variable can be changed to use a different executable for brittany.


===============================================================================
cspell                                                     *ale-haskell-cspell*

See |ale-cspell-options|


===============================================================================
floskell                                                 *ale-haskell-floskell*

                                      *ale-options.haskell_floskell_executable*
                                            *g:ale_haskell_floskell_executable*
                                            *b:ale_haskell_floskell_executable*
haskell_floskell_executable
g:ale_haskell_floskell_executable
  Type: |String|
  Default: `'floskell'`

  This variable can be changed to use a different executable for floskell.


===============================================================================
ghc                                                           *ale-haskell-ghc*

                                              *ale-options.haskell_ghc_options*
                                                    *g:ale_haskell_ghc_options*
                                                    *b:ale_haskell_ghc_options*
haskell_ghc_options
g:ale_haskell_ghc_options
  Type: |String|
  Default: `'-fno-code -v0'`

  This variable can be changed to modify flags given to ghc.


===============================================================================
ghc-mod                                                   *ale-haskell-ghc-mod*

                                       *ale-options.haskell_ghc_mod_executable*
                                             *g:ale_haskell_ghc_mod_executable*
                                             *b:ale_haskell_ghc_mod_executable*
haskell_ghc_mod_executable
g:ale_haskell_ghc_mod_executable
  Type: |String|
  Default: `'ghc-mod'`

  This variable can be changed to use a different executable for ghc-mod.


===============================================================================
cabal-ghc                                               *ale-haskell-cabal-ghc*

                                        *ale-options.haskell_cabal_ghc_options*
                                              *g:ale_haskell_cabal_ghc_options*
                                              *b:ale_haskell_cabal_ghc_options*
haskell_cabal_ghc_options
g:ale_haskell_cabal_ghc_options
  Type: |String|
  Default: `'-fno-code -v0'`

  This variable can be changed to modify flags given to ghc through cabal
  exec.


===============================================================================
hdevtools                                               *ale-haskell-hdevtools*

                                     *ale-options.haskell_hdevtools_executable*
                                           *g:ale_haskell_hdevtools_executable*
                                           *b:ale_haskell_hdevtools_executable*
haskell_hdevtools_executable
g:ale_haskell_hdevtools_executable
  Type: |String|
  Default: `'hdevtools'`

  This variable can be changed to use a different executable for hdevtools.

                                        *ale-options.haskell_hdevtools_options*
                                              *g:ale_haskell_hdevtools_options*
                                              *b:ale_haskell_hdevtools_options*
haskell_hdevtools_options
g:ale_haskell_hdevtools_options
  Type: |String|
  Default: `get(g:, 'hdevtools_options', '-g -Wall')`

  This variable can be changed to modify flags given to hdevtools.

  The hdevtools documentation recommends setting GHC options for `hdevtools`
  with `g:hdevtools_options`. ALE will use the value of `g:hdevtools_options`
  for the value of `g:ale_haskell_hdevtools_options` by default, so this
  option can be respected and overridden specifically for ALE.


===============================================================================
hfmt                                                         *ale-haskell-hfmt*

                                          *ale-options.haskell_hfmt_executable*
                                                *g:ale_haskell_hfmt_executable*
                                                *b:ale_haskell_hfmt_executable*
haskell_hfmt_executable
g:ale_haskell_hfmt_executable
  Type: |String|
  Default: `'hfmt'`

  This variable can be changed to use a different executable for hfmt.


===============================================================================
hindent                                                   *ale-haskell-hindent*

                                       *ale-options.haskell_hindent_executable*
                                             *g:ale_haskell_hindent_executable*
                                             *b:ale_haskell_hindent_executable*
haskell_hindent_executable
g:ale_haskell_hindent_executable
  Type: |String|
  Default: `'hindent'`

  This variable can be changed to use a different executable for hindent.


===============================================================================
hlint                                                       *ale-haskell-hlint*

                                         *ale-options.haskell_hlint_executable*
                                               *g:ale_haskell_hlint_executable*
                                               *b:ale_haskell_hlint_executable*
haskell_hlint_executable
g:ale_haskell_hlint_executable
  Type: |String|
  Default: `'hlint'`

  This variable can be changed to use a different executable for hlint.

                                            *ale-options.haskell_hlint_options*
                                                  *g:ale_haskell_hlint_options*
                                                  *b:ale_haskell_hlint_options*
haskell_hlint_options
g:ale_haskell_hlint_options
  Type: |String|
  Default: `''`

  This variable can be used to pass extra options to the underlying hlint
  executable.


===============================================================================
hls                                                           *ale-haskell-hls*

                                           *ale-options.haskell_hls_executable*
                                                 *g:ale_haskell_hls_executable*
                                                 *b:ale_haskell_hls_executable*
haskell_hls_executable
g:ale_haskell_hls_executable
  Type: |String|
  Default: `'haskell-language-server-wrapper'`

  This variable can be changed to use a different executable for the haskell
  language server.

                                               *ale-options.haskell_hls_config*
                                                     *g:ale_haskell_hls_config*
                                                     *b:ale_haskell_hls_config*
haskell_hls_config
g:ale_haskell_hls_config
  Type: |Dictionary|
  Default: `{}`

  Dictionary with configuration settings for HLS. For example, to see more
  completions:
>
  let g:ale_haskell_hls_config = {'haskell': {'maxCompletions': 250}}
<
  Refer to HLS documentation for possible settings:
  https://haskell-language-server.readthedocs.io/en/latest/configuration.html#language-specific-server-options


===============================================================================
stack-build                                           *ale-haskell-stack-build*

                                      *ale-options.haskell_stack_build_options*
                                            *g:ale_haskell_stack_build_options*
                                            *b:ale_haskell_stack_build_options*
haskell_stack_build_options
g:ale_haskell_stack_build_options
  Type: |String|
  Default: `'--fast'`

  We default to using `'--fast'`. Since Stack generates binaries, your
  programs will be slower unless you separately rebuild them outside of ALE.


===============================================================================
stack-ghc                                               *ale-haskell-stack-ghc*

                                        *ale-options.haskell_stack_ghc_options*
                                              *g:ale_haskell_stack_ghc_options*
                                              *b:ale_haskell_stack_ghc_options*
haskell_stack_ghc_options
g:ale_haskell_stack_ghc_options
  Type: |String|
  Default: `'-fno-code -v0'`

  This variable can be changed to modify flags given to ghc through `stack
  ghc`


===============================================================================
stylish-haskell                                   *ale-haskell-stylish-haskell*

                               *ale-options.haskell_stylish_haskell_executable*
                                     *g:ale_haskell_stylish_haskell_executable*
                                     *b:ale_haskell_stylish_haskell_executable*
haskell_stylish_haskell_executable
g:ale_haskell_stylish_haskell_executable
  Type: |String|
  Default: `'stylish-haskell'`

  This variable can be changed to use a different executable for stylish-haskell.


===============================================================================
hie                                                           *ale-haskell-hie*

                                           *ale-options.haskell_hie_executable*
                                                 *g:ale_haskell_hie_executable*
                                                 *b:ale_haskell_hie_executable*
haskell_hie_executable
g:ale_haskell_hie_executable
  Type: |String|
  Default: `'hie'`

  This variable can be changed to use a different executable for the haskell
  ide engine. i.e. `'hie-wrapper'`


===============================================================================
ormolu                                                     *ale-haskell-ormolu*

                                        *ale-options.haskell_ormolu_executable*
                                              *g:ale_haskell_ormolu_executable*
                                              *b:ale_haskell_ormolu_executable*
haskell_ormolu_executable
g:ale_haskell_ormolu_executable
  Type: |String|
  Default: `'ormolu'`

  This variable can be changed to use a different executable for ormolu.

                                           *ale-options.haskell_ormolu_options*
                                                 *g:ale_haskell_ormolu_options*
                                                 *b:ale_haskell_ormolu_options*
haskell_ormolu_options
g:ale_haskell_ormolu_options
  Type: |String|
  Default: `''`

  This variable can be used to pass extra options to the underlying ormolu
  executable.


===============================================================================
fourmolu                                                 *ale-haskell-fourmolu*

                                      *ale-options.haskell_fourmolu_executable*
                                            *g:ale_haskell_fourmolu_executable*
                                            *b:ale_haskell_fourmolu_executable*
haskell_fourmolu_executable
g:ale_haskell_fourmolu_executable
  Type: |String|
  Default: `'fourmolu'`

  This variable can be changed to use a different executable for fourmolu.

                                         *ale-options.haskell_fourmolu_options*
                                               *g:ale_haskell_fourmolu_options*
                                               *b:ale_haskell_fourmolu_options*
haskell_fourmolu_options
g:ale_haskell_fourmolu_options
  Type: |String|
  Default: `''`

  This variable can be used to pass extra options to the underlying fourmolu
  executable.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Hcl (`doc/ale-hcl.txt`)

===============================================================================
ALE HCL Integration                                           *ale-hcl-options*


===============================================================================
packer-fmt                                                 *ale-hcl-packer-fmt*

See |ale-packer-fmt-fixer| for information about the available options.

===============================================================================
terraform-fmt                                           *ale-hcl-terraform-fmt*

See |ale-terraform-fmt-fixer| for information about the available options.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Help (`doc/ale-help.txt`)

===============================================================================
ALE Help Integration                                         *ale-help-options*


===============================================================================
cspell                                                        *ale-help-cspell*

See |ale-cspell-options|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Html (`doc/ale-html.txt`)

===============================================================================
ALE HTML Integration                                         *ale-html-options*


===============================================================================
angular                                                      *ale-html-angular*

ALE supports language server features for Angular. You can install it via `npm`: >

  $ npm install --save-dev @angular/language-server
<
Angular 11 and up are supported.

                                          *ale-options.html_angular_executable*
                                                *g:ale_html_angular_executable*
                                                *b:ale_html_angular_executable*
html_angular_executable
g:ale_html_angular_executable
  Type: |String|
  Default: `'ngserver'`

  See |ale-integrations-local-executables|

                                          *ale-options.html_angular_use_global*
                                                *g:ale_html_angular_use_global*
                                                *b:ale_html_angular_use_global*
html_angular_use_global
g:ale_html_angular_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
cspell                                                        *ale-html-cspell*

See |ale-cspell-options|


===============================================================================
djlint                                                        *ale-html-djlint*

`djlint` options for HTML are the same as the options for htmlangular,
htmldjango, jinja, handlebars, nunjucks and gotmplhtml.

                                           *ale-options.html_djlint_executable*
                                                 *g:ale_html_djlint_executable*
                                                 *b:ale_html_djlint_executable*
html_djlint_executable
g:ale_html_djlint_executable
  Type: |String|
  Default: `'djlint'`

  See |ale-integrations-local-executables|

                                              *ale-options.html_djlint_options*
                                                    *g:ale_html_djlint_options*
                                                    *b:ale_html_djlint_options*
html_djlint_options
g:ale_html_djlint_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to djlint.


===============================================================================
dprint                                                        *ale-html-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/markup_fmt/.


===============================================================================
fecs                                                            *ale-html-fecs*

`fecs` options for HTML are the same as the options for JavaScript, and both
of them read `./.fecsrc` as the default configuration file.

See: |ale-javascript-fecs|.


===============================================================================
html-beautify                                               *ale-html-beautify*

                                         *ale-options.html_beautify_executable*
                                               *g:ale_html_beautify_executable*
                                               *b:ale_html_beautify_executable*
html_beautify_executable
g:ale_html_beautify_executable
  Type: |String|
  Default: `'html-beautify'`

  See |ale-integrations-local-executables|

                                            *ale-options.html_beautify_options*
                                                  *g:ale_html_beautify_options*
                                                  *b:ale_html_beautify_options*
html_beautify_options
g:ale_html_beautify_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to html-beautify.

                                         *ale-options.html_beautify_use_global*
                                               *g:ale_html_beautify_use_global*
                                               *b:ale_html_beautify_use_global*
html_beautify_use_global
g:ale_html_beautify_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
htmlhint                                                    *ale-html-htmlhint*

                                         *ale-options.html_htmlhint_executable*
                                               *g:ale_html_htmlhint_executable*
                                               *b:ale_html_htmlhint_executable*
html_htmlhint_executable
g:ale_html_htmlhint_executable
  Type: |String|
  Default: `'htmlhint'`

  See |ale-integrations-local-executables|

                                            *ale-options.html_htmlhint_options*
                                                  *g:ale_html_htmlhint_options*
                                                  *b:ale_html_htmlhint_options*
html_htmlhint_options
g:ale_html_htmlhint_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to HTMLHint.

                                         *ale-options.html_htmlhint_use_global*
                                               *g:ale_html_htmlhint_use_global*
                                               *b:ale_html_htmlhint_use_global*
html_htmlhint_use_global
g:ale_html_htmlhint_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
prettier                                                    *ale-html-prettier*

See |ale-javascript-prettier| for information about the available options.


===============================================================================
rustywind                                                  *ale-html-rustywind*

                                        *ale-options.html_rustywind_executable*
                                              *g:ale_html_rustywind_executable*
                                              *b:ale_html_rustywind_executable*
html_rustywind_executable
g:ale_html_rustywind_executable
  Type: |String|
  Default: `'rustywind'`

  See |ale-integrations-local-executables|

                                           *ale-options.html_rustywind_options*
                                                 *g:ale_html_rustywind_options*
                                                 *b:ale_html_rustywind_options*
html_rustywind_options
g:ale_html_rustywind_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to rustywind.


===============================================================================
stylelint                                                  *ale-html-stylelint*

                                        *ale-options.html_stylelint_executable*
                                              *g:ale_html_stylelint_executable*
                                              *b:ale_html_stylelint_executable*
html_stylelint_executable
g:ale_html_stylelint_executable
  Type: |String|
  Default: `'stylelint'`

  See |ale-integrations-local-executables|

                                           *ale-options.html_stylelint_options*
                                                 *g:ale_html_stylelint_options*
                                                 *b:ale_html_stylelint_options*
html_stylelint_options
g:ale_html_stylelint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to stylelint.

                                        *ale-options.html_stylelint_use_global*
                                              *g:ale_html_stylelint_use_global*
                                              *b:ale_html_stylelint_use_global*
html_stylelint_use_global
g:ale_html_stylelint_use_global
  Type: |String|
  Default: `0`

  See |ale-integrations-local-executables|


===============================================================================
superhtml                                                  *ale-html-superhtml*

g:ale_html_superhtml_executable               *g:ale_html_superhtml_executable*
                                              *b:ale_html_superhtml_executable*
  Type: |String|
  Default: `'superhtml'`

  This variable can be changed to use a different executable for superhtml.

g:ale_html_superhtml_use_global               *g:ale_html_superhtml_use_global*
                                              *b:ale_html_superhtml_use_global*
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
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.


-------------------------------------------------------------------------------
Options
                                             *ale-options.html_tidy_executable*
                                                   *g:ale_html_tidy_executable*
                                                   *b:ale_html_tidy_executable*
html_tidy_executable
g:ale_html_tidy_executable
  Type: |String|
  Default: `'tidy'`

  This variable can be changed to change the path to tidy.

                                                *ale-options.html_tidy_options*
                                                      *g:ale_html_tidy_options*
                                                      *b:ale_html_tidy_options*
html_tidy_options
g:ale_html_tidy_options
  Type: |String|
  Default: `'-q -e -language en'`

  This variable can be changed to change the arguments provided to the
  executable.

  ALE will attempt to automatically detect the appropriate file encoding to
  provide to html-tidy, and fall back to UTF-8 when encoding detection fails.

  The recognized file encodings are as follows: ascii, big5, cp1252 (win1252),
  cp850 (ibm858), cp932 (shiftjis), iso-2022-jp (iso-2022), latin1, macroman
  (mac), sjis (shiftjis), utf-16le, utf-16, utf-8

                                             *ale-options.html_tidy_use_global*
                                                   *g:ale_html_tidy_use_global*
html_tidy_use_global
g:ale_html_tidy_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
vscodehtml                                                    *ale-html-vscode*

Website: https://github.com/hrsh7th/vscode-langservers-extracted


-------------------------------------------------------------------------------
Installation

Install VSCode html language server either globally or locally: >

  npm install vscode-langservers-extracted
<

===============================================================================
write-good                                                *ale-html-write-good*

See |ale-write-good-options|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Htmlangular (`doc/ale-htmlangular.txt`)

===============================================================================
ALE HTML Angular Template Integration                 *ale-htmlangular-options*



===============================================================================
djlint                                                 *ale-htmlangular-djlint*

See |ale-html-djlint|

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Htmldjango (`doc/ale-htmldjango.txt`)

===============================================================================
ALE HTML Django Template Integration                   *ale-htmldjango-options*



===============================================================================
djlint                                                  *ale-htmldjango-djlint*

See |ale-html-djlint|

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Http (`doc/ale-http.txt`)

===============================================================================
ALE HTTP Integration                                         *ale-http-options*


===============================================================================
kulala_fmt                                                *ale-http-kulala_fmt*

                                       *ale-options.http_kulala_fmt_executable*
                                             *g:ale_http_kulala_fmt_executable*
                                             *b:ale_http_kulala_fmt_executable*
http_kulala_fmt
g:ale_http_kulala_fmt
  Type: |String|
  Default: `'kulala_fmt'`

  Override the invoked kulala_fmt binary.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Hurl (`doc/ale-hurl.txt`)

===============================================================================
ALE Hurl Integration                                         *ale-hurl-options*


===============================================================================
hurlfmt                                                      *ale-hurl-hurlfmt*

                                          *ale-options.hurl_hurlfmt_executable*
                                                *g:ale_hurl_hurlfmt_executable*
                                                *b:ale_hurl_hurlfmt_executable*
hurl_hurlfmt_executable
g:ale_hurl_hurlfmt_executable
  Type: |String|
  Default: `'hurlfmt'`

  Override the invoked hurlfmt binary.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Idris (`doc/ale-idris.txt`)

===============================================================================
ALE Idris Integration                                       *ale-idris-options*


===============================================================================
idris                                                         *ale-idris-idris*

                                           *ale-options.idris_idris_executable*
                                                 *g:ale_idris_idris_executable*
                                                 *b:ale_idris_idris_executable*
idris_idris_executable
g:ale_idris_idris_executable
  Type: |String|
  Default: `'idris'`

  This variable can be changed to change the path to idris.

                                              *ale-options.idris_idris_options*
                                                    *g:ale_idris_idris_options*
                                                    *b:ale_idris_idris_options*
idris_idris_options
g:ale_idris_idris_options
  Type: |String|
  Default: `'--total --warnpartial --warnreach --warnipkg'`

  This variable can be changed to modify flags given to idris.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Ink (`doc/ale-ink.txt`)

===============================================================================
ALE Ink Integration                                           *ale-ink-options*


===============================================================================
ink-language-server                                   *ale-ink-language-server*

Ink Language Server - https://github.com/ephraim/ink-language-server

                                                *ale-options.ink_ls_executable*
                                                      *g:ale_ink_ls_executable*
                                                      *b:ale_ink_ls_executable*
ink_ls_executable
g:ale_ink_ls_executable
  Type: |String|
  Default: `'ink-language-server'`

  Ink language server executable.

                                    *ale-options.ink_ls_initialization_options*
                                          *g:ale_ink_ls_initialization_options*
                                          *b:ale_ink_ls_initialization_options*
ink_ls_initialization_options
g:ale_ink_ls_initialization_options
  Type: |Dictionary|
  Default: `{}`

  Dictionary containing configuration settings that will be passed to the
  language server at startup. For certain platforms and certain story
  structures, the defaults will suffice. However, many projects will need to
  change these settings - see the ink-language-server website for more
  information.

  An example of setting non-default options: >

  let g:ale_ink_ls_initialization_options = {
  \   'ink': {
  \       'mainStoryPath': 'init.ink',
  \       'inklecateExecutablePath': '/usr/local/bin/inklecate',
  \       'runThroughMono': v:false,
  \   },
  \}
<

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Inko (`doc/ale-inko.txt`)

===============================================================================
ALE Inko Integration                                         *ale-inko-options*
                                                         *ale-integration-inko*


===============================================================================
inko                                                            *ale-inko-inko*

                                             *ale-options.inko_inko_executable*
                                                   *g:ale_inko_inko_executable*
                                                   *b:ale_inko_inko_executable*
inko_inko_executable
g:ale_inko_inko_executable
  Type: |String|
  Default: `'inko'`

  This variable can be modified to change the executable path for `inko`.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Ispc (`doc/ale-ispc.txt`)

===============================================================================
ALE ISPC Integration                                         *ale-ispc-options*


===============================================================================
ispc                                                            *ale-ispc-ispc*

                                             *ale-options.ispc_ispc_executable*
                                                   *g:ale_ispc_ispc_executable*
                                                   *b:ale_ispc_ispc_executable*
ispc_ispc_executable
g:ale_ispc_ispc_executable
  Type: |String|
  Default: `'ispc'`

  This variable can be changed to use a different executable for ispc.

                                                *ale-options.ispc_ispc_options*
                                                      *g:ale_ispc_ispc_options*
                                                      *b:ale_ispc_ispc_options*
ispc_ispc_options
g:ale_ispc_ispc_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to ispc.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Janet (`doc/ale-janet.txt`)

===============================================================================
ALE Janet Integration                                       *ale-janet-options*


===============================================================================
janet-format                                           *ale-janet-janet-format*

                                    *ale-options.janet_janet_format_executable*
                                          *g:ale_janet_janet_format_executable*
                                          *b:ale_janet_janet_format_executable*
janet_janet_format_executable
g:ale_janet_janet_format_executable
  Type: |String|
  Default: `'janet-format'`

  This variable sets the executable used for janet-format.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Java (`doc/ale-java.txt`)

===============================================================================
ALE Java Integration                                         *ale-java-options*


===============================================================================
checkstyle                                                *ale-java-checkstyle*

                                           *ale-options.java_checkstyle_config*
                                                 *g:ale_java_checkstyle_config*
                                                 *b:ale_java_checkstyle_config*
java_checkstyle_config
g:ale_java_checkstyle_config
  Type: |String|
  Default: `'/google_checks.xml'`

  A path to a checkstyle configuration file.

  If a configuration file is specified with |g:ale_java_checkstyle_options|,
  it will be preferred over this setting.

  The path to the configuration file can be an absolute path or a relative
  path. ALE will search for the relative path in parent directories.

                                       *ale-options.java_checkstyle_executable*
                                             *g:ale_java_checkstyle_executable*
                                             *b:ale_java_checkstyle_executable*
java_checkstyle_executable
g:ale_java_checkstyle_executable
  Type: |String|
  Default: `'checkstyle'`

  This variable can be changed to modify the executable used for checkstyle.

                                          *ale-options.java_checkstyle_options*
                                                *g:ale_java_checkstyle_options*
                                                *b:ale_java_checkstyle_options*
java_checkstyle_options
g:ale_java_checkstyle_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to checkstyle.

  If a configuration file is specified with `-c`, it will be used instead of
  configuration files set with |g:ale_java_checkstyle_config|.


===============================================================================
clang-format                                             *ale-java-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for Java.


===============================================================================
cspell                                                        *ale-java-cspell*

See |ale-cspell-options|


===============================================================================
javac                                                          *ale-java-javac*

                                             *ale-options.java_javac_classpath*
                                                   *g:ale_java_javac_classpath*
                                                   *b:ale_java_javac_classpath*
java_javac_classpath
g:ale_java_javac_classpath
  Type: |String| or |List|
  Default: `''`

  This variable can be set to change the global classpath for Java.

                                            *ale-options.java_javac_executable*
                                                  *g:ale_java_javac_executable*
                                                  *b:ale_java_javac_executable*
java_javac_executable
g:ale_java_javac_executable
  Type: |String|
  Default: `'javac'`

  This variable can be set to change the executable path used for javac.

                                               *ale-options.java_javac_options*
                                                     *g:ale_java_javac_options*
                                                     *b:ale_java_javac_options*
java_javac_options
g:ale_java_javac_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to javac.

                                            *ale-options.java_javac_sourcepath*
                                                  *g:ale_java_javac_sourcepath*
                                                  *b:ale_java_javac_sourcepath*
java_javac_sourcepath
g: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).

  The source path can be set as a String with a system-dependent path
  separator. Note that the Unix path separator is a colon (`:`), and on
  Windows the path separator is a semicolon (`;`). >

  let g:ale_java_javac_sourcepath = 'build/gen/source/xx/main:build/gen/source'
<
  The source path can be set as a List so ALE will add the appropriate path
  separator for the host system automatically. >

  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*

                               *ale-options.java_google_java_format_executable*
                                     *g:ale_java_google_java_format_executable*
                                     *b:ale_java_google_java_format_executable*
java_google_java_format_executable
g:ale_java_google_java_format_executable
  Type: |String|
  Default: `'google-java-format'`

  See |ale-integrations-local-executables|

                                  *ale-options.java_google_java_format_options*
                                        *g:ale_java_google_java_format_options*
                                        *b:ale_java_google_java_format_options*
java_google_java_format_options
g:ale_java_google_java_format_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options


===============================================================================
pmd                                                              *ale-java-pmd*

                                                 *ale-options.java_pmd_options*
                                                       *g:ale_java_pmd_options*
                                                       *b:ale_java_pmd_options*
java_pmd_options
g:ale_java_pmd_options
  Type: |String|
  Default: `'-R category/java/bestpractices'`

  This variable can be changed to modify flags given to PMD. Do not specify -f
  and -d. They are added automatically.


===============================================================================
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.

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`

This will create launch scripts for Linux, Mac, and Windows in the dist folder
within the repo:

  - `lang_server_linux.sh`
  - `lang_server_mac.sh`
  - `lang_server_windows.sh`

To let ALE use this language server you need to set the executable, as
documented below.

                                          *ale-options.java_javalsp_executable*
                                                *g:ale_java_javalsp_executable*
                                                *b:ale_java_javalsp_executable*
java_javalsp_executable
g:ale_java_javalsp_executable
  Type: |String|
  Default: `''`

  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/lang_server_linux.sh'
<
                                              *ale-options.java_javalsp_config*
                                                    *g:ale_java_javalsp_config*
                                                    *b:ale_java_javalsp_config*
java_javalsp_config
g:ale_java_javalsp_config
  Type: |Dictionary|
  Default: `{}`

  The javalsp linter automatically detects external dependencies for Maven and
  Gradle projects. In case the javalsp fails to detect some of them, you can
  specify them configuring settings for the language server, such as in your
  ftplugin file. >

  let b:ale_java_javalsp_config = {
  \   'java': {
  \       'externalDependencies': [
  \           'junit:junit:jar:4.12:test',
  \           'junit:junit:4.1'
  \       ],
  \       'classPath': [
  \           'lib/some-dependency.jar',
  \           '/android-sdk/platforms/android-28.jar',
  \       ],
  \   },
  \}
<
  Or in Lua: >

  require("ale").setup.buffer({
      java_lsp_config = {
          java = {
              externalDependencies = {
                  "junit:junit:jar:4.12:test",
                  "junit:junit:4.1"
              },
              classPath = {
                  "lib/some-dependency.jar",
                  "/android-sdk/platforms/android-28.jar",
              },
          },
      }
  })
<
  The Java language server will look for the dependencies you specify in
  `externalDependencies` array in your Maven and Gradle caches ~/.m2 and
  ~/.gradle.


===============================================================================
eclipselsp                                                *ale-java-eclipselsp*

To enable Eclipse JDT LSP linter you need to clone and build the eclipse.jdt.ls
language server from https://github.com/eclipse/eclipse.jdt.ls. Simply
clone the source code repo and then build the plugin:

   `./mvnw clean verify`

Note: currently, the build can only run when launched with JDK 11. More
recent versions can be used to run the server though.

After build completes the files required to run the language server will be
located inside the repository folder `eclipse.jdt.ls`. Please ensure to set
|g:ale_java_eclipselsp_path| to the absolute path of that folder.

You could customize compiler options and code assists of the server.
Under your project folder, modify the file `.settings/org.eclipse.jdt.core.prefs`
with options presented at
https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html.

                                             *ale-options.java_eclipselsp_path*
                                                   *g:ale_java_eclipselsp_path*
                                                   *b:ale_java_eclipselsp_path*
java_eclipselsp_path
g:ale_java_eclipselsp_path
  Type: |String|
  Default: `'$HOME/eclipse.jdt.ls'`

  Absolute path to the location of the eclipse.jdt.ls repository folder. Or if
  you have VSCode extension installed the absolute path to the VSCode
  extensions folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in
  Linux).

                                       *ale-options.java_eclipselsp_executable*
                                             *g:ale_java_eclipselsp_executable*
                                                *b:ale_java_eclipse_executable*
java_eclipselsp_executable
g:ale_java_eclipselsp_executable
  Type: |String|
  Default: `'java'`

  This variable can be set to change the executable path used for java.

                                      *ale-options.java_eclipselsp_config_path*
                                            *g:ale_java_eclipselsp_config_path*
                                               *b:ale_java_eclipse_config_path*
java_eclipselsp_config_path
g:ale_java_eclipselsp_config_path
  Type: |String|
  Default: `''`

  Set this variable to change the configuration directory path used by
  eclipselsp (e.g. `$HOME/.jdtls` in Linux). By default ALE will attempt to
  use the configuration within the installation directory.

  This setting is particularly useful when eclipselsp is installed in a
  non-writable directory like `/usr/share/java/jdtls`, as is the case when
  installed via system package.

                                   *ale-options.java_eclipselsp_workspace_path*
                                         *g:ale_java_eclipselsp_workspace_path*
                                         *b:ale_java_eclipselsp_workspace_path*
java_eclipselsp_workspace_path
g:ale_java_eclipselsp_workspace_path
  Type: |String|
  Default: `''`

  If you have Eclipse installed it is a good idea to set this variable to the
  absolute path of the Eclipse workspace. If not set this value will be set to
  the parent folder of the project root.

                                        *ale-options.java_eclipselsp_javaagent*
                                              *g:ale_java_eclipselsp_javaagent*
                                              *b:ale_java_eclipselsp_javaagent*
java_eclipselsp_javaagent
g: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*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Javascript (`doc/ale-javascript.txt`)

===============================================================================
ALE JavaScript Integration                             *ale-javascript-options*
                                        *ale-eslint-nested-configuration-files*

For fixing files with ESLint, nested configuration files with `root: false`
are not supported. This is because ALE fixes files by writing the contents of
buffers to temporary files, and then explicitly sets the configuration file.
Configuration files which are set explicitly must be root configuration files.
If you are using nested configuration files, you should restructure your
project so your configuration files use `extends` instead.

See the ESLint documentation here:
http://eslint.org/docs/user-guide/configuring#extending-configuration-files

You should change the structure of your project from this: >
  /path/foo/.eslintrc.js # root: true
  /path/foo/bar/.eslintrc.js # root: false
<

To this: >
  /path/foo/.base-eslintrc.js # Base configuration here
  /path/foo/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"]
  /path/foo/bar/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"]
<

===============================================================================
biome                                                    *ale-javascript-biome*

Check the docs over at |ale-typescript-biome|.


===============================================================================
clang-format                                       *ale-javascript-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for JavaScript.


===============================================================================
cspell                                                  *ale-javascript-cspell*

See |ale-cspell-options|


===============================================================================
deno                                                      *ale-javascript-deno*

Check the docs over at |ale-typescript-deno|.


===============================================================================
dprint                                                  *ale-javascript-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/typescript/.


===============================================================================
eslint                                                  *ale-javascript-eslint*

                                     *ale-options.javascript_eslint_executable*
                                           *g:ale_javascript_eslint_executable*
                                           *b:ale_javascript_eslint_executable*
javascript_eslint_executable
g:ale_javascript_eslint_executable
  Type: |String|
  Default: `'eslint'`

  See |ale-integrations-local-executables|

                                        *ale-options.javascript_eslint_options*
                                              *g:ale_javascript_eslint_options*
                                              *b:ale_javascript_eslint_options*
javascript_eslint_options
g:ale_javascript_eslint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to eslint.

                                     *ale-options.javascript_eslint_use_global*
                                           *g:ale_javascript_eslint_use_global*
                                           *b:ale_javascript_eslint_use_global*
javascript_eslint_use_global
g:ale_javascript_eslint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


                          *ale-options.javascript_eslint_suppress_eslintignore*
                                *g:ale_javascript_eslint_suppress_eslintignore*
                                *b:ale_javascript_eslint_suppress_eslintignore*
javascript_eslint_suppress_eslintignore
g:ale_javascript_eslint_suppress_eslintignore
  Type: |Number|
  Default: `0`

  This variable can be set to `1` to disable warnings for files being ignored
  by eslint.


                        *ale-options.javascript_eslint_suppress_missing_config*
                              *g:ale_javascript_eslint_suppress_missing_config*
                              *b:ale_javascript_eslint_suppress_missing_config*
javascript_eslint_suppress_missing_config
g:ale_javascript_eslint_suppress_missing_config
  Type: |Number|
  Default: `0`

  This variable can be set to `1` to disable errors for missing eslint
  configuration files.

  When turning this option on, eslint will not report any problems when no
  configuration files are found.


===============================================================================
fecs                                                      *ale-javascript-fecs*

`fecs` is a lint tool for HTML/CSS/JavaScript, can be installed via:

  `$ npm install --save-dev fecs`

And the configuration file is located at `./fecsrc`, see http://fecs.baidu.com
for more options.

                                       *ale-options.javascript_fecs_executable*
                                             *g:ale_javascript_fecs_executable*
                                             *b:ale_javascript_fecs_executable*
javascript_fecs_executable
g:ale_javascript_fecs_executable
  Type: |String|
  Default: `'fecs'`

  See |ale-integrations-local-executables|

                                       *ale-options.javascript_fecs_use_global*
                                             *g:ale_javascript_fecs_use_global*
                                             *b:ale_javascript_fecs_use_global*
javascript_fecs_use_global
g:ale_javascript_fecs_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
flow                                                      *ale-javascript-flow*

                                       *ale-options.javascript_flow_executable*
                                             *g:ale_javascript_flow_executable*
                                             *b:ale_javascript_flow_executable*
javascript_flow_executable
g:ale_javascript_flow_executable
  Type: |String|
  Default: `'flow'`

  See |ale-integrations-local-executables|

                                  *ale-options.javascript_flow_use_home_config*
                                        *g:ale_javascript_flow_use_home_config*
                                        *b:ale_javascript_flow_use_home_config*
javascript_flow_use_home_config
g: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.

                                       *ale-options.javascript_flow_use_global*
                                             *g:ale_javascript_flow_use_global*
                                             *b:ale_javascript_flow_use_global*
javascript_flow_use_global
g:ale_javascript_flow_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                               *ale-options.javascript_flow_use_respect_pragma*
                                     *g:ale_javascript_flow_use_respect_pragma*
                                     *b:ale_javascript_flow_use_respect_pragma*
javascript_flow_use_respect_pragma
g:ale_javascript_flow_use_respect_pragma
  Type: |Number|
  Default: `1`

  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 behavior, so all files can be checked by `flow`.


===============================================================================
importjs                                              *ale-javascript-importjs*

                                   *ale-options.javascript_importjs_executable*
                                         *g:ale_javascript_importjs_executable*
                                         *b:ale_javascript_importjs_executable*
javascript_importjs_executable
g:ale_javascript_importjs_executable
  Type: |String|
  Default: `'importjs'`


===============================================================================
jscs                                                      *ale-javascript-jscs*

                                       *ale-options.javascript_jscs_executable*
                                             *g:ale_javascript_jscs_executable*
                                             *b:ale_javascript_jscs_executable*
javascript_jscs_executable
g:ale_javascript_jscs_executable
  Type: |String|
  Default: `'jscs'`

  See |ale-integrations-local-executables|

                                       *ale-options.javascript_jscs_use_global*
                                             *g:ale_javascript_jscs_use_global*
                                             *b:ale_javascript_jscs_use_global*
javascript_jscs_use_global
g:ale_javascript_jscs_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
jshint                                                  *ale-javascript-jshint*

                                     *ale-options.javascript_jshint_executable*
                                           *g:ale_javascript_jshint_executable*
                                           *b:ale_javascript_jshint_executable*
javascript_jshint_executable
g:ale_javascript_jshint_executable
  Type: |String|
  Default: `'jshint'`

  See |ale-integrations-local-executables|

                                     *ale-options.javascript_jshint_use_global*
                                           *g:ale_javascript_jshint_use_global*
                                           *b:ale_javascript_jshint_use_global*
javascript_jshint_use_global
g:ale_javascript_jshint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
prettier                                              *ale-javascript-prettier*

                                   *ale-options.javascript_prettier_executable*
                                         *g:ale_javascript_prettier_executable*
                                         *b:ale_javascript_prettier_executable*
javascript_prettier_executable
g:ale_javascript_prettier_executable
  Type: |String|
  Default: `'prettier'`

  See |ale-integrations-local-executables|

                                      *ale-options.javascript_prettier_options*
                                            *g:ale_javascript_prettier_options*
                                            *b:ale_javascript_prettier_options*
javascript_prettier_options
g:ale_javascript_prettier_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to prettier.

                                   *ale-options.javascript_prettier_use_global*
                                         *g:ale_javascript_prettier_use_global*
                                         *b:ale_javascript_prettier_use_global*
javascript_prettier_use_global
g:ale_javascript_prettier_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
prettier-eslint                                *ale-javascript-prettier-eslint*

                            *ale-options.javascript_prettier_eslint_executable*
                                  *g:ale_javascript_prettier_eslint_executable*
                                  *b:ale_javascript_prettier_eslint_executable*
javascript_prettier_eslint_executable
g:ale_javascript_prettier_eslint_executable
  Type: |String|
  Default: `'prettier-eslint'`

  See |ale-integrations-local-executables|

                               *ale-options.javascript_prettier_eslint_options*
                                     *g:ale_javascript_prettier_eslint_options*
                                     *b:ale_javascript_prettier_eslint_options*
javascript_prettier_eslint_options
g:ale_javascript_prettier_eslint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to prettier-eslint.


                            *ale-options.javascript_prettier_eslint_use_global*
                                  *g:ale_javascript_prettier_eslint_use_global*
                                  *b:ale_javascript_prettier_eslint_use_global*
javascript_prettier_eslint_use_global
g:ale_javascript_prettier_eslint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
prettier-standard                            *ale-javascript-prettier-standard*


                          *ale-options.javascript_prettier_standard_executable*
                                *g:ale_javascript_prettier_standard_executable*
                                *b:ale_javascript_prettier_standard_executable*
javascript_prettier_standard_executable
g:ale_javascript_prettier_standard_executable
  Type: |String|
  Default: `'prettier-standard'`

  See |ale-integrations-local-executables|


                             *ale-options.javascript_prettier_standard_options*
                                   *g:ale_javascript_prettier_standard_options*
                                   *b:ale_javascript_prettier_standard_options*
javascript_prettier_standard_options
g:ale_javascript_prettier_standard_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to prettier-standard.


                          *ale-options.javascript_prettier_standard_use_global*
                                *g:ale_javascript_prettier_standard_use_global*
                                *b:ale_javascript_prettier_standard_use_global*
javascript_prettier_standard_use_global
g:ale_javascript_prettier_standard_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
standard                                              *ale-javascript-standard*

                                   *ale-options.javascript_standard_executable*
                                         *g:ale_javascript_standard_executable*
                                         *b:ale_javascript_standard_executable*
javascript_standard_executable
g:ale_javascript_standard_executable
  Type: |String|
  Default: `'standard'`

  See |ale-integrations-local-executables|

                                      *ale-options.javascript_standard_options*
                                            *g:ale_javascript_standard_options*
                                            *b:ale_javascript_standard_options*
javascript_standard_options
g:ale_javascript_standard_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to standard.

                                   *ale-options.javascript_standard_use_global*
                                         *g:ale_javascript_standard_use_global*
                                         *b:ale_javascript_standard_use_global*
javascript_standard_use_global
g:ale_javascript_standard_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
xo                                                          *ale-javascript-xo*

                                         *ale-options.javascript_xo_executable*
                                               *g:ale_javascript_xo_executable*
                                               *b:ale_javascript_xo_executable*
javascript_xo_executable
g:ale_javascript_xo_executable
  Type: |String|
  Default: `'xo'`

  See |ale-integrations-local-executables|

                                            *ale-options.javascript_xo_options*
                                                  *g:ale_javascript_xo_options*
                                                  *b:ale_javascript_xo_options*
javascript_xo_options
g:ale_javascript_xo_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to xo.

                                         *ale-options.javascript_xo_use_global*
                                               *g:ale_javascript_xo_use_global*
                                               *b:ale_javascript_xo_use_global*
javascript_xo_use_global
g:ale_javascript_xo_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Jinja (`doc/ale-jinja.txt`)

===============================================================================
ALE Jinja Integration                                       *ale-jinja-options*



===============================================================================
djlint                                                       *ale-jinja-djlint*

See |ale-html-djlint|


===============================================================================
dprint                                                       *ale-jinja-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/markup_fmt/.


===============================================================================
j2lint                                                       *ale-jinja-j2lint*

                                          *ale-options.jinja_j2lint_executable*
                                                *g:ale_jinja_j2lint_executable*
                                                *b:ale_jinja_j2lint_executable*
jinja_j2lint_executable
g:ale_jinja_j2lint_executable
  Type: |String|
  Default: `'j2lint'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `j2lint'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `j2lint'`.
  Set this to `'uv'` to invoke `'uv` `run` `j2lint'`.

                                             *ale-options.jinja_j2lint_options*
                                                   *g:ale_jinja_j2lint_options*
                                                   *b:ale_jinja_j2lint_options*

jinja_j2lint_options
g:ale_jinja_j2lint_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the
  j2lint invocation.

                                          *ale-options.jinja_j2lint_use_global*
                                                *g:ale_jinja_j2lint_use_global*
                                                *b:ale_jinja_j2lint_use_global*

jinja_j2lint_use_global
g:ale_jinja_j2lint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                         *ale-options.jinja_j2lint_auto_pipenv*
                                               *g:ale_jinja_j2lint_auto_pipenv*
                                               *b:ale_jinja_j2lint_auto_pipenv*

jinja_j2lint_auto_pipenv
g:ale_jinja_j2lint_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.jinja_j2lint_auto_poetry*
                                               *g:ale_jinja_j2lint_auto_poetry*
                                               *b:ale_jinja_j2lint_auto_poetry*

jinja_j2lint_auto_poetry
g:ale_jinja_j2lint_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                             *ale-options.jinja_j2lint_auto_uv*
                                                   *g:ale_jinja_j2lint_auto_uv*
                                                   *b:ale_jinja_j2lint_auto_uv*

jinja_j2lint_auto_uv
g:ale_jinja_j2lint_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Json (`doc/ale-json.txt`)

===============================================================================
ALE JSON Integration                                         *ale-json-options*


===============================================================================
biome                                                          *ale-json-biome*

Check the docs over at |ale-typescript-biome|.


===============================================================================
clang-format                                             *ale-json-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for JSON.


===============================================================================
cspell                                                        *ale-json-cspell*

See |ale-cspell-options|


===============================================================================
dprint                                                        *ale-json-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/json/.


===============================================================================
eslint                                                        *ale-json-eslint*

The `eslint` linter for JSON uses the JavaScript options for `eslint`; see:
|ale-javascript-eslint|.

You will need a JSON ESLint plugin installed for this to work.


===============================================================================
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 fixjson
<
ALE provides fixjson integration as a fixer. See |ale-fix|.

-------------------------------------------------------------------------------
Options
                                          *ale-options.json_fixjson_executable*
                                                *g:ale_json_fixjson_executable*
                                                *b:ale_json_fixjson_executable*
json_fixjson_executable
g:ale_json_fixjson_executable
  Type: |String|
  Default: `'fixjson'`

  The executable that will be run for fixjson.

                                             *ale-options.json_fixjson_options*
                                                   *g:ale_json_fixjson_options*
                                                   *b:ale_json_fixjson_options*
json_fixjson_options
g:ale_json_fixjson_options
  Type: |String|
  Default: `''`

  This variable can add extra options to the command executed for running
  fixjson.

                                          *ale-options.json_fixjson_use_global*
                                                *g:ale_json_fixjson_use_global*
                                                *b:ale_json_fixjson_use_global*
json_fixjson_use_global
g:ale_json_fixjson_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
pytool                                                        *ale-json-pytool*

Use python's json.tool module to reformat json.

                                           *ale-options.json_pytool_executable*
                                                 *g:ale_json_pytool_executable*
                                                 *b:ale_json_pytool_executable*
json_pytool_executable
g:ale_json_pytool_executable
  Type: |String|
  Default: `'python'`

  The python executable that run to use its json.tool module. This fixer
  requires python 3, which includes the json module.

                                              *ale-options.json_pytool_options*
                                                    *g:ale_json_pytool_options*
                                                    *b:ale_json_pytool_options*
json_pytool_options
g:ale_json_pytool_options
  Type: |String|
  Default: `''`

  These options are passed to the json.tool module. Example: >
    let g:ale_json_pytool_options = '--sort-keys --indent 2'
<  See docs for all options:
    https://docs.python.org/3/library/json.html#module-json.tool

                                           *ale-options.json_pytool_use_global*
                                                 *g:ale_json_pytool_use_global*
                                                 *b:ale_json_pytool_use_global*
json_pytool_use_global
g:ale_json_pytool_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
jsonlint                                                    *ale-json-jsonlint*

                                         *ale-options.json_jsonlint_executable*
                                               *g:ale_json_jsonlint_executable*
                                               *b:ale_json_jsonlint_executable*
json_jsonlint_executable
g:ale_json_jsonlint_executable
  Type: |String|
  Default: `'jsonlint'`

  The executable that will be run for jsonlint.

                                         *ale-options.json_jsonlint_use_global*
                                               *g:ale_json_jsonlint_use_global*
                                               *b:ale_json_jsonlint_use_global*
json_jsonlint_use_global
g:ale_json_jsonlint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
jq                                                                *ale-json-jq*

                                               *ale-options.json_jq_executable*
                                                     *g:ale_json_jq_executable*
                                                     *b:ale_json_jq_executable*
json_jq_executable
g:ale_json_jq_executable
  Type: |String|
  Default: `'jq'`

  This option can be changed to change the path for `jq`.


                                                  *ale-options.json_jq_options*
                                                        *g:ale_json_jq_options*
                                                        *b:ale_json_jq_options*
json_jq_options
g:ale_json_jq_options
  Type: |String|
  Default: `''`

  This option can be changed to pass extra options to `jq`.

                                                  *ale-options.json_jq_filters*
                                                        *g:ale_json_jq_filters*
                                                        *b:ale_json_jq_filters*
json_jq_filters
g:ale_json_jq_filters
  Type: |String|
  Default: `'.'`

  This option can be changed to pass custom filters to `jq`.


===============================================================================
prettier                                                    *ale-json-prettier*

See |ale-javascript-prettier| for information about the available options.


===============================================================================
spectral                                                    *ale-json-spectral*

Website: https://github.com/stoplightio/spectral


-------------------------------------------------------------------------------
Installation

Install spectral either globally or locally: >

  npm install @stoplight/spectral -g  # global
  npm install @stoplight/spectral     # local
<

-------------------------------------------------------------------------------
Options

                                         *ale-options.json_spectral_executable*
                                               *g:ale_json_spectral_executable*
                                               *b:ale_json_spectral_executable*
json_spectral_executable
g:ale_json_spectral_executable
  Type: |String|
  Default: `'spectral'`

  This variable can be set to change the path to spectral.

                                         *ale-options.json_spectral_use_global*
                                               *g:ale_json_spectral_use_global*
                                               *b:ale_json_spectral_use_global*
json_spectral_use_global
g:ale_json_spectral_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
vscodejson                                                    *ale-json-vscode*

Website: https://github.com/hrsh7th/vscode-langservers-extracted

-------------------------------------------------------------------------------
Installation

Install VSCode json language server either globally or locally: >

  npm install vscode-langservers-extracted
<

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Json5 (`doc/ale-json5.txt`)

===============================================================================
ALE JSON5 Integration                                       *ale-json5-options*


===============================================================================
eslint                                                       *ale-json5-eslint*

The `eslint` linter for JSON uses the JavaScript options for `eslint`; see:
|ale-javascript-eslint|.

You will need a JSON5 ESLint plugin installed for this to work.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Jsonc (`doc/ale-jsonc.txt`)

===============================================================================
ALE JSONC Integration                                       *ale-jsonc-options*


===============================================================================
biome                                                         *ale-jsonc-biome*

Check the docs over at |ale-typescript-biome|.


===============================================================================
eslint                                                       *ale-jsonc-eslint*

The `eslint` linter for JSON uses the JavaScript options for `eslint`; see:
|ale-javascript-eslint|.

You will need a JSONC ESLint plugin installed for this to work.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Jsonnet (`doc/ale-jsonnet.txt`)

===============================================================================
ALE Jsonnet Integration                                   *ale-jsonnet-options*


===============================================================================
jsonnetfmt                                             *ale-jsonnet-jsonnetfmt*

                                    *ale-options.jsonnet_jsonnetfmt_executable*
                                          *g:ale_jsonnet_jsonnetfmt_executable*
                                          *b:ale_jsonnet_jsonnetfmt_executable*
jsonnet_jsonnetfmt_executable
g:ale_jsonnet_jsonnetfmt_executable
  Type: |String|
  Default: `'jsonnetfmt'`

  This option can be changed to change the path for `jsonnetfmt`.

                                       *ale-options.jsonnet_jsonnetfmt_options*
                                             *g:ale_jsonnet_jsonnetfmt_options*
                                             *b:ale_jsonnet_jsonnetfmt_options*
jsonnet_jsonnetfmt_options
g:ale_jsonnet_jsonnetfmt_options
  Type: |String|
  Default: `''`

  This option can be changed to pass extra options to `jsonnetfmt`.


===============================================================================
jsonnet-lint                                         *ale-jsonnet-jsonnet-lint*

                                  *ale-options.jsonnet_jsonnet_lint_executable*
                                        *g:ale_jsonnet_jsonnet_lint_executable*
                                        *b:ale_jsonnet_jsonnet_lint_executable*
jsonnet_jsonnet_lint_executable
g:ale_jsonnet_jsonnet_lint_executable
  Type: |String|
  Default: `'jsonnet-lint'`

  This option can be changed to change the path for `jsonnet-lint`.

                                     *ale-options.jsonnet_jsonnet_lint_options*
                                           *g:ale_jsonnet_jsonnet_lint_options*
                                           *b:ale_jsonnet_jsonnet_lint_options*
jsonnet_jsonnet_lint_options
g:ale_jsonnet_jsonnet_lint_options
  Type: |String|
  Default: `''`

  This option can be changed to pass extra options to `jsonnet-lint`.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Julia (`doc/ale-julia.txt`)

===============================================================================
ALE Julia Integration                                       *ale-julia-options*


===============================================================================
fatou                                                           *ale-julia-fatou*

fatou is a language server, formatter, and linter for Julia. The `fatou` linter
runs the language server (`fatou lsp`) to report diagnostics, and the `fatou`
fixer formats Julia with `fatou format`.

Project-level configuration is read from a `fatou.toml` file discovered by
walking up from the file being edited. See https://github.com/jolars/fatou for
more information.

                                           *ale-options.julia_fatou_executable*
                                                 *g:ale_julia_fatou_executable*
                                                 *b:ale_julia_fatou_executable*
julia_fatou_executable
g:ale_julia_fatou_executable
  Type: |String|
  Default: `'fatou'`

  This variable can be changed to change the path to fatou.

                                              *ale-options.julia_fatou_options*
                                                    *g:ale_julia_fatou_options*
                                                    *b:ale_julia_fatou_options*
julia_fatou_options
g:ale_julia_fatou_options
  Type: |String|
  Default: `''`

  This variable can be changed to pass additional arguments to the `fatou
  format` command used by the fixer.


===============================================================================
languageserver                                       *ale-julia-languageserver*

To enable Julia LSP linter you need to install the LanguageServer.jl package
within julia.

                                                 *ale-options.julia_executable*
                                                       *g:ale_julia_executable*
                                                       *b:ale_julia_executable*
julia_executable
g:ale_julia_executable
  Type: |String|
  Default: `'julia'`

  Path to the julia exetuable.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Kotlin (`doc/ale-kotlin.txt`)

===============================================================================
ALE Kotlin Integration                                     *ale-kotlin-options*
                                                       *ale-integration-kotlin*

===============================================================================
Integration Information

  Make sure your setup has support for the kotlin file type. A filetype plugin
  can be found here: https://github.com/udalov/kotlin-vim


  Note: Make sure you have a working kotlin compiler


===============================================================================
kotlinc                                                    *ale-kotlin-kotlinc*

                                           *ale-options.kotlin_kotlinc_options*
                                                 *g:ale_kotlin_kotlinc_options*
                                                 *b:ale_kotlin_kotlinc_options*
kotlin_kotlinc_options
g:ale_kotlin_kotlinc_options
  Type: |String|
  Default: `''`

  Additional options to pass to the kotlin compiler

                                     *ale-options.kotlin_kotlinc_enable_config*
                                           *g:ale_kotlin_kotlinc_enable_config*
                                           *b:ale_kotlin_kotlinc_enable_config*
kotlin_kotlinc_enable_config
g:ale_kotlin_kotlinc_enable_config
  Type: |Number|
  Default: `0`

  Setting this variable to `1` tells the linter to load a configuration file.
  This should be set in your vimrc

                                       *ale-options.kotlin_kotlinc_config_file*
                                             *g:ale_kotlin_kotlinc_config_file*
                                             *b:ale_kotlin_kotlinc_config_file*
kotlin_kotlinc_config_file
g:ale_kotlin_kotlinc_config_file
  Type: |String|
  Default: `'.ale_kotlin_kotlinc_config'`

  Filename of the configuration file. This should be set in your vimrc

                                         *ale-options.kotlin_kotlinc_classpath*
                                               *g:ale_kotlin_kotlinc_classpath*
                                               *b:ale_kotlin_kotlinc_classpath*
kotlin_kotlinc_classpath
g:ale_kotlin_kotlinc_classpath
  Type: |String|
  Default: `''`

  A string containing the paths (separated by the appropriate path separator)
  of the source directories.

                                        *ale-options.kotlin_kotlinc_sourcepath*
                                              *g:ale_kotlin_kotlinc_sourcepath*
                                              *b:ale_kotlin_kotlinc_sourcepath*
kotlin_kotlinc_sourcepath
g:ale_kotlin_kotlinc_sourcepath
  Type: |String|
  Default: `''`

  A string containing the paths (separated by space) of the source
  directories.

                                   *ale-options.kotlin_kotlinc_use_module_file*
                                         *g:ale_kotlin_kotlinc_use_module_file*
                                         *b:ale_kotlin_kotlinc_use_module_file*
kotlin_kotlinc_use_module_file
g:ale_kotlin_kotlinc_use_module_file
  Type: |Number|
  Default: `0`

  This option indicates whether the linter should use a module file. It is off
  by default.

                                   *ale-options.kotlin_kotlinc_module_filename*
                                         *g:ale_kotlin_kotlinc_module_filename*
                                         *b:ale_kotlin_kotlinc_module_filename*
kotlin_kotlinc_module_filename
g:ale_kotlin_kotlinc_module_filename
  Type: |String|
  Default: `'module.xml'`

  The filename of the module file that the linter should pass to the kotlin
  compiler.


===============================================================================
ktlint                                                      *ale-kotlin-ktlint*

                                         *ale-options.kotlin_ktlint_executable*
                                               *g:ale_kotlin_ktlint_executable*
                                               *b:ale_kotlin_ktlint_executable*
kotlin_ktlint_executable
g:ale_kotlin_ktlint_executable
  Type: |String|
  Default: `''`

  The Ktlint executable.

  Posix-compliant shell scripts are the only executables that can be found on
  Ktlint's github release page. If you are not on such a system, your best
  bet will be to download the ktlint jar and set this option to something
  similar to `'java -jar /path/to/ktlint.jar'`

                                           *ale-options.kotlin_ktlint_rulesets*
                                                 *g:ale_kotlin_ktlint_rulesets*
                                                 *b:ale_kotlin_ktlint_rulesets*
kotlin_ktlint_rulesets
g:ale_kotlin_ktlint_rulesets
  Type: |List|
  Default: `[]`

  This list should contain paths to ruleset jars and/or strings of maven
  artifact triples. Example: >

  let g:ale_kotlin_ktlint_rulesets = ['/path/to/custom-ruleset.jar',
  'com.ktlint.rulesets:mycustomrule:1.0.0']
<
                                            *ale-options.kotlin_ktlint_options*
                                                  *g:ale_kotlin_ktlint_options*
                                                  *b:ale_kotlin_ktlint_options*
kotlin_ktlint_options
g:ale_kotlin_ktlint_options
  Type: |String|
  Default: `''`

  Options to pass to ktlint for both linting and fixing. For example: >

  let g:ale_kotlin_ktlint_options = '--android'
<

===============================================================================
languageserver                                      *ale-kotlin-languageserver*

                                 *ale-options.kotlin_languageserver_executable*
                                       *g:ale_kotlin_languageserver_executable*
                                       *b:ale_kotlin_languageserver_executable*
kotlin_languageserver_executable
g:ale_kotlin_languageserver_executable
  Type: |String|
  Default: `''`

  The kotlin-language-server executable.

  Executables are located inside the bin/ folder of the language server
  release.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Latex (`doc/ale-latex.txt`)

===============================================================================
ALE LaTeX Integration                                       *ale-latex-options*


===============================================================================
cspell                                                       *ale-latex-cspell*

===============================================================================
write-good                                               *ale-latex-write-good*

See |ale-write-good-options|


===============================================================================
textlint                                                   *ale-latex-textlint*

See |ale-text-textlint|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Lean (`doc/ale-lean.txt`)

===============================================================================
ALE Lean Integration                                         *ale-lean-options*
                                                         *ale-integration-lean*

===============================================================================
Integration Information

  Currently, the only supported LSP for Lean 4 is lake.

===============================================================================
lake                                                            *ale-lean-lake*

g:ale_lean_lake_executable                         *g:ale_lean_lake_executable*
                                                   *b:ale_lean_lake_executable*
  Type: |String|
  Default: `'lake'`

  This variable can be modified to change the executable path for `lake`.


g:ale_lean_lake_config                                 *g:ale_lean_lake_config*
                                                       *b:ale_lean_lake_config*
  Type: |Dictionary|
  Default: `{}`

  Dictionary with configuration settings for lake.

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Less (`doc/ale-less.txt`)

===============================================================================
ALE Less Integration                                         *ale-less-options*


===============================================================================
dprint                                                        *ale-less-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/malva/.


===============================================================================
lessc                                                          *ale-less-lessc*

                                            *ale-options.less_lessc_executable*
                                                  *g:ale_less_lessc_executable*
                                                  *b:ale_less_lessc_executable*
less_lessc_executable
g:ale_less_lessc_executable
  Type: |String|
  Default: `'lessc'`

  See |ale-integrations-local-executables|

                                               *ale-options.less_lessc_options*
                                                     *g:ale_less_lessc_options*
                                                     *b:ale_less_lessc_options*
less_lessc_options
g:ale_less_lessc_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to lessc.

                                            *ale-options.less_lessc_use_global*
                                                  *g:ale_less_lessc_use_global*
                                                  *b:ale_less_lessc_use_global*
less_lessc_use_global
g:ale_less_lessc_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
prettier                                                    *ale-less-prettier*

See |ale-javascript-prettier| for information about the available options.


===============================================================================
stylelint                                                  *ale-less-stylelint*

                                        *ale-options.less_stylelint_executable*
                                              *g:ale_less_stylelint_executable*
                                              *b:ale_less_stylelint_executable*
less_stylelint_executable
g:ale_less_stylelint_executable
  Type: |String|
  Default: `'stylelint'`

  See |ale-integrations-local-executables|

                                           *ale-options.less_stylelint_options*
                                                 *g:ale_less_stylelint_options*
                                                 *b:ale_less_stylelint_options*
less_stylelint_options
g:ale_less_stylelint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to stylelint.

                                        *ale-options.less_stylelint_use_global*
                                              *g:ale_less_stylelint_use_global*
                                              *b:ale_less_stylelint_use_global*
less_stylelint_use_global
g:ale_less_stylelint_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Lilypond (`doc/ale-lilypond.txt`)

===============================================================================
ALE LilyPond Integration                                 *ale-lilypond-options*


===============================================================================
lilypond                                                         *ale-lilypond*

g:ale_lilypond_lilypond_executable           *g:ale_lilypond_lilypond_executable*
                                             *b:ale_lilypond_lilypond_executable*
  Type: |String|
  Default: `'lilypond'`

  This variable can be changed to modify the executable used for lilypond.


g:ale_lilypond_lilypond_options                 *g:ale_lilypond_lilypond_options*
                                                *b:ale_lilypond_lilypond_options*
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to lilypond.

  For example, to add custom include paths: >

    let g:ale_lilypond_lilypond_options = '--include=/path/to/includes'
<

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Llvm (`doc/ale-llvm.txt`)

===============================================================================
ALE LLVM Integration                                         *ale-llvm-options*


===============================================================================
llc                                                              *ale-llvm-llc*

                                              *ale-options.llvm_llc_executable*
                                                    *g:ale_llvm_llc_executable*
                                                    *b:ale_llvm_llc_executable*
llvm_llc_executable
g:ale_llvm_llc_executable
  Type: |String|
  Default: `"llc"`

  The command to use for checking. This variable is useful when llc command
  has suffix like "llc-5.0".


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Lua (`doc/ale-lua.txt`)

===============================================================================
ALE Lua Integration                                           *ale-lua-options*


===============================================================================
cspell                                                         *ale-lua-cspell*

See |ale-cspell-options|


===============================================================================
lua-format                                                 *ale-lua-lua-format*

                                        *ale-options.lua_lua_format_executable*
                                              *g:ale_lua_lua_format_executable*
                                              *b:ale_lua_lua_format_executable*
lua_lua_format_executable
g:ale_lua_lua_format_executable
  Type: |String|
  Default: `'lua-format'`

  This variable can be changed to change the path to lua-format.

                                           *ale-options.lua_lua_format_options*
                                                 *g:ale_lua_lua_format_options*
                                                 *b:ale_lua_lua_format_options*
lua_lua_format_options
g:ale_lua_lua_format_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to lua-format.


===============================================================================
lua-language-server                               *ale-lua-lua-language-server*
                                                      *ale-lua-language-server*

                                   *ale-options.lua_language_server_executable*
                                         *g:ale_lua_language_server_executable*
                                         *b:ale_lua_language_server_executable*
lua_language_server_executable
g:ale_lua_language_server_executable
  Type: |String|
  Default: `'lua-language-server'`

  This variable can be changed to set the path to lua-language-server.

  If you have compiled the language server yourself in `/some/path`, the path
  will be `'/some/path/bin/lua-language-server'`.

                                       *ale-options.lua_language_server_config*
                                             *g:ale_lua_language_server_config*
                                             *b:ale_lua_language_server_config*
lua_language_server_config
g:ale_lua_language_server_config

  Type: |Dictionary|
  Default: `{}`

  Dictionary containing configuration settings that will be passed to the
  language server.

  For available configuration parameters, see `Settings` on the luals wiki:

  https://luals.github.io/wiki/settings/


===============================================================================
luac                                                             *ale-lua-luac*

                                              *ale-options.lua_luac_executable*
                                                    *g:ale_lua_luac_executable*
                                                    *b:ale_lua_luac_executable*
lua_luac_executable
g:ale_lua_luac_executable
  Type: |String|
  Default: `'luac'`

  This variable can be changed to change the path to luac.


===============================================================================
luacheck                                                     *ale-lua-luacheck*

                                          *ale-options.lua_luacheck_executable*
                                                *g:ale_lua_luacheck_executable*
                                                *b:ale_lua_luacheck_executable*
lua_luacheck_executable
g:ale_lua_luacheck_executable
  Type: |String|
  Default: `'luacheck'`

  This variable can be changed to change the path to luacheck.

                                             *ale-options.lua_luacheck_options*
                                                   *g:ale_lua_luacheck_options*
                                                   *b:ale_lua_luacheck_options*
lua_luacheck_options
g:ale_lua_luacheck_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to luacheck.


===============================================================================
luafmt                                                         *ale-lua-luafmt*

                                            *ale-options.lua_luafmt_executable*
                                                  *g:ale_lua_luafmt_executable*
                                                  *b:ale_lua_luafmt_executable*
lua_luafmt_executable
g:ale_lua_luafmt_executable
  Type: |String|
  Default: `'luafmt'`

  This variable can be set to use a different executable for luafmt.

                                               *ale-options.lua_luafmt_options*
                                                     *g:ale_lua_luafmt_options*
                                                     *b:ale_lua_luafmt_options*
lua_luafmt_options
g:ale_lua_luafmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the luafmt fixer.


===============================================================================
selene                                                         *ale-lua-selene*

                                            *ale-options.lua_selene_executable*
                                                  *g:ale_lua_selene_executable*
                                                  *b:ale_lua_selene_executable*
lua_selene_executable
g:ale_lua_selene_executable
  Type: |String|
  Default: `'selene'`

  This variable can be set to use a different executable for selene.

                                               *ale-options.lua_selene_options*
                                                     *g:ale_lua_selene_options*
                                                     *b:ale_lua_selene_options*
lua_selene_options
g:ale_lua_selene_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to selene.


===============================================================================
stylua                                                         *ale-lua-stylua*

                                            *ale-options.lua_stylua_executable*
                                                  *g:ale_lua_stylua_executable*
                                                  *b:ale_lua_stylua_executable*
lua_stylua_executable
g:ale_lua_stylua_executable
  Type: |String|
  Default: `'stylua'`

  This variable can be set to use a different executable for stylua.

                                               *ale-options.lua_stylua_options*
                                                     *g:ale_lua_stylua_options*
                                                     *b:ale_lua_stylua_options*
lua_stylua_options
g:ale_lua_stylua_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the stylua fixer.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Make (`doc/ale-make.txt`)

===============================================================================
ALE Make Integration                                           *ale-make-options*


===============================================================================
checkmake                                                    *ale-make-checkmake*

                                            *ale-options.make_checkmake_config*
                                                  *g:ale_make_checkmake_config*
                                                    *b:ale_make_checkmake_config*
make_checkmake_config
g:ale_make_checkmake_config
  Type: |String|
  Default: `''`

  This variable can be used to set the `--config` option of checkmake command.
  if the value is empty, the checkmake command will not be invoked with the
  option.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Markdown (`doc/ale-markdown.txt`)

===============================================================================
ALE Markdown Integration                                 *ale-markdown-options*


===============================================================================
cspell                                                    *ale-markdown-cspell*

See |ale-cspell-options|


===============================================================================
dprint                                                    *ale-markdown-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/markdown/.


===============================================================================
harper                                                    *ale-markdown-harper*

                                           *ale-options.markdown_harper_config*
                                                  *g:ale_markdown_harper_config*
                                                  *b:ale_markdown_harper_config*
markdown_harper_config
g:ale_markdown_harper_config
  Type: |Dictionary|
  Default: `{'harper-ls': {'diagnosticSeverity': 'hint', 'dialect': 'American', ...}}`

  Dictionary passed to harper-ls as LSP workspace configuration. The default
  enables spell check, sentence capitalization, repeated words, long
  sentences, a/an errors, and spacing rules, and disables spelled-out numbers
  and wrong-quote checks.

  Example: >
    let g:ale_markdown_harper_config = {
    \   'harper-ls': {
    \       'diagnosticSeverity': 'warning',
    \       'linters': {
    \           'SpellCheck': v:true,
    \           'LongSentences': v:false,
    \       },
    \   },
    \}
<


===============================================================================
markdownlint-cli                                *ale-markdown-markdownlint-cli*
                                                    *ale-markdown-markdownlint*

  https://github.com/igorshubovych/markdownlint-cli

  The linter name is `markdownlint_cli`. `markdownlint` and
  `markdownlint-cli` are aliases. The fixer name is `markdownlint-cli`;
  `markdownlint` is an alias.

                                 *ale-options.markdown_markdownlint_executable*
                                       *g:ale_markdown_markdownlint_executable*
                                       *b:ale_markdown_markdownlint_executable*
markdown_markdownlint_executable
g:ale_markdown_markdownlint_executable
  Type: |String|
  Default: `'markdownlint'`

  Override the `markdownlint-cli` executable used by the linter.

                                    *ale-options.markdown_markdownlint_options*
                                          *g:ale_markdown_markdownlint_options*
                                          *b:ale_markdown_markdownlint_options*
markdown_markdownlint_options
g:ale_markdown_markdownlint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional linter options to
  `markdownlint-cli`.

                                          *ale-options.markdownlint_executable*
                                                *g:ale_markdownlint_executable*
                                                *b:ale_markdownlint_executable*
markdownlint_executable
g:ale_markdownlint_executable
  Type: |String|
  Default: `'markdownlint'`

  Override the `markdownlint-cli` executable used by the fixer.

                                             *ale-options.markdownlint_options*
                                                   *g:ale_markdownlint_options*
                                                   *b:ale_markdownlint_options*
markdownlint_options
g:ale_markdownlint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional fixer options to
  `markdownlint-cli`. ALE always adds the required `--fix` option.


===============================================================================
markdownlint-cli2                              *ale-markdown-markdownlint-cli2*

  https://github.com/DavidAnson/markdownlint-cli2

  The linter name is `markdownlint_cli2`, with `markdownlint-cli2` as an
  alias. The fixer name is `markdownlint-cli2`.

                            *ale-options.markdown_markdownlint_cli2_executable*
                                  *g:ale_markdown_markdownlint_cli2_executable*
                                  *b:ale_markdown_markdownlint_cli2_executable*
markdown_markdownlint_cli2_executable
g:ale_markdown_markdownlint_cli2_executable
  Type: |String|
  Default: `'markdownlint-cli2'`

  Override the `markdownlint-cli2` executable used by the linter.

                               *ale-options.markdown_markdownlint_cli2_options*
                                     *g:ale_markdown_markdownlint_cli2_options*
                                     *b:ale_markdown_markdownlint_cli2_options*
markdown_markdownlint_cli2_options
g:ale_markdown_markdownlint_cli2_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional linter options to
  `markdownlint-cli2`.

                                     *ale-options.markdownlint_cli2_executable*
                                           *g:ale_markdownlint_cli2_executable*
                                           *b:ale_markdownlint_cli2_executable*
markdownlint_cli2_executable
g:ale_markdownlint_cli2_executable
  Type: |String|
  Default: `'markdownlint-cli2'`

  Override the `markdownlint-cli2` executable used by the fixer.

                                        *ale-options.markdownlint_cli2_options*
                                              *g:ale_markdownlint_cli2_options*
                                              *b:ale_markdownlint_cli2_options*
markdownlint_cli2_options
g:ale_markdownlint_cli2_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional fixer options to
  `markdownlint-cli2`. ALE always adds the required `--fix` option.


===============================================================================
marksman                                                *ale-markdown-marksman*

                                     *ale-options.markdown_marksman_executable*
                                           *g:ale_markdown_marksman_executable*
                                           *b:ale_markdown_marksman_executable*
markdown_marksman_executable
g:ale_markdown_marksman_executable
  Type: |String|
  Default: `'marksman'`

  Override the invoked `marksman` binary.


===============================================================================
mdformat                                                *ale-markdown-mdformat*

                                      *ale-options.markdown_mdformat_executable*
                                            *g:ale_markdown_mdformat_executable*
                                            *b:ale_markdown_mdformat_executable*
markdown_mdformat_executable
g:ale_markdown_mdformat_executable
  Type: |String|
  Default: `'mdformat'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `pipenv run mdformat`.
  Set this to `'poetry'` to invoke `poetry run mdformat`.
  Set this to `'uv'` to invoke `uv run mdformat`.

                                         *ale-options.markdown_mdformat_options*
                                               *g:ale_markdown_mdformat_options*
                                               *b:ale_markdown_mdformat_options*
markdown_mdformat_options
g:ale_markdown_mdformat_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to mdformat.

                                      *ale-options.markdown_mdformat_use_global*
                                            *g:ale_markdown_mdformat_use_global*
                                            *b:ale_markdown_mdformat_use_global*
markdown_mdformat_use_global
g:ale_markdown_mdformat_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                     *ale-options.markdown_mdformat_auto_pipenv*
                                           *g:ale_markdown_mdformat_auto_pipenv*
                                           *b:ale_markdown_mdformat_auto_pipenv*
markdown_mdformat_auto_pipenv
g:ale_markdown_mdformat_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to
  `pipenv` if true. This is overridden by a manually-set executable.

                                     *ale-options.markdown_mdformat_auto_poetry*
                                           *g:ale_markdown_mdformat_auto_poetry*
                                           *b:ale_markdown_mdformat_auto_poetry*
markdown_mdformat_auto_poetry
g:ale_markdown_mdformat_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a Poetry project, and set the executable
  to `poetry` if true. This is overridden by a manually-set executable.

                                         *ale-options.markdown_mdformat_auto_uv*
                                               *g:ale_markdown_mdformat_auto_uv*
                                               *b:ale_markdown_mdformat_auto_uv*
markdown_mdformat_auto_uv
g:ale_markdown_mdformat_auto_uv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a uv project, and set the executable to
  `uv` if true. This is overridden by a manually-set executable.


===============================================================================
mdl                                                          *ale-markdown-mdl*

                                          *ale-options.markdown_mdl_executable*
                                                *g:ale_markdown_mdl_executable*
                                                *b:ale_markdown_mdl_executable*
markdown_mdl_executable
g:ale_markdown_mdl_executable
  Type: |String|
  Default: `'mdl'`

  Override the invoked mdl binary. This is useful for running mdl from
  binstubs or a bundle.

                                             *ale-options.markdown_mdl_options*
                                                   *g:ale_markdown_mdl_options*
                                                   *b:ale_markdown_mdl_options*
markdown_mdl_options
g:ale_markdown_mdl_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to mdl.


===============================================================================
pandoc                                                    *ale-markdown-pandoc*

                                       *ale-options.markdown_pandoc_executable*
                                             *g:ale_markdown_pandoc_executable*
                                             *b:ale_markdown_pandoc_executable*
markdown_pandoc_executable
g:ale_markdown_pandoc_executable
  Type: |String|
  Default: `'pandoc'`

  This variable can be set to specify where to find the pandoc executable

                                          *ale-options.markdown_pandoc_options*
                                                *g:ale_markdown_pandoc_options*
                                                *b:ale_markdown_pandoc_options*
markdown_pandoc_options
g:ale_markdown_pandoc_options
  Type: |String|
  Default: `'-f gfm -t gfm -s -'`

  This variable can be set to change the default options passed to pandoc


===============================================================================
prettier                                                *ale-markdown-prettier*

See |ale-javascript-prettier| for information about the available options.


===============================================================================
pymarkdown                                            *ale-markdown-pymarkdown*

pymarkdown can be used both as a linter and a fixer for Markdown files.

                                   *ale-options.markdown_pymarkdown_executable*
                                         *g:ale_markdown_pymarkdown_executable*
                                         *b:ale_markdown_pymarkdown_executable*
markdown_pymarkdown_executable
g:ale_markdown_pymarkdown_executable
  Type: |String|
  Default: `'pymarkdown'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pymarkdown'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pymarkdown'`.

                                      *ale-options.markdown_pymarkdown_options*
                                            *g:ale_markdown_pymarkdown_options*
                                            *b:ale_markdown_pymarkdown_options*
markdown_pymarkdown_options
g:ale_markdown_pymarkdown_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the
  pymarkdown invocation.

                                   *ale-options.markdown_pymarkdown_use_global*
                                         *g:ale_markdown_pymarkdown_use_global*
                                         *b:ale_markdown_pymarkdown_use_global*
markdown_pymarkdown_use_global
g:ale_markdown_pymarkdown_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                  *ale-options.markdown_pymarkdown_auto_pipenv*
                                        *g:ale_markdown_pymarkdown_auto_pipenv*
                                        *b:ale_markdown_pymarkdown_auto_pipenv*
markdown_pymarkdown_auto_pipenv
g:ale_markdown_pymarkdown_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                  *ale-options.markdown_pymarkdown_auto_poetry*
                                        *g:ale_markdown_pymarkdown_auto_poetry*
                                        *b:ale_markdown_pymarkdown_auto_poetry*
markdown_pymarkdown_auto_poetry
g:ale_markdown_pymarkdown_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                      *ale-options.markdown_pymarkdown_auto_uv*
                                            *g:ale_markdown_pymarkdown_auto_uv*
                                            *b:ale_markdown_pymarkdown_auto_uv*
markdown_pymarkdown_auto_uv
g:ale_markdown_pymarkdown_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
remark-lint                                          *ale-markdown-remark-lint*

                                  *ale-options.markdown_remark_lint_executable*
                                        *g:ale_markdown_remark_lint_executable*
                                        *b:ale_markdown_remark_lint_executable*
markdown_remark_lint_executable
g:ale_markdown_remark_lint_executable
  Type: |String|
  Default: `'remark'`

  See |ale-integrations-local-executables|

                                     *ale-options.markdown_remark_lint_options*
                                           *g:ale_markdown_remark_lint_options*
                                           *b:ale_markdown_remark_lint_options*
markdown_remark_lint_options
g:ale_markdown_remark_lint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to remark-lint.

                                  *ale-options.markdown_remark_lint_use_global*
                                        *g:ale_markdown_remark_lint_use_global*
                                        *b:ale_markdown_remark_lint_use_global*
markdown_remark_lint_use_global
g:ale_markdown_remark_lint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
rumdl                                                      *ale-markdown-rumdl*

                                        *ale-options.markdown_rumdl_executable*
                                              *g:ale_markdown_rumdl_executable*
                                              *b:ale_markdown_rumdl_executable*
markdown_rumdl_executable
g:ale_markdown_rumdl_executable
  Type: |String|
  Default: `'rumdl'`

  Override the invoked `rumdl` binary.

                                           *ale-options.markdown_rumdl_options*
                                                 *g:ale_markdown_rumdl_options*
                                                 *b:ale_markdown_rumdl_options*
markdown_rumdl_options
g:ale_markdown_rumdl_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to `rumdl server`.

                                       *ale-options.markdown_rumdl_fmt_options*
                                             *g:ale_markdown_rumdl_fmt_options*
                                             *b:ale_markdown_rumdl_fmt_options*
markdown_rumdl_fmt_options
g:ale_markdown_rumdl_fmt_options
  Type: |String|
  Default: `'--silent'`

  This variable can be set to pass additional options to `rumdl fmt`.


===============================================================================
textlint                                                *ale-markdown-textlint*

See |ale-text-textlint|


===============================================================================
write-good                                            *ale-markdown-write-good*

See |ale-write-good-options|


===============================================================================
redpen                                                    *ale-markdown-redpen*

See |ale-redpen-options|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Mercury (`doc/ale-mercury.txt`)

===============================================================================
ALE Mercury Integration                                   *ale-mercury-options*


===============================================================================
mmc                                                           *ale-mercury-mmc*

                                           *ale-options.mercury_mmc_executable*
                                                 *g:ale_mercury_mmc_executable*
                                                 *b:ale_mercury_mmc_executable*
mercury_mmc_executable
g:ale_mercury_mmc_executable
  Type: |String|
  Default: `'mmc'`

  This variable can be changed to use a different executable for mmc.

                                              *ale-options.mercury_mmc_options*
                                                    *g:ale_mercury_mmc_options*
                                                    *b:ale_mercury_mmc_options*
mercury_mmc_options
g:ale_mercury_mmc_options
  Type: |String|
  Default: `'--make --output-compile-error-lines 100'`

  This variable can be set to pass additional options to mmc.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Mustache (`doc/ale-mustache.txt`)

===============================================================================
ALE Mustache Integration                                 *ale-mustache-options*


===============================================================================
dprint                                                    *ale-mustache-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/markup_fmt/.


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Nasm (`doc/ale-nasm.txt`)

===============================================================================
ALE NASM Integration                                         *ale-nasm-options*


===============================================================================
nasm                                                            *ale-nasm-nasm*

                                             *ale-options.nasm_nasm_executable*
                                                   *g:ale_nasm_nasm_executable*
                                                   *b:ale_nasm_nasm_executable*
nasm_nasm_executable
g:ale_nasm_nasm_executable
  Type: |String|
  Default `'nasm'`

  This variable can be changed to use different executable for NASM.

                                                *ale-options.nasm_nasm_options*
                                                      *g:ale_nasm_nasm_options*
                                                      *b:ale_nasm_nasm_options*
nasm_nasm_options
g:ale_nasm_nasm_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to NASM.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Nickel (`doc/ale-nickel.txt`)

===============================================================================
ALE Nickel Integration                                     *ale-nickel-options*


===============================================================================
nickel_format                                        *ale-nickel-nickel-format*

                                  *ale-options.nickel_nickel_format_executable*
                                        *g:ale_nickel_nickel_format_executable*
                                        *b:ale_nickel_nickel_format_executable*
nickel_nickel_format_executable
g:ale_nickel_nickel_format_executable
  Type: |String|
  Default: `'nickel'`

  This option can be changed to change the path for `nickel`.

                                     *ale-options.nickel_nickel_format_options*
                                           *g:ale_nickel_nickel_format_options*
                                           *b:ale_nickel_nickel_format_options*
nickel_nickel_format_options
g:ale_nickel_nickel_format_options
  Type: |String|
  Default: `''`

  This option can be changed to pass extra options to `'nickel format'`


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Nim (`doc/ale-nim.txt`)

===============================================================================
ALE Nim Integration                                           *ale-nim-options*


===============================================================================
nimcheck                                                     *ale-nim-nimcheck*

  ALE does not provide additional configuration options for `nimcheck` at this
  point.


===============================================================================
nimlsp                                                         *ale-nim-nimlsp*

                                           *ale-options.nim_nimlsp_nim_sources*
                                                 *g:ale_nim_nimlsp_nim_sources*
                                                 *b:ale_nim_nimlsp_nim_sources*
g:ale_nim_nimlsp_nim_sources
  Type: |String|
  Default: `''`

  Sets the path to Nim source repository as the first argument to `nimlsp`
  command.


===============================================================================
nimpretty                                                   *ale-nim-nimpretty*

                                         *ale-options.nim_nimpretty_executable*
                                               *g:ale_nim_nimpretty_executable*
                                               *b:ale_nim_nimpretty_executable*
nim_nimpretty_executable
g:ale_nim_nimpretty_executable
  Type: |String|
  Default: `'nimpretty'`

  This variable can be changed to use a different executable for nimpretty.

                                            *ale-options.nim_nimpretty_options*
                                                  *g:ale_nim_nimpretty_options*
                                                  *b:ale_nim_nimpretty_options*
nim_nimpretty_options
g:ale_nim_nimpretty_options
  Type: |String|
  Default: `'--maxLineLen:80'`

  This variable can be changed to modify flags given to nimpretty.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Nix (`doc/ale-nix.txt`)

===============================================================================
ALE Nix Integration                                           *ale-nix-options*


===============================================================================
alejandra                                                   *ale-nix-alejandra*

                                         *ale-options.nix_alejandra_executable*
                                               *g:ale_nix_alejandra_executable*
                                               *b:ale_nix_alejandra_executable*
nix_alejandra_executable
g:ale_nix_alejandra_executable
  Type: |String|
  Default: `'alejandra'`

  This variable sets the executable used for alejandra.

                                            *ale-options.nix_alejandra_options*
                                                  *g:ale_nix_alejandra_options*
                                                  *b:ale_nix_alejandra_options*
nix_alejandra_options
g:ale_nix_alejandra_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the alejandra fixer.


===============================================================================
nixfmt                                                         *ale-nix-nixfmt*

                                            *ale-options.nix_nixfmt_executable*
                                                  *g:ale_nix_nixfmt_executable*
                                                  *b:ale_nix_nixfmt_executable*
nix_nixfmt_executable
g:ale_nix_nixfmt_executable
  Type: |String|
  Default: `'nixfmt'`

  This variable sets the executable used for nixfmt.

                                               *ale-options.nix_nixfmt_options*
                                                     *g:ale_nix_nixfmt_options*
                                                     *b:ale_nix_nixfmt_options*
nix_nixfmt_options
g:ale_nix_nixfmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the nixfmt fixer.


===============================================================================
nixpkgs-fmt                                               *ale-nix-nixpkgs-fmt*

                                        *ale-options.nix_nixpkgsfmt_executable*
                                              *g:ale_nix_nixpkgsfmt_executable*
                                              *b:ale_nix_nixpkgsfmt_executable*
nix_nixpkgsfmt_executable
g:ale_nix_nixpkgsfmt_executable
  Type: |String|
  Default: `'nixpkgs-fmt'`

  This variable sets executable used for nixpkgs-fmt.

                                           *ale-options.nix_nixpkgsfmt_options*
                                                 *g:ale_nix_nixpkgsfmt_options*
                                                 *b:ale_nix_nixpkgsfmt_options*
nix_nixpkgsfmt_options
g:ale_nix_nixpkgsfmt_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the nixpkgs-fmt
  fixer.


===============================================================================
statix                                                         *ale-nix-statix*

                                      *ale-options.nix_statix_check_executable*
                                            *g:ale_nix_statix_check_executable*
                                            *b:ale_nix_statix_check_executable*
nix_statix_check_executable
g:ale_nix_statix_check_executable
  Type: |String|
  Default: `'statix'`

  This variable sets the executable used for statix when running it as a
  linter.

                                         *ale-options.nix_statix_check_options*
                                               *g:ale_nix_statix_check_options*
                                               *b:ale_nix_statix_check_options*
nix_statix_check_options
g:ale_nix_statix_check_options
  Type: |String|
  Default: `''`

  This variable can be used to pass additional options to statix when running
  it as a linter.

                                        *ale-options.nix_statix_fix_executable*
                                              *g:ale_nix_statix_fix_executable*
                                               *b:ale_nix_fix_check_executable*
nix_statix_fix_executable
g:ale_nix_statix_fix_executable
  Type: |String|
  Default: `'statix'`

  This variable sets the executable used for statix when running it as a
  fixer.

                                           *ale-options.nix_statix_fix_options*
                                                 *g:ale_nix_statix_fix_options*
                                                 *b:ale_nix_statix_fix_options*
nix_statix_fix_options
g:ale_nix_statix_fix_options
  Type: |String|
  Default: `''`

  This variable can be used to pass additional options to statix when running
  it as a fixer.


===============================================================================
deadnix                                                       *ale-nix-deadnix*

                                           *ale-options.nix_deadnix_executable*
                                                 *g:ale_nix_deadnix_executable*
                                                 *b:ale_nix_deadnix_executable*
nix_deadnix_executable
g:ale_nix_deadnix_executable
  Type: |String|
  Default: `'deadnix'`

  This variable sets the executable used for deadnix.

                                              *ale-options.nix_deadnix_options*
                                                    *g:ale_nix_deadnix_options*
                                                    *b:ale_nix_deadnix_options*
nix_deadnix_options
g:ale_nix_deadnix_options
  Type: |String|
  Default: `''`

  This variable can be used to pass additional options to deadnix.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Nroff (`doc/ale-nroff.txt`)

===============================================================================
ALE nroff Integration                                       *ale-nroff-options*


===============================================================================
write-good                                               *ale-nroff-write-good*

See |ale-write-good-options|


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Nunjucks (`doc/ale-nunjucks.txt`)

===============================================================================
ALE Nunjucks Integration                                 *ale-nunjucks-options*


===============================================================================
djlint                                                    *ale-nunjucks-djlint*

See |ale-html-djlint|


===============================================================================
dprint                                                    *ale-nunjucks-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/markup_fmt/.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Objc (`doc/ale-objc.txt`)

===============================================================================
ALE Objective-C Integration                                  *ale-objc-options*


===============================================================================
ccls                                                            *ale-objc-ccls*

                                             *ale-options.objc_ccls_executable*
                                                   *g:ale_objc_ccls_executable*
                                                   *b:ale_objc_ccls_executable*
objc_ccls_executable
g:ale_objc_ccls_executable
  Type: |String|
  Default: `'ccls'`

  This variable can be changed to use a different executable for ccls.

                                           *ale-options.objc_ccls_init_options*
                                                 *g:ale_objc_ccls_init_options*
                                                 *b:ale_objc_ccls_init_options*
objc_ccls_init_options
g:ale_objc_ccls_init_options
  Type: |Dictionary|
  Default: `{}`

  This variable can be changed to customize ccls initialization options.
  Example: >

  let g:ale_objc_ccls_init_options = {
  \   'cacheDirectory': '/tmp/ccls',
  \   'cacheFormat': 'binary',
  \   'diagnostics': {
  \       'onOpen': 0,
  \       'opChange': 1000,
  \   },
  \}
<
  Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all
  available options and explanations.


===============================================================================
clang                                                          *ale-objc-clang*

                                               *ale-options.objc_clang_options*
                                                     *g:ale_objc_clang_options*
                                                     *b:ale_objc_clang_options*
objc_clang_options
g:ale_objc_clang_options
  Type: |String|
  Default: `'-std=c11 -Wall'`

  This variable can be changed to modify flags given to clang.


===============================================================================
clang-format                                             *ale-objc-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for Objective-C.


===============================================================================
clangd                                                        *ale-objc-clangd*

                                           *ale-options.objc_clangd_executable*
                                                 *g:ale_objc_clangd_executable*
                                                 *b:ale_objc_clangd_executable*
objc_clangd_executable
g:ale_objc_clangd_executable
  Type: |String|
  Default: `'clangd'`

  This variable can be changed to use a different executable for clangd.

                                              *ale-options.objc_clangd_options*
                                                    *g:ale_objc_clangd_options*
                                                    *b:ale_objc_clangd_options*
objc_clangd_options
g:ale_objc_clangd_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clangd.


===============================================================================
uncrustify                                                *ale-objc-uncrustify*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Objcpp (`doc/ale-objcpp.txt`)

===============================================================================
ALE Objective-C++ Integration                              *ale-objcpp-options*


===============================================================================
clang                                                        *ale-objcpp-clang*

                                             *ale-options.objcpp_clang_options*
                                                   *g:ale_objcpp_clang_options*
                                                   *b:ale_objcpp_clang_options*
objcpp_clang_options
g:ale_objcpp_clang_options
  Type: |String|
  Default: `'-std=c++14 -Wall'`

  This variable can be changed to modify flags given to clang.


===============================================================================
clangd                                                      *ale-objcpp-clangd*

                                         *ale-options.objcpp_clangd_executable*
                                               *g:ale_objcpp_clangd_executable*
                                               *b:ale_objcpp_clangd_executable*
objcpp_clangd_executable
g:ale_objcpp_clangd_executable
  Type: |String|
  Default: `'clangd'`

  This variable can be changed to use a different executable for clangd.

                                            *ale-options.objcpp_clangd_options*
                                                  *g:ale_objcpp_clangd_options*
                                                  *b:ale_objcpp_clangd_options*
objcpp_clangd_options
g:ale_objcpp_clangd_options
  Type: |String|
  Default: `''`

  This variable can be changed to modify flags given to clangd.


===============================================================================
uncrustify                                              *ale-objcpp-uncrustify*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Ocaml (`doc/ale-ocaml.txt`)

===============================================================================
ALE OCaml Integration                                       *ale-ocaml-options*


===============================================================================
dune                                                           *ale-ocaml-dune*

  Dune is a build system for OCaml projects. The `dune format` command is
  supported for automatically formatting `dune` and `dune-project` files.

                                            *ale-options.ocaml_dune_executable*
                                                  *g:ale_ocaml_dune_executable*
                                                  *b:ale_ocaml_dune_executable*
ocaml_dune_executable
g:ale_ocaml_dune_executable
  Type: |String|
  Default: `'dune'`

  This variable can be set to pass the path to dune.

                                               *ale-options.ocaml_dune_options*
                                                     *g:ale_ocaml_dune_options*
                                                     *b:ale_ocaml_dune_options*
ocaml_dune_options
g:ale_ocaml_dune_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the dune fixer.


===============================================================================
merlin                                                       *ale-ocaml-merlin*

  To use merlin linter for OCaml source code you need to make sure Merlin for
  Vim is correctly configured. See the corresponding Merlin wiki page for
  detailed instructions
  (https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch).


===============================================================================
ocamllsp                                                   *ale-ocaml-ocamllsp*

  The `ocaml-lsp-server` is the official OCaml implementation of the Language
  Server Protocol. See the installation instructions:
  https://github.com/ocaml/ocaml-lsp#installation

                                          *ale-options.ocaml_ocamllsp_use_opam*
                                                *g:ale_ocaml_ocamllsp_use_opam*
                                                *b:ale_ocaml_ocamllsp_use_opam*
ocaml_ocamllsp_use_opam
g:ale_ocaml_ocamllsp_use_opam
  Type: |Number|
  Default: `get(g:, 'ale_ocaml_ocamllsp_use_opam', 1)`

  This variable can be set to change whether or not opam is used to execute
  the language server.

===============================================================================
ols                                                             *ale-ocaml-ols*

  The `ocaml-language-server` is the engine that powers OCaml and ReasonML
  editor support using the Language Server Protocol. See the installation
  instructions:
  https://github.com/freebroccolo/ocaml-language-server#installation

                                             *ale-options.ocaml_ols_executable*
                                                   *g:ale_ocaml_ols_executable*
                                                   *b:ale_ocaml_ols_executable*
ocaml_ols_executable
g:ale_ocaml_ols_executable
  Type: |String|
  Default: `'ocaml-language-server'`

  This variable can be set to change the executable path for `ols`.

                                             *ale-options.ocaml_ols_use_global*
                                                   *g:ale_ocaml_ols_use_global*
                                                   *b:ale_ocaml_ols_use_global*
ocaml_ols_use_global
g:ale_ocaml_ols_use_global
  Type: |String|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  This variable can be set to `1` to always use the globally installed
  executable. See also |ale-integrations-local-executables|.


===============================================================================
ocamlformat                                             *ale-ocaml-ocamlformat*

                                     *ale-options.ocaml_ocamlformat_executable*
                                           *g:ale_ocaml_ocamlformat_executable*
                                           *b:ale_ocaml_ocamlformat_executable*
ocaml_ocamlformat_executable
g:ale_ocaml_ocamlformat_executable
  Type: |String|
  Default: `'ocamlformat'`

  This variable can be set to pass the path of the ocamlformat fixer.

                                        *ale-options.ocaml_ocamlformat_options*
                                              *g:ale_ocaml_ocamlformat_options*
                                              *b:ale_ocaml_ocamlformat_options*
ocaml_ocamlformat_options
g:ale_ocaml_ocamlformat_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the ocamlformat fixer.


===============================================================================
ocp-indent                                               *ale-ocaml-ocp-indent*

                                      *ale-options.ocaml_ocp_indent_executable*
                                            *g:ale_ocaml_ocp_indent_executable*
                                            *b:ale_ocaml_ocp_indent_executable*
ocaml_ocp_indent_executable
g:ale_ocaml_ocp_indent_executable
  Type: |String|
  Default: `ocp-indent`

  This variable can be set to pass the path of the ocp-indent.

                                         *ale-options.ocaml_ocp_indent_options*
                                               *g:ale_ocaml_ocp_indent_options*
                                               *b:ale_ocaml_ocp_indent_options*
ocaml_ocp_indent_options
g:ale_ocaml_ocp_indent_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the ocp-indent.

                                          *ale-options.ocaml_ocp_indent_config*
                                                *g:ale_ocaml_ocp_indent_config*
                                                *b:ale_ocaml_ocp_indent_config*
ocaml_ocp_indent_config
g:ale_ocaml_ocp_indent_config
  Type: |String|
  Default: `''`

  This variable can be set to pass additional config to the ocp-indent.
  Expand after "--config=".

  "ocp-indent" can also be enabled from ocamlformat config.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Odin (`doc/ale-odin.txt`)

===============================================================================
ALE Odin Integration                                         *ale-odin-options*
                                                         *ale-integration-odin*

===============================================================================
ols                                                              *ale-odin-ols*

                                              *ale-options.odin_ols_executable*
                                                    *g:ale_odin_ols_executable*
                                                    *b:ale_odin_ols_executable*
odin_ols_executable
g:ale_odin_ols_executable
  Type: |String|
  Default: `'ols'`

  This variable can be modified to change the executable path for `ols`.

                                                  *ale-options.odin_ols_config*
                                                        *g:ale_odin_ols_config*
                                                        *b:ale_odin_ols_config*
odin_ols_config
g:ale_odin_ols_config
  Type: |Dictionary|
  Default: `{}`

  Dictionary with configuration settings for ols.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Openapi (`doc/ale-openapi.txt`)

===============================================================================
ALE OpenApi Integration                                     *ale-openapi-options*


===============================================================================
ibm_validator                                        *ale-openapi-ibm-validator*

Website: https://github.com/IBM/openapi-validator


-------------------------------------------------------------------------------
Installation

Install ibm-openapi-validator either globally or locally: >

  npm install ibm-openapi-validator -g  # global
  npm install ibm-openapi-validator     # local
<

-------------------------------------------------------------------------------
Configuration

OpenAPI files can be written in YAML or JSON so in order for ALE plugins to
work with these files we must set the buffer |filetype| to either |openapi.yaml|
or |openapi.json| respectively. This causes ALE to lint the file with linters
configured for openapi and yaml files or openapi and json files respectively.

For example setting filetype to |openapi.yaml| on a buffer and the following
|g:ale_linters| configuration will enable linting of openapi files using both
|ibm_validator| and |yamlint|:

>
  let g:ale_linters = {
    \   'yaml': ['yamllint'],
    \   'openapi': ['ibm_validator']
  \}
<

The following plugin will detect openapi files automatically and set the
filetype to |openapi.yaml| or |openapi.json|:

  https://github.com/hsanson/vim-openapi


-------------------------------------------------------------------------------
Options
                                 *ale-options.openapi_ibm_validator_executable*
                                       *g:ale_openapi_ibm_validator_executable*
                                         *b:ale_openapi_ibm_validator_executable*
openapi_ibm_validator_executable
g:ale_openapi_ibm_validator_executable
  Type: |String|
  Default: `'lint-openapi'`

  This variable can be set to change the path to lint-openapi.

                                    *ale-options.openapi_ibm_validator_options*
                                          *g:ale_openapi_ibm_validator_options*
                                          *b:ale_openapi_ibm_validator_options*
openapi_ibm_validator_options
g:ale_openapi_ibm_validator_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to lint-openapi.


===============================================================================
prettier                                                   *ale-openapi-prettier*

See |ale-javascript-prettier| for information about the available options.


===============================================================================
yamllint                                                  *ale-openapi-yamllint*

See |ale-yaml-yamllint| for information about the available options.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Openscad (`doc/ale-openscad.txt`)

===============================================================================
ALE OpenSCAD Integration                                 *ale-openscad-options*


===============================================================================
openscad-lsp                                         *ale-openscad-openscad_lsp*

`openscad-lsp` is a Language Server Protocol implementation for OpenSCAD.

g:ale_openscad_openscad_lsp_executable    *g:ale_openscad_openscad_lsp_executable*
                                          *b:ale_openscad_openscad_lsp_executable*
  Type: |String|
  Default: `'openscad-lsp'`

  This variable can be changed to use a different executable for openscad-lsp.


g:ale_openscad_openscad_lsp_options          *g:ale_openscad_openscad_lsp_options*
                                             *b:ale_openscad_openscad_lsp_options*
  Type: |String|
  Default: `''`

  This variable can be changed to pass additional flags to openscad-lsp.


===============================================================================
sca2d                                                      *ale-openscad-sca2d*

                                        *ale-options.openscad_sca2d_executable*
                                              *g:ale_openscad_sca2d_executable*
                                              *b:ale_openscad_sca2d_executable*
openscad_sca2d_executable
g:ale_openscad_sca2d_executable
  Type: |String|
  Default: `'sca2d'`

  See |ale-integrations-local-executables|

                                           *ale-options.openscad_sca2d_options*
                                                 *g:ale_openscad_sca2d_options*
                                                 *b:ale_openscad_sca2d_options*
openscad_sca2d_options
g:ale_openscad_sca2d_options
  Type: |String|
  Default: `''`

  This variable can be set to pass options to sca2d.


===============================================================================
scadformat                                            *ale-openscad-scadformat*

                                   *ale-options.openscad_scadformat_executable*
                                         *g:ale_openscad_scadformat_executable*
                                         *b:ale_openscad_scadformat_executable*
openscad_scadformat_executable
g:ale_openscad_scadformat_executable
  Type: |String|
  Default: `'scadformat'`

  See |ale-integrations-local-executables|

                                      *ale-options.openscad_scadformat_options*
                                            *g:ale_openscad_scadformat_options*
                                            *b:ale_openscad_scadformat_options*
openscad_scadformat_options
g:ale_openscad_scadformat_options
  Type: |String|
  Default: `''`

  This variable can be set to pass options to scadformat.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Packer (`doc/ale-packer.txt`)

===============================================================================
ALE Packer Integration                                     *ale-packer-options*


===============================================================================
packer-fmt-fixer                                         *ale-packer-fmt-fixer*

                                            *ale-options.packer_fmt_executable*
                                                  *g:ale_packer_fmt_executable*
                                                  *b:ale_packer_fmt_executable*
packer_fmt_executable
g:ale_packer_fmt_executable
  Type: |String|
  Default: `'packer'`

  This variable can be changed to use a different executable for packer.

                                               *ale-options.packer_fmt_options*
                                                     *g:ale_packer_fmt_options*
                                                     *b:ale_packer_fmt_options*
packer_fmt_options
g:ale_packer_fmt_options
  Type: |String|
  Default: `''`

  This variable can be set to change command lines options for `packer fmt`


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Pascal (`doc/ale-pascal.txt`)

===============================================================================
ALE Pascal Integration                                     *ale-pascal-options*


===============================================================================
ptop                                                          *ale-pascal-ptop*

                                           *ale-options.pascal_ptop_executable*
                                                 *g:ale_pascal_ptop_executable*
                                                 *b:ale_pascal_ptop_executable*
pascal_ptop_executable
g:ale_pascal_ptop_executable
  Type: |String|
  Default: `'ptop'`

  This variable can be changed to specify the ptop executable.

                                              *ale-options.pascal_ptop_options*
                                                    *g:ale_pascal_ptop_options*
                                                    *b:ale_pascal_ptop_options*
pascal_ptop_options
g:ale_pascal_ptop_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to the ptop fixer.


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Pawn (`doc/ale-pawn.txt`)

===============================================================================
ALE Pawn Integration                                         *ale-pawn-options*


===============================================================================
uncrustify                                                *ale-pawn-uncrustify*

See |ale-c-uncrustify| for information about the available options.


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Perl (`doc/ale-perl.txt`)

===============================================================================
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.
Specifically, we use the `-c` flag to see if `perl` code compiles. This does
not execute all of the code in a file, but it does run `BEGIN` and `CHECK`
blocks. See `perl --help` and https://stackoverflow.com/a/12908487/406224

See |g:ale_linters|.


===============================================================================
perl                                                            *ale-perl-perl*

                                             *ale-options.perl_perl_executable*
                                                   *g:ale_perl_perl_executable*
                                                   *b:ale_perl_perl_executable*
perl_perl_executable
g:ale_perl_perl_executable
  Type: |String|
  Default: `'perl'`

  This variable can be changed to modify the executable used for linting perl.

                                                *ale-options.perl_perl_options*
                                                      *g:ale_perl_perl_options*
                                                      *b:ale_perl_perl_options*
perl_perl_options
g:ale_perl_perl_options
  Type: |String|
  Default: `'-c -Mwarnings -Ilib'`

  This variable can be changed to alter the command-line arguments to the perl
  invocation.


===============================================================================
perl language server                                  *ale-perl-languageserver*

perl_perl_executable
g:ale_perl_perl_executable
  Type: |String|
  Default: `'perl'`

  The language server will use the same variable as |ale-perl-perl| to launch
  the perl executable with the Perl::LanguageServer module.

                                       *ale-options.perl_languageserver_config*
                                             *g:ale_perl_languageserver_config*
                                             *b:ale_perl_languageserver_config*
perl_languageserver_config
g:ale_perl_languageserver_config
  Type: |Dictionary|
  Default: `'{}'`

  This variable can be changed to customize the lsp_config (sent as a
  workspace/didChangeConfiguration command).
  For example: >

  let g:ale_perl_languageserver_config = {
  \   'perl': {
  \       'fileFilter': [''],
  \       'logLevel': 2,
  \       'logFile': '/tmp/plls-log.txt',
  \       'perlInc': ['/usr/share/perl5/', '/usr/local/share/perl5/' ],
  \   },
  \}
<
  For all available options and explanations, visit
  https://metacpan.org/pod/Perl::LanguageServer#Extension-Settings

===============================================================================
perlcritic                                                *ale-perl-perlcritic*

                                       *ale-options.perl_perlcritic_executable*
                                             *g:ale_perl_perlcritic_executable*
                                             *b:ale_perl_perlcritic_executable*
perl_perlcritic_executable
g:ale_perl_perlcritic_executable
  Type: |String|
  Default: `'perlcritic'`

  This variable can be changed to modify the perlcritic executable used for
  linting perl.

                                          *ale-options.perl_perlcritic_profile*
                                                *g:ale_perl_perlcritic_profile*
                                                *b:ale_perl_perlcritic_profile*
perl_perlcritic_profile
g:ale_perl_perlcritic_profile
  Type: |String|
  Default: `'.perlcriticrc'`

  This variable can be changed to modify the perlcritic profile used for
  linting perl.  The current directory is checked for the file, then the
  parent directory, etc, until it finds one.  If no matching file is found, no
  profile is passed to perlcritic.

  Set to an empty string to disable passing a specific profile to perlcritic
  with the `'--profile'` option.

  To prevent perlcritic from using any profile, set this variable to an empty
  string and pass `'--no-profile'`to perlcritic via the
  |g:ale_perl_perlcritic_options| variable.

                                          *ale-options.perl_perlcritic_options*
                                                *g:ale_perl_perlcritic_options*
                                                *b:ale_perl_perlcritic_options*
perl_perlcritic_options
g:ale_perl_perlcritic_options
  Type: |String|
  Default: `''`

  This variable can be changed to supply additional command-line arguments to
  the perlcritic invocation.

                                        *ale-options.perl_perlcritic_showrules*
                                              *g:ale_perl_perlcritic_showrules*
perl_perlcritic_showrules
g:ale_perl_perlcritic_showrules
  Type: |Number|
  Default: `0`

  Controls whether perlcritic rule names are shown after the error message.
  Defaults to off to reduce length of message.



===============================================================================
perlnavigator                                          *ale-perl-perlnavigator*

                                    *ale-options.perl_perlnavigator_executable*
                                          *g:ale_perl_perlnavigator_executable*
                                          *b:ale_perl_perlnavigator_executable*
perl_perlnavigator_executable
g:ale_perl_perlnavigator_executable
  Type: |String|
  Default: `'perlnavigator'`

  This variable can be changed to modify the perlnavigator executable used for
  linting perl.

                                        *ale-options.perl_perlnavigator_config*
                                              *g:ale_perl_perlnavigator_config*
                                              *b:ale_perl_perlnavigator_config*
perl_perlnavigator_config
g:ale_perl_perlnavigator_config
  Type: |Dictionary|
  Default: `'{}'`

  This variable can be changed to customize the lsp_config (sent as a
  workspace/didChangeConfiguration command) for perlnavigator.
  For example: >

  let g:ale_perl_perlnavigator_config = {
  \   'perlnavigator': {
  \       'enableWarnings': 1,
  \       'includePaths': [ $HOME . '/MyPerlStuff/lib', '/tmp/tmp.7qSgUo34e' ],
  \       'perlEnvAdd': 1,
  \       'perlEnv': {
  \           'PERL_DL_NONLAZY': 1,
  \       },
  \       'perlPath': substitute(g:ale_perl_perl_executable, '/perl$', '', ''),
  \       'perlcriticEnabled': 1,
  \       'perlcriticProfile': '$workspaceFolder/.perlcriticrc',
  \       'perltidyProfile': '$workspaceFolder/.perltidyrc',
  \       'perlcriticSeverity': 2,
  \   },
  \ }
  \}

<
  For all available options and explanations, visit
  https://github.com/bscan/PerlNavigator?tab=readme-ov-file

===============================================================================
perltidy                                                    *ale-perl-perltidy*

                                            *ale-options.perl_perltidy_options*
                                                  *g:ale_perl_perltidy_options*
                                                  *b:ale_perl_perltidy_options*
perl_perltidy_options
g:ale_perl_perltidy_options
  Type: |String|
  Default: `''`

  This variable can be changed to alter the command-line arguments to
  the perltidy invocation.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Perl6 (`doc/ale-perl6.txt`)

===============================================================================
ALE Perl6 Integration                                       *ale-perl6-options*

Checking code with `perl6` is disabled by default, as `perl6` code cannot be
checked without executing it. Specifically, we use the `-c` flag to see if
`perl6` code compiles. This does not execute all of the code in a file, but it
does run `BEGIN` and `CHECK` blocks. See `perl6 --help`

Full support requires a perl6 implementation that supports the
PERL6_EXCEPTIONS_HANDLER environment variable and JSON error output,
which was specified in 6.d. Rakudo version 2018.08 is the first rakudo release
that supports this. See `perl6 --version` and
https://docs.perl6.org/programs/03-environment-variables.

Without this variable, errors and warnings will appear at line 1, and can be
viewed with ALEDetail. This also serves as a fallback for errors and warnings
that do not trigger JSON output.

See |g:ale_linters|.


===============================================================================
perl6                                                         *ale-perl6-perl6*

                                           *ale-options.perl6_perl6_executable*
                                                 *g:ale_perl6_perl6_executable*
                                                 *b:ale_perl6_perl6_executable*
perl6_perl6_executable
g:ale_perl6_perl6_executable
  Type: |String|
  Default: `'perl6'`

  This variable can be changed to modify the executable used for linting
  perl6.

                                              *ale-options.perl6_perl6_options*
                                                    *g:ale_perl6_perl6_options*
                                                    *b:ale_perl6_perl6_options*
perl6_perl6_options
g:ale_perl6_perl6_options
  Type: |String|
  Default: `'-c -Ilib'`

  This variable can be changed to alter the command-line arguments to the
  perl6 invocation.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Php (`doc/ale-php.txt`)

===============================================================================
ALE PHP Integration                                           *ale-php-options*


===============================================================================
cspell                                                         *ale-php-cspell*

See |ale-cspell-options|


===============================================================================
dprint                                                         *ale-php-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/mago/.


===============================================================================
langserver                                                 *ale-php-langserver*

                                        *ale-options.php_langserver_executable*
                                              *g:ale_php_langserver_executable*
                                              *b:ale_php_langserver_executable*
php_langserver_executable
g:ale_php_langserver_executable
  Type: |String|
  Default: `'php-language-server.php'`

  The variable can be set to configure the executable that will be used for
  running the PHP language server. `vendor` directory executables will be
  preferred instead of this setting if |g:ale_php_langserver_use_global| is `0`.

  See: |ale-integrations-local-executables|

                                        *ale-options.php_langserver_use_global*
                                              *g:ale_php_langserver_use_global*
                                              *b:ale_php_langserver_use_global*
php_langserver_use_global
g:ale_php_langserver_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  This variable can be set to `1` to force the language server to be run with
  the executable set for |g:ale_php_langserver_executable|.

  See: |ale-integrations-local-executables|


===============================================================================
phan                                                             *ale-php-phan*

WARNING: please use the phan_client linter if you have an configuration file
for your project because the phan will look into your entirely project and
ale will display in the current buffer warnings that may belong to other file.

                                        *ale-options.php_phan_minimum_severity*
                                              *g:ale_php_phan_minimum_severity*
                                              *b:ale_php_phan_minimum_severity*
php_phan_minimum_severity
g:ale_php_phan_minimum_severity
  Type: |Number|
  Default: `0`

  This variable defines the minimum severity level.

                                              *ale-options.php_phan_executable*
                                                    *g:ale_php_phan_executable*
                                                    *b:ale_php_phan_executable*
php_phan_executable
g:ale_php_phan_executable
  Type: |String|
  Default: `'phan'`

  This variable sets executable used for phan or phan_client.

                                              *ale-options.php_phan_use_client*
                                                    *g:ale_php_phan_use_client*
                                                    *b:ale_php_phan_use_client*
php_phan_use_client
g:ale_php_phan_use_client
  Type: |Number|
  Default: `get(g:, 'ale_php_phan_use_client', 0)`

  This variable can be set to 1 to use the phan_client with phan daemon mode
  instead of the phan standalone.


===============================================================================
phpactor                                                     *ale-php-phpactor*

                                          *ale-options.php_phpactor_executable*
                                                *g:ale_php_phpactor_executable*
                                                *b:ale_php_phpactor_executable*
php_phpactor_executable
g:ale_php_phpactor_executable
  Type: |String|
  Default: `'phpactor'`

  This variable sets executable used for phpactor.

php_phpactor_init_options
g:ale_php_phpactor_init_options
  Type: |Dictionary|
  Default: `'{}'`

  This variable can be changed to customize the LSP initialization_options.
  For example: >

  let g:ale_php_phpactor_init_options = {
  \   'language_server_phpstan.enabled': v:false,
  \   'language_server_psalm.enabled': v:false,
  \   'worse_reflection.stub_dir': '%application_root%/.php-stubs'
  \}
<
For all available options and explanations, visit
https://phpactor.readthedocs.io/en/master/reference/configuration.html

===============================================================================
phpcbf                                                         *ale-php-phpcbf*

                                            *ale-options.php_phpcbf_executable*
                                                  *g:ale_php_phpcbf_executable*
                                                  *b:ale_php_phpcbf_executable*
php_phpcbf_executable
g:ale_php_phpcbf_executable
  Type: |String|
  Default: `'phpcbf'`

  See |ale-integrations-local-executables|

                                              *ale-options.php_phpcbf_standard*
                                                    *g:ale_php_phpcbf_standard*
                                                    *b:ale_php_phpcbf_standard*
php_phpcbf_standard
g:ale_php_phpcbf_standard
  Type: |String|
  Default: `''`

  This variable can be set to specify the coding standard used by phpcbf. If no
  coding standard is specified, phpcbf will default to fixing against the
  PEAR coding standard, or the standard you have set as the default.

                                            *ale-options.php_phpcbf_use_global*
                                                  *g:ale_php_phpcbf_use_global*
                                                  *b:ale_php_phpcbf_use_global*
php_phpcbf_use_global
g:ale_php_phpcbf_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                               *ale-options.php_phpcbf_options*
                                                     *g:ale_php_phpcbf_options*
                                                      *b:ale_php_phpcbf_options*
php_phpcbf_options
g:ale_php_phpcbf_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to php-cbf


===============================================================================
phpcs                                                           *ale-php-phpcs*

                                             *ale-options.php_phpcs_executable*
                                                   *g:ale_php_phpcs_executable*
                                                   *b:ale_php_phpcs_executable*
php_phpcs_executable
g:ale_php_phpcs_executable
  Type: |String|
  Default: `'phpcs'`

  See |ale-integrations-local-executables|

                                               *ale-options.php_phpcs_standard*
                                                     *g:ale_php_phpcs_standard*
                                                     *b:ale_php_phpcs_standard*
php_phpcs_standard
g:ale_php_phpcs_standard
  Type: |String|
  Default: `''`

  This variable can be set to specify the coding standard used by phpcs. If no
  coding standard is specified, phpcs will default to checking against the
  PEAR coding standard, or the standard you have set as the default.

                                             *ale-options.php_phpcs_use_global*
                                                   *g:ale_php_phpcs_use_global*
                                                   *b:ale_php_phpcs_use_global*
php_phpcs_use_global
g:ale_php_phpcs_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                                *ale-options.php_phpcs_options*
                                                      *g:ale_php_phpcs_options*
                                                      *b:ale_php_phpcs_options*
php_phpcs_options
g:ale_php_phpcs_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to php-cs


===============================================================================
phpmd                                                           *ale-php-phpmd*

                                             *ale-options.php_phpmd_executable*
                                                   *g:ale_php_phpmd_executable*
                                                   *b:ale_php_phpmd_executable*
php_phpmd_executable
g:ale_php_phpmd_executable
  Type: |String|
  Default: `'phpmd'`

  This variable sets executable used for phpmd.

                                                *ale-options.php_phpmd_ruleset*
                                                      *g:ale_php_phpmd_ruleset*
                                                      *b:ale_php_phpmd_ruleset*
php_phpmd_ruleset
g:ale_php_phpmd_ruleset
  Type: |String|
  Default: `'cleancode,codesize,controversial,design,naming,unusedcode'`

  This variable controls the ruleset used by phpmd. Default is to use all of
  the available phpmd rulesets


===============================================================================
phpstan                                                       *ale-php-phpstan*

                                           *ale-options.php_phpstan_executable*
                                                 *g:ale_php_phpstan_executable*
                                                 *b:ale_php_phpstan_executable*
php_phpstan_executable
g:ale_php_phpstan_executable
  Type: |String|
  Default: `'phpstan'`

  This variable sets executable used for phpstan.

                                                *ale-options.php_phpstan_level*
                                                      *g:ale_php_phpstan_level*
                                                      *b:ale_php_phpstan_level*
php_phpstan_level
g:ale_php_phpstan_level
  Type: |String|
  Default: `''`

  This variable controls the rule levels. 0 is the loosest and 7 is the
  strictest. If this option isn't set, the rule level will be controlled by
  the configuration file. If no configuration file can be detected, `'7'` will
  be used instead.

                                        *ale-options.php_phpstan_configuration*
                                              *g:ale_php_phpstan_configuration*
                                              *b:ale_php_phpstan_configuration*
php_phpstan_configuration
g:ale_php_phpstan_configuration
  Type: |String|
  Default: `''`

  This variable sets path to phpstan configuration file.

                                             *ale-options.php_phpstan_autoload*
                                                   *g:ale_php_phpstan_autoload*
                                                   *b:ale_php_phpstan_autoload*
php_phpstan_autoload
g:ale_php_phpstan_autoload
  Type: |String|
  Default: `''`

  This variable sets path to phpstan autoload file.

                                         *ale-options.php_phpstan_memory_limit*
                                               *g:ale_php_phpstan_memory_limit*
                                               *b:ale_php_phpstan_memory-limit*
php_phpstan_memory_limit
g:ale_php_phpstan_memory_limit
  Type: |String|
  Default: `''`

  This variable sets the memory limit for phpstan analysis. This is a string
  in the same format as `php.ini` accepts, e.g. `128M`, `1G`.


===============================================================================
psalm                                                           *ale-php-psalm*

                                             *ale-options.php_psalm_executable*
                                                   *g:ale_php_psalm_executable*
                                                   *b:ale_php_psalm_executable*
php_psalm_executable
g:ale_php_psalm_executable
  Type: |String|
  Default: `'psalm'`

  This variable sets the executable used for psalm.

                                                *ale-options.php_psalm_options*
                                                      *g:ale_php_psalm_options*
                                                      *b:ale_php_psalm_options*
php_psalm_options
g:ale_php_psalm_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to psalm.

                                             *ale-options.php_psalm_use_global*
                                                   *g:ale_php_psalm_use_global*
                                                   *b:ale_php_psalm_use_global*
php_psalm_use_global
g:ale_php_psalm_use_global
  Type: |Boolean|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
php-cs-fixer                                             *ale-php-php-cs-fixer*

                                          *ale-options.php_cs_fixer_executable*
                                                *g:ale_php_cs_fixer_executable*
                                                *b:ale_php_cs_fixer_executable*
php_cs_fixer_executable
g:ale_php_cs_fixer_executable
  Type: |String|
  Default: `'php-cs-fixer'`

  This variable sets executable used for php-cs-fixer.

                                             *ale-options.php_cs_fixer_options*
                                                   *g:ale_php_cs_fixer_options*
                                                   *b:ale_php_cs_fixer_options*
php_cs_fixer_options
g:ale_php_cs_fixer_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to php-cs-fixer.

                                          *ale-options.php_cs_fixer_use_global*
                                                *g:ale_php_cs_fixer_use_global*
                                                *b:ale_php_cs_fixer_use_global*
php_cs_fixer_use_global
g:ale_php_cs_fixer_use_global
  Type: |Boolean|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
php                                                               *ale-php-php*

                                               *ale-options.php_php_executable*
                                                     *g:ale_php_php_executable*
                                                     *b:ale_php_php_executable*
php_php_executable
g:ale_php_php_executable
  Type: |String|
  Default: `'php'`

  This variable sets the executable used for php.


===============================================================================
pint                                                             *ale-php-pint*

                                              *ale-options.php_pint_executable*
                                                    *g:ale_php_pint_executable*
                                                    *b:ale_php_pint_executable*
php_pint_executable
g:ale_php_pint_executable
  Type: |String|
  Default: `'pint'`

  This variable sets the executable used for pint.

                                                 *ale-options.php_pint_options*
                                                       *g:ale_php_pint_options*
                                                       *b:ale_php_pint_options*
php_pint_options
g:ale_php_pint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to pint.

                                              *ale-options.php_pint_use_global*
                                                    *g:ale_php_pint_use_global*
                                                    *b:ale_php_pint_use_global*
php_pint_use_global
g:ale_php_pint_use_global
  Type: |Boolean|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
tlint                                                           *ale-php-tlint*

                                             *ale-options.php_tlint_executable*
                                                   *g:ale_php_tlint_executable*
                                                   *b:ale_php_tlint_executable*
php_tlint_executable
g:ale_php_tlint_executable
  Type: |String|
  Default: `'tlint'`

  See |ale-integrations-local-executables|

                                             *ale-options.php_tlint_use_global*
                                                   *g:ale_php_tlint_use_global*
                                                   *b:ale_php_tlint_use_global*
php_tlint_use_global
g:ale_php_tlint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                                *ale-options.php_tlint_options*
                                                      *g:ale_php_tlint_options*
                                                      *b:ale_php_tlint_options*
php_tlint_options
g:ale_php_tlint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to tlint


===============================================================================
intelephense                                             *ale-php-intelephense*

                                      *ale-options.php_intelephense_executable*
                                            *g:ale_php_intelephense_executable*
                                            *b:ale_php_intelephense_executable*
php_intelephense_executable
g:ale_php_intelephense_executable
  Type: |String|
  Default: `'intelephense'`

  The variable can be set to configure the executable that will be used for
  running the intelephense language server. `node_modules` directory
  executable will be preferred instead of this setting if
  |g:ale_php_intelephense_use_global| is `0`.

  See: |ale-integrations-local-executables|

                                      *ale-options.php_intelephense_use_global*
                                            *g:ale_php_intelephense_use_global*
                                            *b:ale_php_intelephense_use_global*
php_intelephense_use_global
g:ale_php_intelephense_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  This variable can be set to `1` to force the language server to be run with
  the executable set for |g:ale_php_intelephense_executable|.

  See: |ale-integrations-local-executables|

                                          *ale-options.php_intelephense_config*
                                                *g:ale_php_intelephense_config*
                                                *b:ale_php_intelephense_config*
php_intelephense_config
g:ale_php_intelephense_config
  Type: |Dictionary|
  Default: `{}`

  The initialization options config specified by Intelephense. Refer to the
  installation docs provided by intelephense (github.com/bmewburn/intelephense
  -docs).


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Po (`doc/ale-po.txt`)

===============================================================================
ALE PO Integration                                             *ale-po-options*


===============================================================================
write-good                                                  *ale-po-write-good*

See |ale-write-good-options|


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Pod (`doc/ale-pod.txt`)

===============================================================================
ALE Pod Integration                                           *ale-pod-options*


===============================================================================
write-good                                                 *ale-pod-write-good*

See |ale-write-good-options|


===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Pony (`doc/ale-pony.txt`)

===============================================================================
ALE Pony Integration                                         *ale-pony-options*


===============================================================================
ponyc                                                          *ale-pony-ponyc*

                                            *ale-options.pony_ponyc_executable*
                                                  *g:ale_pony_ponyc_executable*
                                                  *b:ale_pony_ponyc_executable*
pony_ponyc_executable
g:ale_pony_ponyc_executable
  Type: |String|
  Default: `'ponyc'`

  See |ale-integrations-local-executables|

                                               *ale-options.pony_ponyc_options*
                                                     *g:ale_pony_ponyc_options*
                                                     *b:ale_pony_ponyc_options*
pony_ponyc_options
g:ale_pony_ponyc_options
  Type: |String|
  Default: `'--pass paint'`

  This variable can be set to pass options to ponyc.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Powershell (`doc/ale-powershell.txt`)

===============================================================================
ALE PowerShell Integration                             *ale-powershell-options*


===============================================================================
cspell                                                  *ale-powershell-cspell*

See |ale-cspell-options|


===============================================================================
powershell                                          *ale-powershell-powershell*

                                 *ale-options.powershell_powershell_executable*
                                       *g:ale_powershell_powershell_executable*
                                       *b:ale_powershell_powershell_executable*
powershell_powershell_executable
g:ale_powershell_powershell_executable
  Type: |String|
  Default: `'pwsh'`

  This variable can be changed to use a different executable for powershell.

>
  " Use powershell.exe rather than the default pwsh
  let g:ale_powershell_powershell_executable = 'powershell.exe'
>

===============================================================================
psscriptanalyzer                              *ale-powershell-psscriptanalyzer*


-------------------------------------------------------------------------------
Installation

Install PSScriptAnalyzer by any means, so long as it can be automatically
imported in PowerShell.


-------------------------------------------------------------------------------
Options
                           *ale-options.powershell_psscriptanalyzer_executable*
                                 *g:ale_powershell_psscriptanalyzer_executable*
                                 *b:ale_powershell_psscriptanalyzer_executable*
powershell_psscriptanalyzer_executable
g:ale_powershell_psscriptanalyzer_executable
  Type: |String|
  Default: `'pwsh'`

  This variable sets executable used for powershell.

  For example, on Windows you could set powershell to be Windows Powershell:
>
  let g:ale_powershell_psscriptanalyzer_executable = 'powershell.exe'
<

                               *ale-options.powershell_psscriptanalyzer_module*
                                     *g:ale_powershell_psscriptanalyzer_module*
                                     *b:ale_powershell_psscriptanalyzer_module*
powershell_psscriptanalyzer_module
g:ale_powershell_psscriptanalyzer_module
  Type: |String|
  Default: `'psscriptanalyzer'`

  This variable sets the name of the psscriptanalyzer module.
  for psscriptanalyzer invocation.

                           *ale-options.powershell_psscriptanalyzer_exclusions*
                                 *g:ale_powershell_psscriptanalyzer_exclusions*
                                 *b:ale_powershell_psscriptanalyzer_exclusions*
powershell_psscriptanalyzer_exclusions
g:ale_powershell_psscriptanalyzer_exclusions
  Type: |String|
  Default: `''`

  Set this variable to exclude test(s) for psscriptanalyzer
  (-ExcludeRule option).  To exclude more than one option, separate them with
  commas. >

  " Suppress Write-Host and Global vars warnings
  let g:ale_powershell_psscriptanalyzer_exclusions =
  \  'PSAvoidUsingWriteHost,PSAvoidGlobalVars'
<

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Prolog (`doc/ale-prolog.txt`)

===============================================================================
ALE Prolog Integration                                     *ale-prolog-options*


===============================================================================
swipl                                                        *ale-prolog-swipl*

                                          *ale-options.prolog_swipl_executable*
                                                *g:ale_prolog_swipl_executable*
                                                *b:ale_prolog_swipl_executable*
prolog_swipl_executable
g:ale_prolog_swipl_executable
  Type: |String|
  Default: `'swipl'`

  The executable that will be run for the `swipl` linter.

                                                *ale-options.prolog_swipl_load*
                                                      *g:ale_prolog_swipl_load*
                                                      *b:ale_prolog_swipl_load*
prolog_swipl_load
g:ale_prolog_swipl_load
  Type: |String|
  Default: `'current_prolog_flag(argv, [File]), load_files(File, [sandboxed(true)]), halt.'`

  The prolog goals that will be passed to |g:ale_prolog_swipl_executable| with `-g` option.

  It does:
  1. Takes the first command argument (current file path)
  2. Checks (syntactic / semantic) problems and output to stderr

  NOTE: `sandboxed(true)` prohibits executing some directives such as 'initialization main'.

                                             *ale-options.prolog_swipl_timeout*
                                                   *g:ale_prolog_swipl_timeout*
                                                   *b:ale_prolog_swipl_timeout*
prolog_swipl_timeout
g:ale_prolog_swipl_timeout
  Type: |Number|
  Default: `3`

  Timeout seconds to detect long-running linter.
  It is done by setting SIGALRM.
  See |g:ale_prolog_swipl_alarm| and |g:ale_prolog_swipl_alarm_handler|.

                                               *ale-options.prolog_swipl_alarm*
                                                     *g:ale_prolog_swipl_alarm*
                                                     *b:ale_prolog_swipl_alarm*
prolog_swipl_alarm
g:ale_prolog_swipl_alarm
  Type: |String|
  Default: `'alarm(%t, (%h), _, [])'`

  The prolog goals to be expected to set SIGALRM.
  `%t` is replaced by |g:ale_prolog_swipl_timeout|.
  `%h` is replaced by |g:ale_prolog_swipl_alarm_handler|.

                                       *ale-options.prolog_swipl_alarm_handler*
                                             *g:ale_prolog_swipl_alarm_handler*
                                             *b:ale_prolog_swipl_alarm_handler*
prolog_swipl_alarm_handler
g:ale_prolog_swipl_alarm_handler
  Type: |String|
  Default: `'writeln(user_error, "ERROR: Exceeded %t seconds, Please change g:prolog_swipl_timeout to modify the limit."), halt(1)'`

  The prolog goals to be expected that will be run on SIGALRM.
  `%t` is replaced by |g:ale_prolog_swipl_timeout|.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Proto (`doc/ale-proto.txt`)

===============================================================================
ALE Proto Integration                                       *ale-proto-options*


===============================================================================
Integration Information

To enable `.proto` file linting, update |g:ale_linters| as appropriate:
>
  " Enable linter for .proto files
  let g:ale_linters = {'proto': ['buf-lint', 'protoc-gen-lint', 'protolint']}
<
To enable `.proto` file fixing, update |g:ale_fixers| as appropriate:
>
  " Enable linter for .proto files
  let b:ale_fixers = {'proto': ['buf-format', 'protolint']}
<

===============================================================================
buf-format                                               *ale-proto-buf-format*

  The formatter uses `buf`, a fully-featured Protobuf compiler that doesn't depend
  on `protoc`. Make sure the `buf` binary is available in the system path, or
  set ale_proto_buf_format_executable.

                                      *ale-options.proto_buf_format_executable*
                                            *g:ale_proto_buf_format_executable*
proto_buf_format_executable
g:ale_proto_buf_format_executable
  Type: |String|
  Default: `'buf'`

  This variable can be changed to modify the executable used for buf.


===============================================================================
buf-lint                                                   *ale-proto-buf-lint*

  The linter uses `buf`, a fully-featured Protobuf compiler that doesn't depend
  on `protoc`. Make sure the `buf` binary is available in the system path, or
  set ale_proto_buf_lint_executable.

                                        *ale-options.proto_buf_lint_executable*
                                              *g:ale_proto_buf_lint_executable*
proto_buf_lint_executable
g:ale_proto_buf_lint_executable
  Type: |String|
  Default: `'buf'`

  This variable can be changed to modify the executable used for buf.

                                            *ale-options.proto_buf_lint_config*
                                                  *g:ale_proto_buf_lint_config*
proto_buf_lint_config
g:ale_proto_buf_lint_config
  Type: |String|
  Default: `''`

  A path to a buf configuration file.

  The path to the configuration file can be an absolute path or a relative
  path. ALE will search for the relative path in parent directories.


===============================================================================
clang-format                                            *ale-proto-clangformat*

See |ale-c-clangformat| for information about the available options.
Note that the C options are also used for Proto.


===============================================================================
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.

                                    *ale-options.proto_protoc_gen_lint_options*
                                          *g:ale_proto_protoc_gen_lint_options*
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.


===============================================================================
protolint                                                 *ale-proto-protolint*

  The linter is a pluggable tool that doesn't depend on the `protoc` binary.
  This supports both linting and fixing.
  Make sure the binary is available in the system path, or set
  ale_proto_protolint_executable.
  Note that the binary with v0.22.0 or above is supported.

                                       *ale-options.proto_protolint_executable*
                                             *g:ale_proto_protolint_executable*
proto_protolint_executable
g:ale_proto_protolint_executable
  Type: |String|
  Default: `'protolint'`

  This variable can be changed to modify the executable used for protolint.

                                           *ale-options.proto_protolint_config*
                                                 *g:ale_proto_protolint_config*
proto_protolint_config
g:ale_proto_protolint_config
  Type: |String|
  Default: `''`

  A path to a protolint configuration file.

  The path to the configuration file can be an absolute path or a relative
  path. ALE will search for the relative path in parent directories.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Pug (`doc/ale-pug.txt`)

===============================================================================
ALE Pug Integration                                           *ale-pug-options*


===============================================================================
puglint                                                       *ale-pug-puglint*

The puglint linter will detect configuration files based on the path to the
filename automatically. Configuration files will be loaded in this order:

1. `.pug-lintrc`
2. `.pug-lintrc.js`
3. `.pug-lintrc.json`
4. `package.json`

You might need to create a configuration file for your project to get
meaningful results.

                                           *ale-options.pug_puglint_executable*
                                                 *g:ale_pug_puglint_executable*
                                                 *b:ale_pug_puglint_executable*
pug_puglint_executable
g:ale_pug_puglint_executable
  Type: |String|
  Default: `'pug-lint'`

  See |ale-integrations-local-executables|

                                              *ale-options.pug_puglint_options*
                                                    *g:ale_pug_puglint_options*
                                                    *b:ale_pug_puglint_options*
pug_puglint_options
g:ale_pug_puglint_options
  Type: |String|
  Default: `''`

  This variable can be set to pass additional options to pug-lint.

                                           *ale-options.pug_puglint_use_global*
                                                 *g:ale_pug_puglint_use_global*
                                                 *b:ale_pug_puglint_use_global*
pug_puglint_use_global
g:ale_pug_puglint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Puppet (`doc/ale-puppet.txt`)

===============================================================================
ALE Puppet Integration                                     *ale-puppet-options*


===============================================================================
puppet                                                      *ale-puppet-puppet*

                                         *ale-options.puppet_puppet_executable*
                                               *g:ale_puppet_puppet_executable*
                                               *b:ale_puppet_puppet_executable*
puppet_puppet_executable
g:ale_puppet_puppet_executable
  Type: |String|
  Default: `'puppet'`

  This variable can be changed to specify the executable used for puppet.

                                            *ale-options.puppet_puppet_options*
                                                  *g:ale_puppet_puppet_options*
                                                  *b:ale_puppet_puppet_options*
puppet_puppet_options
g:ale_puppet_puppet_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the
  puppet parser validate invocation.


===============================================================================
puppetlint                                              *ale-puppet-puppetlint*

                                     *ale-options.puppet_puppetlint_executable*
                                           *g:ale_puppet_puppetlint_executable*
                                           *b:ale_puppet_puppetlint_executable*
puppet_puppetlint_executable
g:ale_puppet_puppetlint_executable
  Type: |String|
  Default: `'puppet-lint'`

  This variable can be changed to specify the executable used for puppet-lint.

                                        *ale-options.puppet_puppetlint_options*
                                              *g:ale_puppet_puppetlint_options*
                                              *b:ale_puppet_puppetlint_options*
puppet_puppetlint_options
g:ale_puppet_puppetlint_options
  Type: |String|
  Default: `'--no-autoloader_layout-check'`

  This variable can be changed to add command-line arguments to the
  puppet-lint invocation.


===============================================================================
puppet-languageserver                               *ale-puppet-languageserver*

                                 *ale-options.puppet_languageserver_executable*
                                       *g:ale_puppet_languageserver_executable*
                                        *b:ale_puppet_languageserver_executable*
puppet_languageserver_executable
g:ale_puppet_languageserver_executable
  type: |String|
  Default: `'puppet-languageserver'`

  This variable can be used to specify the executable used for
  puppet-languageserver.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Purescript (`doc/ale-purescript.txt`)

===============================================================================
ALE PureScript Integration                             *ale-purescript-options*


===============================================================================
purescript-language-server                     *ale-purescript-language-server*

PureScript Language Server
  (https://github.com/nwolverson/purescript-language-server)

                                         *ale-options.purescript_ls_executable*
                                               *g:ale_purescript_ls_executable*
                                               *b:ale_purescript_ls_executable*
purescript_ls_executable
g:ale_purescript_ls_executable
  Type: |String|
  Default: `'purescript-language-server'`

  PureScript language server executable.

                                             *ale-options.purescript_ls_config*
                                                   *g:ale_purescript_ls_config*
                                                   *b:ale_purescript_ls_config*
purescript_ls_config
g:ale_purescript_ls_config
  Type: |Dictionary|
  Default: `{}`

  Dictionary containing configuration settings that will be passed to the
  language server. For example, with a spago project: >

  let g:ale_purescript_ls_config = {
  \   'purescript': {
  \       'addSpagoSources': v:true,
  \       'addNpmPath': v:true,
  \       'buildCommand': 'spago --quiet build --purs-args --json-errors',
  \   },
  \}
<

===============================================================================
purs-tidy                                                 *ale-purescript-tidy*

                                       *ale-options.purescript_tidy_executable*
                                             *g:ale_purescript_tidy_executable*
                                             *b:ale_purescript_tidy_executable*
purescript_tidy_executable
g:ale_purescript_tidy_executable
  Type: |String|
  Default: `'purs-tidy'`

  This variable can be changed to use a different executable for purs-tidy.

                                       *ale-options.purescript_tidy_use_global*
                                             *g:ale_purescript_tidy_use_global*
                                             *b:ale_purescript_tidy_use_global*
purescript_tidy_use_global
g:ale_purescript_tidy_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                          *ale-options.purescript_tidy_options*
                                                *g:ale_purescript_tidy_options*
                                                *b:ale_purescript_tidy_options*
purescript_tidy_options
g:ale_purescript_tidy_options
  Type: |String|
  Default: `''`

  This variable can be set to pass in additional option to the 'purs-tidy'
  executable.
>
  let g:ale_purescript_options = '--indent 3'
<

===============================================================================
purty                                                    *ale-purescript-purty*

                                      *ale-options.purescript_purty_executable*
                                            *g:ale_purescript_purty_executable*
                                            *b:ale_purescript_purty_executable*
purescript_purty_executable
g:ale_purescript_purty_executable
  Type: |String|
  Default: `'purty'`

  This variable can be changed to use a different executable for purty.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Pyrex (`doc/ale-pyrex.txt`)

===============================================================================
ALE Pyrex (Cython) Integration                              *ale-pyrex-options*


===============================================================================
cython                                                       *ale-pyrex-cython*

                                          *ale-options.pyrex_cython_executable*
                                                *g:ale_pyrex_cython_executable*
                                                *b:ale_pyrex_cython_executable*
pyrex_cython_executable
g:ale_pyrex_cython_executable
  Type: |String|
  Default: `'cython'`

  This variable can be changed to use a different executable for cython.

                                             *ale-options.pyrex_cython_options*
                                                   *g:ale_pyrex_cython_options*
                                                   *b:ale_pyrex_cython_options*
pyrex_cython_options
g:ale_pyrex_cython_options
  Type: |String|
  Default: `'--warning-extra --warning-errors'`

  This variable can be changed to modify flags given to cython.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

### Doc Ale Python (`doc/ale-python.txt`)

===============================================================================
ALE Python Integration                                     *ale-python-options*

                                               *ale-options.python_auto_pipenv*
                                                     *g:ale_python_auto_pipenv*
                                                     *b:ale_python_auto_pipenv*
python_auto_pipenv
g:ale_python_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                               *ale-options.python_auto_poetry*
                                                     *g:ale_python_auto_poetry*
                                                     *b:ale_python_auto_poetry*
python_auto_poetry
g:ale_python_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                                   *ale-options.python_auto_uv*
                                                         *g:ale_python_auto_uv*
                                                         *b:ale_python_auto_uv*
python_auto_uv
g:ale_python_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                           *ale-options.python_auto_virtualenv*
                                                 *g:ale_python_auto_virtualenv*
                                                 *b:ale_python_auto_virtualenv*
python_auto_virtualenv
g:ale_python_auto_virtualenv
  Type: |Number|
  Default: `0`

  If set to `1`, ALE will automatically set environment variables for commands
  such as `PATH` to attempt to make the experience of running Python linters
  via virtualenv easier, without the need for another plugin or some
  specialised setup.


===============================================================================
ALE Python Project Root Behavior                              *ale-python-root*

For some linters, ALE will search for a Python project root by looking at the
files in directories on or above where a file being checked is. ALE applies
the following methods, in order:

1. Find the first directory containing a common Python configuration file.
2. If no configuration file can be found, use the first directory which does
   not contain a readable file named `__init__.py`.

ALE will look for configuration files with the following filenames. >

  MANIFEST.in
  setup.cfg
  tox.ini
  .pyre_configuration.local
  mypy.ini
  .mypy.ini
  pycodestyle.cfg
  .flake8
  .flake8rc
  pylama.ini
  pylintrc
  .pylintrc
  pyrightconfig.json
  pyrightconfig.toml
  Pipfile
  Pipfile.lock
  poetry.lock
  pyproject.toml
  ty.toml
  .tool-versions
  uv.lock
<

The first directory containing any of the files named above will be used.


===============================================================================
autoflake                                                *ale-python-autoflake*

                                      *ale-options.python_autoflake_executable*
                                            *g:ale_python_autoflake_executable*
                                            *b:ale_python_autoflake_executable*
python_autoflake_executable
g:ale_python_autoflake_executable
  Type: |String|
  Default: `'autoflake'`

  See |ale-integrations-local-executables|

                                         *ale-options.python_autoflake_options*
                                               *g:ale_python_autoflake_options*
                                               *b:ale_python_autoflake_options*
python_autoflake_options
g:ale_python_autoflake_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to autoflake.

                                      *ale-options.python_autoflake_use_global*
                                            *g:ale_python_autoflake_use_global*
                                            *b:ale_python_autoflake_use_global*
python_autoflake_use_global
g:ale_python_autoflake_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                     *ale-options.python_autoflake_auto_pipenv*
                                           *g:ale_python_autoflake_auto_pipenv*
                                           *b:ale_python_autoflake_auto_pipenv*
python_autoflake_auto_pipenv
g:ale_python_autoflake_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                     *ale-options.python_autoflake_auto_poetry*
                                           *g:ale_python_autoflake_auto_poetry*
                                           *b:ale_python_autoflake_auto_poetry*
python_autoflake_auto_poetry
g:ale_python_autoflake_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.python_autoflake_auto_uv*
                                               *g:ale_python_autoflake_auto_uv*
                                               *b:ale_python_autoflake_auto_uv*
python_autoflake_auto_uv
g:ale_python_autoflake_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
autoimport                                              *ale-python-autoimport*

                                     *ale-options.python_autoimport_executable*
                                           *g:ale_python_autoimport_executable*
                                           *b:ale_python_autoimport_executable*
python_autoimport_executable
g:ale_python_autoimport_executable
  Type: |String|
  Default: `'autoimport'`

  See |ale-integrations-local-executables|

                                        *ale-options.python_autoimport_options*
                                              *g:ale_python_autoimport_options*
                                              *b:ale_python_autoimport_options*
python_autoimport_options
g:ale_python_autoimport_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to autoimport.

                                     *ale-options.python_autoimport_use_global*
                                           *g:ale_python_autoimport_use_global*
                                           *b:ale_python_autoimport_use_global*
python_autoimport_use_global
g:ale_python_autoimport_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


                                    *ale-options.python_autoimport_auto_pipenv*
                                          *g:ale_python_autoimport_auto_pipenv*
                                          *b:ale_python_autoimport_auto_pipenv*
python_autoimport_auto_pipenv
g:ale_python_autoimport_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                    *ale-options.python_autoimport_auto_poetry*
                                          *g:ale_python_autoimport_auto_poetry*
                                          *b:ale_python_autoimport_auto_poetry*
python_autoimport_auto_poetry
g:ale_python_autoimport_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_autoimport_auto_uv*
                                              *g:ale_python_autoimport_auto_uv*
                                              *b:ale_python_autoimport_auto_uv*
python_autoimport_auto_uv
g:ale_python_autoimport_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
autopep8                                                  *ale-python-autopep8*

                                       *ale-options.python_autopep8_executable*
                                             *g:ale_python_autopep8_executable*
                                             *b:ale_python_autopep8_executable*
python_autopep8_executable
g:ale_python_autopep8_executable
  Type: |String|
  Default: `'autopep8'`

  See |ale-integrations-local-executables|

                                          *ale-options.python_autopep8_options*
                                                *g:ale_python_autopep8_options*
                                                *b:ale_python_autopep8_options*
python_autopep8_options
g:ale_python_autopep8_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to autopep8.

                                       *ale-options.python_autopep8_use_global*
                                             *g:ale_python_autopep8_use_global*
                                             *b:ale_python_autopep8_use_global*
python_autopep8_use_global
g:ale_python_autopep8_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                      *ale-options.python_autopep8_auto_pipenv*
                                            *g:ale_python_autopep8_auto_pipenv*
                                            *b:ale_python_autopep8_auto_pipenv*
python_autopep8_auto_pipenv
g:ale_python_autopep8_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                      *ale-options.python_autopep8_auto_poetry*
                                            *g:ale_python_autopep8_auto_poetry*
                                            *b:ale_python_autopep8_auto_poetry*
python_autopep8_auto_poetry
g:ale_python_autopep8_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_autopep8_auto_uv*
                                                *g:ale_python_autopep8_auto_uv*
                                                *b:ale_python_autopep8_auto_uv*
python_autopep8_auto_uv
g:ale_python_autopep8_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
bandit                                                      *ale-python-bandit*

                                         *ale-options.python_bandit_executable*
                                               *g:ale_python_bandit_executable*
                                               *b:ale_python_bandit_executable*
python_bandit_executable
g:ale_python_bandit_executable
  Type: |String|
  Default: `'bandit'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `bandit'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `bandit'`.

                                            *ale-options.python_bandit_options*
                                                  *g:ale_python_bandit_options*
                                                  *b:ale_python_bandit_options*
python_bandit_options
g:ale_python_bandit_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the
  bandit invocation.

                                         *ale-options.python_bandit_use_config*
                                               *g:ale_python_bandit_use_config*
                                               *b:ale_python_bandit_use_config*
python_bandit_use_config
g:ale_python_bandit_use_config
  Type: |Number|
  Default: `1`

  If this variable is true and a `.bandit` file exists in the directory of the
  file being checked or a parent directory, an `--ini` option is added to the
  `bandit` command for the nearest `.bandit` file.  Set this variable false to
  disable adding the `--ini` option automatically.

                                         *ale-options.python_bandit_use_global*
                                               *g:ale_python_bandit_use_global*
                                               *b:ale_python_bandit_use_global*
python_bandit_use_global
g:ale_python_bandit_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                        *ale-options.python_bandit_auto_pipenv*
                                              *g:ale_python_bandit_auto_pipenv*
                                              *b:ale_python_bandit_auto_pipenv*
python_bandit_auto_pipenv
g:ale_python_bandit_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_bandit_auto_poetry*
                                              *g:ale_python_bandit_auto_poetry*
                                              *b:ale_python_bandit_auto_poetry*
python_bandit_auto_poetry
g:ale_python_bandit_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                            *ale-options.python_bandit_auto_uv*
                                                  *g:ale_python_bandit_auto_uv*
                                                  *b:ale_python_bandit_auto_uv*
python_bandit_auto_uv
g:ale_python_bandit_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
black                                                        *ale-python-black*

                                          *ale-options.python_black_executable*
                                                *g:ale_python_black_executable*
                                                *b:ale_python_black_executable*
python_black_executable
g:ale_python_black_executable
  Type: |String|
  Default: `'black'`

  See |ale-integrations-local-executables|

                                             *ale-options.python_black_options*
                                                   *g:ale_python_black_options*
                                                   *b:ale_python_black_options*
python_black_options
g:ale_python_black_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to black.

                                          *ale-options.python_black_use_global*
                                                *g:ale_python_black_use_global*
                                                *b:ale_python_black_use_global*
python_black_use_global
g:ale_python_black_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                         *ale-options.python_black_auto_pipenv*
                                               *g:ale_python_black_auto_pipenv*
                                               *b:ale_python_black_auto_pipenv*
python_black_auto_pipenv
g:ale_python_black_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.python_black_auto_poetry*
                                               *g:ale_python_black_auto_poetry*
                                               *b:ale_python_black_auto_poetry*
python_black_auto_poetry
g:ale_python_black_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                             *ale-options.python_black_auto_uv*
                                                   *g:ale_python_black_auto_uv*
                                                   *b:ale_python_black_auto_uv*
python_black_auto_uv
g:ale_python_black_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                    *ale-options.python_black_change_directory*
                                          *g:ale_python_black_change_directory*
                                          *b:ale_python_black_change_directory*
python_black_change_directory
g:ale_python_black_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, ALE will switch to the directory the Python file being
  checked with `black` is in before checking it. This helps `black` find
  configuration files more easily. This option can be turned off if you want
  to control the directory Python is executed from yourself.


===============================================================================
cspell                                                      *ale-python-cspell*

See |ale-cspell-options|


===============================================================================
dprint                                                      *ale-python-dprint*

See |ale-dprint-options| and https://dprint.dev/plugins/ruff/.


===============================================================================
flake8                                                      *ale-python-flake8*

                                   *ale-options.python_flake8_change_directory*
                                         *g:ale_python_flake8_change_directory*
                                         *b:ale_python_flake8_change_directory*
python_flake8_change_directory
g:ale_python_flake8_change_directory
  Type: |String|
  Default: `'project'`

  If set to `project`, ALE will switch to the project root before checking file.
  If set to `file`, ALE will first switch to the directory containing the
  Python file being checked with `flake8` before checking it.
  You can turn it off with `off` option if you want to control the directory
  Python is executed from yourself.

                                         *ale-options.python_flake8_executable*
                                               *g:ale_python_flake8_executable*
                                               *b:ale_python_flake8_executable*
python_flake8_executable
g:ale_python_flake8_executable
  Type: |String|
  Default: `'flake8'`

  This variable can be changed to modify the executable used for flake8. Set
  this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`. Set this to
  `'poetry'` to invoke `'poetry` `run` `flake8'`.

                                            *ale-options.python_flake8_options*
                                                  *g:ale_python_flake8_options*
                                                  *b:ale_python_flake8_options*
python_flake8_options
g:ale_python_flake8_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the flake8
  invocation.

  For example, to dynamically switch between programs targeting Python 2 and
  Python 3, you may want to set >

  let g:ale_python_flake8_executable = 'python3'   " or 'python' for Python 2
  let g:ale_python_flake8_options = '-m flake8'
<
  after making sure it's installed for the appropriate Python versions (e.g.
  `python3 -m pip install --user flake8`).

                                         *ale-options.python_flake8_use_global*
                                               *g:ale_python_flake8_use_global*
                                               *b:ale_python_flake8_use_global*
python_flake8_use_global
g:ale_python_flake8_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  This variable controls whether or not ALE will search for flake8 in a
  virtualenv directory first. If this variable is set to `1`, then ALE will
  always use |g:ale_python_flake8_executable| for the executable path.

  Both variables can be set with `b:` buffer variables instead.

                                        *ale-options.python_flake8_auto_pipenv*
                                              *g:ale_python_flake8_auto_pipenv*
                                              *b:ale_python_flake8_auto_pipenv*
python_flake8_auto_pipenv
g:ale_python_flake8_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_flake8_auto_poetry*
                                              *g:ale_python_flake8_auto_poetry*
                                              *b:ale_python_flake8_auto_poetry*
python_flake8_auto_poetry
g:ale_python_flake8_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                            *ale-options.python_flake8_auto_uv*
                                                  *g:ale_python_flake8_auto_uv*
                                                  *b:ale_python_flake8_auto_uv*
python_flake8_auto_uv
g:ale_python_flake8_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
flakehell                                                *ale-python-flakehell*

                                *ale-options.python_flakehell_change_directory*
                                      *g:ale_python_flakehell_change_directory*
                                      *b:ale_python_flakehell_change_directory*
python_flakehell_change_directory
g:ale_python_flakehell_change_directory
  Type: |String|
  Default: `project`

  If set to `project`, ALE will switch to the project root before checking file.
  If set to `file`, ALE will switch to directory the Python file being
  checked with `flakehell` is in before checking it.
  You can turn it off with `off` option if you want to control the directory
  Python is executed from yourself.

                                      *ale-options.python_flakehell_executable*
                                            *g:ale_python_flakehell_executable*
                                            *b:ale_python_flakehell_executable*
python_flakehell_executable
g:ale_python_flakehell_executable
  Type: |String|
  Default: `'flakehell'`

  This variable can be changed to modify the executable used for flakehell. Set
  this to `'pipenv'` to invoke `'pipenv` `run` `flakehell'`. Set this to
  `'poetry'` to invoke `'poetry` `run` `flakehell'`. Set this to `'python'` to
  invoke `'python` `-m` `flakehell'`.

                                         *ale-options.python_flakehell_options*
                                               *g:ale_python_flakehell_options*
                                               *b:ale_python_flakehell_options*
python_flakehell_options
g:ale_python_flakehell_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the flakehell
  lint invocation.

                                      *ale-options.python_flakehell_use_global*
                                            *g:ale_python_flakehell_use_global*
                                            *b:ale_python_flakehell_use_global*
python_flakehell_use_global
g:ale_python_flakehell_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  This variable controls whether or not ALE will search for flakehell in a
  virtualenv directory first. If this variable is set to `1`, then ALE will
  always use |g:ale_python_flakehell_executable| for the executable path.

  Both variables can be set with `b:` buffer variables instead.

                                     *ale-options.python_flakehell_auto_pipenv*
                                           *g:ale_python_flakehell_auto_pipenv*
                                           *b:ale_python_flakehell_auto_pipenv*
python_flakehell_auto_pipenv
g:ale_python_flakehell_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                     *ale-options.python_flakehell_auto_poetry*
                                           *g:ale_python_flakehell_auto_poetry*
                                           *b:ale_python_flakehell_auto_poetry*
python_flakehell_auto_poetry
g:ale_python_flakehell_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.python_flakehell_auto_uv*
                                               *g:ale_python_flakehell_auto_uv*
                                               *b:ale_python_flakehell_auto_uv*
python_flakehell_auto_uv
g:ale_python_flakehell_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
isort                                                        *ale-python-isort*

                                          *ale-options.python_isort_executable*
                                                *g:ale_python_isort_executable*
                                                *b:ale_python_isort_executable*
python_isort_executable
g:ale_python_isort_executable
  Type: |String|
  Default: `'isort'`

  See |ale-integrations-local-executables|

                                             *ale-options.python_isort_options*
                                                   *g:ale_python_isort_options*
                                                   *b:ale_python_isort_options*
python_isort_options
g:ale_python_isort_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to isort.

                                          *ale-options.python_isort_use_global*
                                                *g:ale_python_isort_use_global*
                                                *b:ale_python_isort_use_global*
python_isort_use_global
g:ale_python_isort_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                         *ale-options.python_isort_auto_pipenv*
                                               *g:ale_python_isort_auto_pipenv*
                                               *b:ale_python_isort_auto_pipenv*
python_isort_auto_pipenv
g:ale_python_isort_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.python_isort_auto_poetry*
                                               *g:ale_python_isort_auto_poetry*
                                               *b:ale_python_isort_auto_poetry*
python_isort_auto_poetry
g:ale_python_isort_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                             *ale-options.python_isort_auto_uv*
                                                   *g:ale_python_isort_auto_uv*
                                                   *b:ale_python_isort_auto_uv*
python_isort_auto_uv
g:ale_python_isort_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
mypy                                                          *ale-python-mypy*

The minimum supported version of mypy that ALE supports is v0.4.4. This is
the first version containing the `--shadow-file` option ALE needs to be able
to check for errors while you type.

`mypy` will be run from a detected project root, per |ale-python-root|.

                                          *ale-options.python_mypy_auto_pipenv*
                                                *g:ale_python_mypy_auto_pipenv*
                                                *b:ale_python_mypy_auto_pipenv*
python_mypy_auto_pipenv
g:ale_python_mypy_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_mypy_auto_poetry*
                                                *g:ale_python_mypy_auto_poetry*
                                                *b:ale_python_mypy_auto_poetry*
python_mypy_auto_poetry
g:ale_python_mypy_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                              *ale-options.python_mypy_auto_uv*
                                                    *g:ale_python_mypy_auto_uv*
                                                    *b:ale_python_mypy_auto_uv*
python_mypy_auto_uv
g:ale_python_mypy_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                           *ale-options.python_mypy_executable*
                                                 *g:ale_python_mypy_executable*
                                                 *b:ale_python_mypy_executable*
python_mypy_executable
g:ale_python_mypy_executable
  Type: |String|
  Default: `'mypy'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `mypy'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `mypy'`.

                                *ale-options.python_mypy_ignore_invalid_syntax*
                                      *g:ale_python_mypy_ignore_invalid_syntax*
                                      *b:ale_python_mypy_ignore_invalid_syntax*
python_mypy_ignore_invalid_syntax
g: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.

                                              *ale-options.python_mypy_options*
                                                    *g:ale_python_mypy_options*
                                                    *b:ale_python_mypy_options*
python_mypy_options
g:ale_python_mypy_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the mypy
  invocation.

                                           *ale-options.python_mypy_show_notes*
                                                 *g:ale_python_mypy_show_notes*
                                                 *b:ale_python_mypy_show_notes*
python_mypy_show_notes
g:ale_python_mypy_show_notes
  Type: |Number|
  Default: `1`

  If enabled, notes on lines will be displayed as 'I' (info) messages.

                                           *ale-options.python_mypy_use_global*
                                                 *g:ale_python_mypy_use_global*
                                                 *b:ale_python_mypy_use_global*
python_mypy_use_global
g:ale_python_mypy_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
prospector                                              *ale-python-prospector*

                                     *ale-options.python_prospector_executable*
                                           *g:ale_python_prospector_executable*
                                           *b:ale_python_prospector_executable*
python_prospector_executable
g:ale_python_prospector_executable
  Type: |String|
  Default: `'prospector'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `prospector'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `prospector'`.

                                        *ale-options.python_prospector_options*
                                              *g:ale_python_prospector_options*
                                              *b:ale_python_prospector_options*
python_prospector_options
g: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`).
<
                                     *ale-options.python_prospector_use_global*
                                           *g:ale_python_prospector_use_global*
                                           *b:ale_python_prospector_use_global*
python_prospector_use_global
g:ale_python_prospector_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                    *ale-options.python_prospector_auto_pipenv*
                                          *g:ale_python_prospector_auto_pipenv*
                                          *b:ale_python_prospector_auto_pipenv*
python_prospector_auto_pipenv
g:ale_python_prospector_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                    *ale-options.python_prospector_auto_poetry*
                                          *g:ale_python_prospector_auto_poetry*
                                          *b:ale_python_prospector_auto_poetry*
python_prospector_auto_poetry
g:ale_python_prospector_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_prospector_auto_uv*
                                              *g:ale_python_prospector_auto_uv*
                                              *b:ale_python_prospector_auto_uv*
python_prospector_auto_uv
g:ale_python_prospector_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pycln                                                        *ale-python-pycln*

                                    *ale-options.python_pycln_change_directory*
                                          *g:ale_python_pycln_change_directory*
                                          *b:ale_python_pycln_change_directory*
python_pycln_change_directory
g:ale_python_pycln_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, `pycln` will be run from a detected project root, per
  |ale-python-root|. if set to `0` or no project root detected,
  `pycln` will be run from the buffer's directory.

                                          *ale-options.python_pycln_executable*
                                                *g:ale_python_pycln_executable*
                                                *b:ale_python_pycln_executable*
python_pycln_executable
g:ale_python_pycln_executable
  Type: |String|
  Default: `'pycln'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pycln'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pycln'`.

                                             *ale-options.python_pycln_options*
                                                   *g:ale_python_pycln_options*
                                                   *b:ale_python_pycln_options*
python_pycln_options
g:ale_python_pycln_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the pycln
  invocation.

  For example, to select/enable and/or disable some error codes,
  you may want to set the following: >

  let g:ale_python_pycln_options = '--expand-stars'
<
                                         *ale-options.python_pycln_config_file*
                                               *g:ale_python_pycln_config_file*
                                               *b:ale_python_pycln_config_file*
python_pycln_config_file
g:ale_python_pycln_config_file
  Type: |String|
  Default: `''`

  Use this variable to set the configuration file.
  If `'--config' ` is found in the |g:ale_python_pycln_options|, then that
  option value will override the value in this variable.

                                          *ale-options.python_pycln_use_global*
                                                *g:ale_python_pycln_use_global*
                                                *b:ale_python_pycln_use_global*
python_pycln_use_global
g:ale_python_pycln_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                         *ale-options.python_pycln_auto_pipenv*
                                               *g:ale_python_pycln_auto_pipenv*
                                               *b:ale_python_pycln_auto_pipenv*
python_pycln_auto_pipenv
g:ale_python_pycln_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.python_pycln_auto_poetry*
                                               *g:ale_python_pycln_auto_poetry*
                                               *b:ale_python_pycln_auto_poetry*
python_pycln_auto_poetry
g:ale_python_pycln_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                             *ale-options.python_pycln_auto_uv*
                                                   *g:ale_python_pycln_auto_uv*
                                                   *b:ale_python_pycln_auto_uv*
python_pycln_auto_uv
g:ale_python_pycln_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pycodestyle                                            *ale-python-pycodestyle*

                                    *ale-options.python_pycodestyle_executable*
                                          *g:ale_python_pycodestyle_executable*
                                          *b:ale_python_pycodestyle_executable*
python_pycodestyle_executable
g:ale_python_pycodestyle_executable
  Type: |String|
  Default: `'pycodestyle'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pycodestyle'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pycodestyle'`.

                                       *ale-options.python_pycodestyle_options*
                                             *g:ale_python_pycodestyle_options*
                                             *b:ale_python_pycodestyle_options*
python_pycodestyle_options
g:ale_python_pycodestyle_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the
  pycodestyle invocation.

                                    *ale-options.python_pycodestyle_use_global*
                                          *g:ale_python_pycodestyle_use_global*
                                          *b:ale_python_pycodestyle_use_global*
python_pycodestyle_use_global
g:ale_python_pycodestyle_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                   *ale-options.python_pycodestyle_auto_pipenv*
                                         *g:ale_python_pycodestyle_auto_pipenv*
                                         *b:ale_python_pycodestyle_auto_pipenv*
python_pycodestyle_auto_pipenv
g:ale_python_pycodestyle_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                   *ale-options.python_pycodestyle_auto_poetry*
                                         *g:ale_python_pycodestyle_auto_poetry*
                                         *b:ale_python_pycodestyle_auto_poetry*
python_pycodestyle_auto_poetry
g:ale_python_pycodestyle_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                       *ale-options.python_pycodestyle_auto_uv*
                                             *g:ale_python_pycodestyle_auto_uv*
                                             *b:ale_python_pycodestyle_auto_uv*
python_pycodestyle_auto_uv
g:ale_python_pycodestyle_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pydocstyle                                              *ale-python-pydocstyle*

                                     *ale-options.python_pydocstyle_executable*
                                           *g:ale_python_pydocstyle_executable*
                                           *b:ale_python_pydocstyle_executable*
python_pydocstyle_executable
g:ale_python_pydocstyle_executable
  Type: |String|
  Default: `'pydocstyle'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pydocstyle'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pydocstyle'`.

                                        *ale-options.python_pydocstyle_options*
                                              *g:ale_python_pydocstyle_options*
                                              *b:ale_python_pydocstyle_options*
python_pydocstyle_options
g:ale_python_pydocstyle_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the
  pydocstyle invocation.

                                     *ale-options.python_pydocstyle_use_global*
                                           *g:ale_python_pydocstyle_use_global*
                                           *b:ale_python_pydocstyle_use_global*
python_pydocstyle_use_global
g:ale_python_pydocstyle_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                    *ale-options.python_pydocstyle_auto_pipenv*
                                          *g:ale_python_pydocstyle_auto_pipenv*
                                          *b:ale_python_pydocstyle_auto_pipenv*
python_pydocstyle_auto_pipenv
g:ale_python_pydocstyle_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                    *ale-options.python_pydocstyle_auto_poetry*
                                          *g:ale_python_pydocstyle_auto_poetry*
                                          *b:ale_python_pydocstyle_auto_poetry*
python_pydocstyle_auto_poetry
g:ale_python_pydocstyle_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_pydocstyle_auto_uv*
                                              *g:ale_python_pydocstyle_auto_uv*
                                              *b:ale_python_pydocstyle_auto_uv*
python_pydocstyle_auto_uv
g:ale_python_pydocstyle_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pyflakes                                                  *ale-python-pyflakes*

                                       *ale-options.python_pyflakes_executable*
                                             *g:ale_python_pyflakes_executable*
                                             *b:ale_python_pyflakes_executable*
python_pyflakes_executable
g:ale_python_pyflakes_executable
  Type: |String|
  Default: `'pyflakes'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pyflakes'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pyflakes'`.

                                      *ale-options.python_pyflakes_auto_pipenv*
                                            *g:ale_python_pyflakes_auto_pipenv*
                                            *b:ale_python_pyflakes_auto_pipenv*
python_pyflakes_auto_pipenv
g:ale_python_pyflakes_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                      *ale-options.python_pyflakes_auto_poetry*
                                            *g:ale_python_pyflakes_auto_poetry*
                                            *b:ale_python_pyflakes_auto_poetry*
python_pyflakes_auto_poetry
g:ale_python_pyflakes_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_pyflakes_auto_uv*
                                                *g:ale_python_pyflakes_auto_uv*
                                                *b:ale_python_pyflakes_auto_uv*
python_pyflakes_auto_uv
g:ale_python_pyflakes_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pyflyby                                                    *ale-python-pyflyby*

                                        *ale-options.python_pyflyby_executable*
                                              *g:ale_python_pyflyby_executable*
                                              *b:ale_python_pyflyby_executable*
python_pyflyby_executable
g:ale_python_pyflyby_executable
  Type: |String|
  Default: `'tidy-imports'`

  See |ale-integrations-local-executables|

                                           *ale-options.python_pyflyby_options*
                                                 *g:ale_python_pyflyby_options*
                                                 *b:ale_python_pyflyby_options*
python_pyflyby_options
g:ale_python_pyflyby_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the pyflyby
  tidy-imports invocation.

                                        *ale-options.python_pyflyby_use_global*
                                              *g:ale_python_pyflyby_use_global*
                                              *b:ale_python_pyflyby_use_global*
python_pyflyby_use_global
g:ale_python_pyflyby_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                       *ale-options.python_pyflyby_auto_pipenv*
                                             *g:ale_python_pyflyby_auto_pipenv*
                                             *b:ale_python_pyflyby_auto_pipenv*
python_pyflyby_auto_pipenv
g:ale_python_pyflyby_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                       *ale-options.python_pyflyby_auto_poetry*
                                             *g:ale_python_pyflyby_auto_poetry*
                                             *b:ale_python_pyflyby_auto_poetry*
python_pyflyby_auto_poetry
g:ale_python_pyflyby_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                           *ale-options.python_pyflyby_auto_uv*
                                                 *g:ale_python_pyflyby_auto_uv*
                                                 *b:ale_python_pyflyby_auto_uv*
python_pyflyby_auto_uv
g:ale_python_pyflyby_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pylama                                                      *ale-python-pylama*

                                   *ale-options.python_pylama_change_directory*
                                         *g:ale_python_pylama_change_directory*
                                         *b:ale_python_pylama_change_directory*
python_pylama_change_directory
g:ale_python_pylama_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, `pylama` will be run from a detected project root, per
  |ale-python-root|.  This is useful because `pylama` only searches for
  configuration files in its current directory and applies file masks using
  paths relative to its current directory.  This option can be turned off if
  you want to control the directory in which `pylama` is executed.

                                         *ale-options.python_pylama_executable*
                                               *g:ale_python_pylama_executable*
                                               *b:ale_python_pylama_executable*
python_pylama_executable
g:ale_python_pylama_executable
  Type: |String|
  Default: `'pylama'`

  This variable can be changed to modify the executable used for pylama. Set
  this to `'pipenv'` to invoke `'pipenv` `run` `pylama'`. Set this to
  `'poetry'` to invoke `'poetry` `run` `pylama'`.

                                            *ale-options.python_pylama_options*
                                                  *g:ale_python_pylama_options*
                                                  *b:ale_python_pylama_options*
python_pylama_options
g:ale_python_pylama_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the pylama
  invocation.

                                         *ale-options.python_pylama_use_global*
                                               *g:ale_python_pylama_use_global*
                                               *b:ale_python_pylama_use_global*
python_pylama_use_global
g:ale_python_pylama_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  This variable controls whether or not ALE will search for pylama in a
  virtualenv directory first. If this variable is set to `1`, then ALE will
  always use |g:ale_python_pylama_executable| for the executable path.

  Both variables can be set with `b:` buffer variables instead.

                                        *ale-options.python_pylama_auto_pipenv*
                                              *g:ale_python_pylama_auto_pipenv*
                                              *b:ale_python_pylama_auto_pipenv*
python_pylama_auto_pipenv
g:ale_python_pylama_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_pylama_auto_poetry*
                                              *g:ale_python_pylama_auto_poetry*
                                              *b:ale_python_pylama_auto_poetry*
python_pylama_auto_poetry
g:ale_python_pylama_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                            *ale-options.python_pylama_auto_uv*
                                                  *g:ale_python_pylama_auto_uv*
                                                  *b:ale_python_pylama_auto_uv*
python_pylama_auto_uv
g:ale_python_pylama_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pylint                                                      *ale-python-pylint*

                                   *ale-options.python_pylint_change_directory*
                                         *g:ale_python_pylint_change_directory*
                                         *b:ale_python_pylint_change_directory*
python_pylint_change_directory
g:ale_python_pylint_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, `pylint` will be run from a detected project root, per
  |ale-python-root|.  Since `pylint` only checks for `pylintrc` in the packages
  above its current directory before falling back to user and global `pylintrc`
  files, this is necessary for `pylint` to use a project `pylintrc` file, if
  present.  This option can be turned off if you want to control the directory
  Python is executed from yourself.

                                         *ale-options.python_pylint_executable*
                                               *g:ale_python_pylint_executable*
                                               *b:ale_python_pylint_executable*
python_pylint_executable
g:ale_python_pylint_executable
  Type: |String|
  Default: `'pylint'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pylint'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pylint'`.

                                            *ale-options.python_pylint_options*
                                                  *g:ale_python_pylint_options*
                                                  *b:ale_python_pylint_options*
python_pylint_options
g:ale_python_pylint_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the pylint
  invocation.

  For example, to dynamically switch between programs targeting Python 2 and
  Python 3, you may want to set >

  let g:ale_python_pylint_executable = 'python3'   " or 'python' for Python 2
  let g:ale_python_pylint_options = '--rcfile /path/to/pylint.rc'
  " The virtualenv detection needs to be disabled.
  let g:ale_python_pylint_use_global = 0

  after making sure it's installed for the appropriate Python versions (e.g.
  `python3 -m pip install --user pylint`).
<
                                         *ale-options.python_pylint_use_global*
                                               *g:ale_python_pylint_use_global*
                                               *b:ale_python_pylint_use_global*
python_pylint_use_global
g:ale_python_pylint_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                        *ale-options.python_pylint_auto_pipenv*
                                              *g:ale_python_pylint_auto_pipenv*
                                              *b:ale_python_pylint_auto_pipenv*
python_pylint_auto_pipenv
g:ale_python_pylint_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_pylint_auto_poetry*
                                              *g:ale_python_pylint_auto_poetry*
                                              *b:ale_python_pylint_auto_poetry*
python_pylint_auto_poetry
g:ale_python_pylint_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                            *ale-options.python_pylint_auto_uv*
                                                  *g:ale_python_pylint_auto_uv*
                                                  *b:ale_python_pylint_auto_uv*
python_pylint_auto_uv
g:ale_python_pylint_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                         *ale-options.python_pylint_use_msg_id*
                                               *g:ale_python_pylint_use_msg_id*
                                               *b:ale_python_pylint_use_msg_id*
python_pylint_use_msg_id
g:ale_python_pylint_use_msg_id
  Type: |Number|
  Default: `0`

  Use message for output (e.g. I0011) instead of symbolic name of the message
  (e.g. locally-disabled).


===============================================================================
pylsp                                                        *ale-python-pylsp*

`pylsp` will be run from a detected project root, per |ale-python-root|.

                                          *ale-options.python_pylsp_executable*
                                                *g:ale_python_pylsp_executable*
                                                *b:ale_python_pylsp_executable*
python_pylsp_executable
g:ale_python_pylsp_executable
  Type: |String|
  Default: `'pylsp'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pylsp'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pylsp'`.

                                          *ale-options.python_pylsp_use_global*
                                                *g:ale_python_pylsp_use_global*
                                                *b:ale_python_pylsp_use_global*
python_pylsp_use_global
g:ale_python_pylsp_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                         *ale-options.python_pylsp_auto_pipenv*
                                               *g:ale_python_pylsp_auto_pipenv*
                                               *b:ale_python_pylsp_auto_pipenv*
python_pylsp_auto_pipenv
g:ale_python_pylsp_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                         *ale-options.python_pylsp_auto_poetry*
                                               *g:ale_python_pylsp_auto_poetry*
                                               *b:ale_python_pylsp_auto_poetry*
python_pylsp_auto_poetry
g:ale_python_pylsp_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                             *ale-options.python_pylsp_auto_uv*
                                                   *g:ale_python_pylsp_auto_uv*
                                                   *b:ale_python_pylsp_auto_uv*
python_pylsp_auto_uv
g:ale_python_pylsp_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                              *ale-options.python_pylsp_config*
                                                    *g:ale_python_pylsp_config*
                                                    *b:ale_python_pylsp_config*
python_pylsp_config
g:ale_python_pylsp_config
  Type: |Dictionary|
  Default: `{}`

  Dictionary with configuration settings for pylsp. For example, to disable
  the pycodestyle linter: >

  let g:ale_python_pylsp_config = {
  \   'pylsp': {
  \       'plugins': {
  \           'pycodestyle': {
  \               'enabled': v:false
  \           }
  \       }
  \   },
  \}
<
                                             *ale-options.python_pylsp_options*
                                                   *g:ale_python_pylsp_options*
                                                   *b:ale_python_pylsp_options*
python_pylsp_options
g:ale_python_pylsp_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the pylsp
  invocation. Note that this is not the same thing as ale_python_pylsp_config,
  which allows configuration of how pylsp functions; this is intended to
  provide flexibility in how the pylsp command is invoked.

  For example, if you had installed `pylsp` but your `pylsp` executable was not
  on your `PATH` for some reason, an alternative way to run the pylsp server
  would be:
  let g:ale_python_pylsp_executable = 'python3'
  let g:ale_python_pylsp_options = '-m pylsp'

  An example strategy for installing `pylsp`:
    `python3 -m pip install --user pylsp`


===============================================================================
pyre                                                          *ale-python-pyre*

`pyre` will be run from a detected project root, per |ale-python-root|.

                                           *ale-options.python_pyre_executable*
                                                 *g:ale_python_pyre_executable*
                                                 *b:ale_python_pyre_executable*
python_pyre_executable
g:ale_python_pyre_executable
  Type: |String|
  Default: `'pyre'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pyre'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pyre'`.

                                           *ale-options.python_pyre_use_global*
                                                 *g:ale_python_pyre_use_global*
                                                 *b:ale_python_pyre_use_global*
python_pyre_use_global
g:ale_python_pyre_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                          *ale-options.python_pyre_auto_pipenv*
                                                *g:ale_python_pyre_auto_pipenv*
                                                *b:ale_python_pyre_auto_pipenv*
python_pyre_auto_pipenv
g:ale_python_pyre_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_pyre_auto_poetry*
                                                *g:ale_python_pyre_auto_poetry*
                                                *b:ale_python_pyre_auto_poetry*
python_pyre_auto_poetry
g:ale_python_pyre_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                              *ale-options.python_pyre_auto_uv*
                                                    *g:ale_python_pyre_auto_uv*
                                                    *b:ale_python_pyre_auto_uv*
python_pyre_auto_uv
g:ale_python_pyre_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
pyrefly                                                    *ale-python-pyrefly*

`pyrefly` will be run from a detected project root, per |ale-python-root|.

                                        *ale-options.python_pyrefly_executable*
                                              *g:ale_python_pyrefly_executable*
                                              *b:ale_python_pyrefly_executable*
python_pyrefly_executable
g:ale_python_pyrefly_executable
  Type: |String|
  Default: `'pyrefly'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `pyrefly'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `pyrefly'`.
  Set this to `'uv'` to invoke `'uv` `run` `pyrefly'`.

                                        *ale-options.python_pyrefly_use_global*
                                              *g:ale_python_pyrefly_use_global*
                                              *b:ale_python_pyrefly_use_global*
python_pyrefly_use_global
g:ale_python_pyrefly_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                       *ale-options.python_pyrefly_auto_pipenv*
                                             *g:ale_python_pyrefly_auto_pipenv*
                                             *b:ale_python_pyrefly_auto_pipenv*
python_pyrefly_auto_pipenv
g:ale_python_pyrefly_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                       *ale-options.python_pyrefly_auto_poetry*
                                             *g:ale_python_pyrefly_auto_poetry*
                                             *b:ale_python_pyrefly_auto_poetry*
python_pyrefly_auto_poetry
g:ale_python_pyrefly_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                           *ale-options.python_pyrefly_auto_uv*
                                                 *g:ale_python_pyrefly_auto_uv*
                                                 *b:ale_python_pyrefly_auto_uv*
python_pyrefly_auto_uv
g:ale_python_pyrefly_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                            *ale-options.python_pyrefly_config*
                                                  *g:ale_python_pyrefly_config*
                                                  *b:ale_python_pyrefly_config*
python_pyrefly_config
g:ale_python_pyrefly_config
	Type: |Dictionary|
  Default: `{'python': {'pyrefly': {'displayTypeErrors': 'force-on'}}}`

	Settings for configuring the `pyrefly` language server.

	Starting with `pyrefly` version `0.31.1` displaying type errors is
	disabled by default if no `pyrefly.toml` or `pyproject.toml` with a
	`[tool.pyrefly]` section exists. The default |g:ale_python_pyrefly_config|
	enables `displayTypeErrors`. When explicitly configuring
	|g:ale_python_pyrefly_config| ensure to configure `displayTypeErrors`
	if desired. To disable `displayTypeErrors` set the value to `force-off`
	or set to `default` to require a `pyrefly` configuration for the
	project.

  A commonly used setting for `pyrefly` is disabling language services
  apart from type checking, you can set this setting like so, or use
	whatever other settings you want: >

  let b:ale_python_pyright_config = {
  \   'python': {
  \       'pyrefly': {
  \           'disableLanguageServices': v:true,
	\       }
  \   },
  \}
<
===============================================================================
pyright                                                    *ale-python-pyright*

The `pyright` 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 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|.

                                        *ale-options.python_pyright_executable*
                                              *g:ale_python_pyright_executable*
                                              *b:ale_python_pyright_executable*
python_pyright_executable
g:ale_python_pyright_executable
  Type: |String|
  Default: `'pyright-langserver'`

  The executable for running `pyright`, which is typically installed globally.

                                            *ale-options.python_pyright_config*
                                                  *g:ale_python_pyright_config*
                                                  *b:ale_python_pyright_config*
python_pyright_config
g: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://microsoft.github.io/pyright/#/settings

  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,
  \ },
  \}
<
                                       *ale-options.python_pyright_auto_pipenv*
                                             *g:ale_python_pyright_auto_pipenv*
                                             *b:ale_python_pyright_auto_pipenv*
python_pyright_auto_pipenv
g:ale_python_pyright_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                       *ale-options.python_pyright_auto_poetry*
                                             *g:ale_python_pyright_auto_poetry*
                                             *b:ale_python_pyright_auto_poetry*
python_pyright_auto_poetry
g:ale_python_pyright_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                           *ale-options.python_pyright_auto_uv*
                                                 *g:ale_python_pyright_auto_uv*
                                                 *b:ale_python_pyright_auto_uv*
python_pyright_auto_uv
g:ale_python_pyright_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                           *ale-options.python_pyright_options*
                                                 *g:ale_python_pyright_options*
                                                 *b:ale_python_pyright_options*
python_pyright_options
g:ale_python_pyright_options
  Type: |String|
  Default: `'--stdio'`

  This variable can be changed to add command-line arguments to the pyright
  invocation. Note that this is different from ale_python_pyright_config,
  which allows configuration of how pyright functions; this is intended to
  provide flexibility in how the pyright command is invoked.

  For all available options and explanations, visit
  https://microsoft.github.io/pyright/#/command-line


===============================================================================
refurb                                                      *ale-python-refurb*

                                   *ale-options.python_refurb_change_directory*
                                         *g:ale_python_refurb_change_directory*
                                         *b:ale_python_refurb_change_directory*
python_refurb_change_directory
g:ale_python_refurb_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, `refurb` will be run from a detected project root, per
  |ale-python-root|. if set to `0` or no project root detected,
  `refurb` will be run from the buffer's directory.

                                         *ale-options.python_refurb_executable*
                                               *g:ale_python_refurb_executable*
                                               *b:ale_python_refurb_executable*
python_refurb_executable
g:ale_python_refurb_executable
  Type: |String|
  Default: `'refurb'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `refurb'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `refurb'`.

                                            *ale-options.python_refurb_options*
                                                  *g:ale_python_refurb_options*
                                                  *b:ale_python_refurb_options*
python_refurb_options
g:ale_python_refurb_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the refurb
  invocation.

  For example, to select/enable and/or disable some error codes,
  you may want to set >

  let g:ale_python_refurb_options = '--ignore 100'
<
                                         *ale-options.python_refurb_use_global*
                                               *g:ale_python_refurb_use_global*
                                               *b:ale_python_refurb_use_global*
python_refurb_use_global
g:ale_python_refurb_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                        *ale-options.python_refurb_auto_pipenv*
                                              *g:ale_python_refurb_auto_pipenv*
                                              *b:ale_python_refurb_auto_pipenv*
python_refurb_auto_pipenv
g:ale_python_refurb_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                        *ale-options.python_refurb_auto_poetry*
                                              *g:ale_python_refurb_auto_poetry*
                                              *b:ale_python_refurb_auto_poetry*
python_refurb_auto_poetry
g:ale_python_refurb_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                            *ale-options.python_refurb_auto_uv*
                                                  *g:ale_python_refurb_auto_uv*
                                                  *b:ale_python_refurb_auto_uv*
python_refurb_auto_uv
g:ale_python_refurb_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
reorder-python-imports                      *ale-python-reorder_python_imports*

                         *ale-options.python_reorder_python_imports_executable*
                               *g:ale_python_reorder_python_imports_executable*
                               *b:ale_python_reorder_python_imports_executable*
python_reorder_python_imports_executable
g:ale_python_reorder_python_imports_executable
  Type: |String|
  Default: `'reorder-python-imports'`

  See |ale-integrations-local-executables|

                            *ale-options.python_reorder_python_imports_options*
                                  *g:ale_python_reorder_python_imports_options*
                                  *b:ale_python_reorder_python_imports_options*
python_reorder_python_imports_options
g:ale_python_reorder_python_imports_options
  Type: |String|
  Default: `''`

  This variable can be set to pass extra options to reorder-python-imports.

                         *ale-options.python_reorder_python_imports_use_global*
                               *g:ale_python_reorder_python_imports_use_global*
                               *b:ale_python_reorder_python_imports_use_global*
python_reorder_python_imports_use_global
g:ale_python_reorder_python_imports_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                        *ale-options.python_reorder_python_imports_auto_pipenv*
                              *g:ale_python_reorder_python_imports_auto_pipenv*
                              *b:ale_python_reorder_python_imports_auto_pipenv*
python_reorder_python_imports_auto_pipenv
g:ale_python_reorder_python_imports_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                        *ale-options.python_reorder_python_imports_auto_poetry*
                              *g:ale_python_reorder_python_imports_auto_poetry*
                              *b:ale_python_reorder_python_imports_auto_poetry*
python_reorder_python_imports_auto_poetry
g:ale_python_reorder_python_imports_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                            *ale-options.python_reorder_python_imports_auto_uv*
                                  *g:ale_python_reorder_python_imports_auto_uv*
                                  *b:ale_python_reorder_python_imports_auto_uv*
python_reorder_python_imports_auto_uv
g:ale_python_reorder_python_imports_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
ruff                                                          *ale-python-ruff*

                                     *ale-options.python_ruff_change_directory*
                                           *g:ale_python_ruff_change_directory*
                                           *b:ale_python_ruff_change_directory*
python_ruff_change_directory
g:ale_python_ruff_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, `ruff` will be run from a detected project root, per
  |ale-python-root|. if set to `0` or no project root detected,
  `ruff` will be run from the buffer's directory.

                                           *ale-options.python_ruff_executable*
                                                 *g:ale_python_ruff_executable*
                                                 *b:ale_python_ruff_executable*
python_ruff_executable
g:ale_python_ruff_executable
  Type: |String|
  Default: `'ruff'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`.

                                              *ale-options.python_ruff_options*
                                                    *g:ale_python_ruff_options*
                                                    *b:ale_python_ruff_options*
python_ruff_options
g:ale_python_ruff_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the ruff
  invocation.

  For example, to select/enable and/or disable some error codes,
  you may want to set: >

  let g:ale_python_ruff_options = '--ignore F401'
<
                                           *ale-options.python_ruff_use_global*
                                                 *g:ale_python_ruff_use_global*
                                                 *b:ale_python_ruff_use_global*
python_ruff_use_global
g:ale_python_ruff_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                       *ale-options.python_ruff_human_readable*
                                             *g:ale_python_ruff_human_readable*
                                             *b:ale_python_ruff_human_readable*
python_ruff_human_readable
g:ale_python_ruff_human_readable
  Type: |Number|
  Default: `0`

  Show human-readable error names (usable by `ruff:ignore` comments) instead
  of the default numeric error codes.

                                          *ale-options.python_ruff_auto_pipenv*
                                                *g:ale_python_ruff_auto_pipenv*
                                                *b:ale_python_ruff_auto_pipenv*
python_ruff_auto_pipenv
g:ale_python_ruff_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_ruff_auto_poetry*
                                                *g:ale_python_ruff_auto_poetry*
                                                *b:ale_python_ruff_auto_poetry*
python_ruff_auto_poetry
g:ale_python_ruff_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                              *ale-options.python_ruff_auto_uv*
                                                    *g:ale_python_ruff_auto_uv*
                                                    *b:ale_python_ruff_auto_uv*
python_ruff_auto_uv
g:ale_python_ruff_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
ruff-format                                            *ale-python-ruff-format*

                              *ale-options.python_ruff_format_change_directory*
                                    *g:ale_python_ruff_format_change_directory*
                                    *b:ale_python_ruff_format_change_directory*
python_ruff_format_change_directory
g:ale_python_ruff_format_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, `ruff` will be run from a detected project root, per
  |ale-python-root|. if set to `0` or no project root detected,
  `ruff` will be run from the buffer's directory.

                                    *ale-options.python_ruff_format_executable*
                                          *g:ale_python_ruff_format_executable*
                                          *b:ale_python_ruff_format_executable*
python_ruff_format_executable
g:ale_python_ruff_format_executable
  Type: |String|
  Default: `'ruff'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`.

                                       *ale-options.python_ruff_format_options*
                                             *g:ale_python_ruff_format_options*
                                             *b:ale_python_ruff_format_options*
python_ruff_format_options
g:ale_python_ruff_format_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the ruff
  invocation.

  For example, to select/enable and/or disable some error codes,
  you may want to set >

  let g:ale_python_ruff_format_options = '--ignore F401'
<
                                    *ale-options.python_ruff_format_use_global*
                                          *g:ale_python_ruff_format_use_global*
                                          *b:ale_python_ruff_format_use_global*
python_ruff_format_use_global
g:ale_python_ruff_format_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                   *ale-options.python_ruff_format_auto_pipenv*
                                         *g:ale_python_ruff_format_auto_pipenv*
                                         *b:ale_python_ruff_format_auto_pipenv*
python_ruff_format_auto_pipenv
g:ale_python_ruff_format_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                   *ale-options.python_ruff_format_auto_poetry*
                                         *g:ale_python_ruff_format_auto_poetry*
                                         *b:ale_python_ruff_format_auto_poetry*
python_ruff_format_auto_poetry
g:ale_python_ruff_format_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                       *ale-options.python_ruff_format_auto_uv*
                                             *g:ale_python_ruff_format_auto_uv*
                                             *b:ale_python_ruff_format_auto_uv*
python_ruff_format_auto_uv
g:ale_python_ruff_format_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
ty                                                              *ale-python-ty*

`ty` will be run from a detected project root, per |ale-python-root|.

                                             *ale-options.python_ty_executable*
                                                   *g:ale_python_ty_executable*
                                                   *b:ale_python_ty_executable*
python_ty_executable
g:ale_python_ty_executable
  Type: |String|
  Default: `'ty'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `ty'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `ty'`.
  Set this to `'uv'` to invoke `'uv` `run` `ty'`.

                                             *ale-options.python_ty_use_global*
                                                   *g:ale_python_ty_use_global*
                                                   *b:ale_python_ty_use_global*
python_ty_use_global
g:ale_python_ty_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                            *ale-options.python_ty_auto_pipenv*
                                                  *g:ale_python_ty_auto_pipenv*
                                                  *b:ale_python_ty_auto_pipenv*
python_ty_auto_pipenv
g:ale_python_ty_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                            *ale-options.python_ty_auto_poetry*
                                                  *g:ale_python_ty_auto_poetry*
                                                  *b:ale_python_ty_auto_poetry*
python_ty_auto_poetry
g:ale_python_ty_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                                *ale-options.python_ty_auto_uv*
                                                      *g:ale_python_ty_auto_uv*
                                                      *b:ale_python_ty_auto_uv*
python_ty_auto_uv
g:ale_python_ty_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                                  *ale-options.python_ty_config*
                                                        *g:ale_python_ty_config*
                                                        *b:ale_python_ty_config*
python_ty_config
g:ale_python_ty_config
  Type: |Dictionary|
  Default: `{}`

  Dictionary with language server configuration settings for `ty`.


===============================================================================
unimport                                                  *ale-python-unimport*

`unimport` will be run from a detected project root, per |ale-python-root|.

                                      *ale-options.python_unimport_auto_pipenv*
                                            *g:ale_python_unimport_auto_pipenv*
                                            *b:ale_python_unimport_auto_pipenv*
python_unimport_auto_pipenv
g:ale_python_unimport_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                      *ale-options.python_unimport_auto_poetry*
                                            *g:ale_python_unimport_auto_poetry*
                                            *b:ale_python_unimport_auto_poetry*
python_unimport_auto_poetry
g:ale_python_unimport_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_unimport_auto_uv*
                                                *g:ale_python_unimport_auto_uv*
                                                *b:ale_python_unimport_auto_uv*
python_unimport_auto_uv
g:ale_python_unimport_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.

                                       *ale-options.python_unimport_executable*
                                             *g:ale_python_unimport_executable*
                                             *b:ale_python_unimport_executable*
python_unimport_executable
g:ale_python_unimport_executable
  Type: |String|
  Default: `'unimport'`

  See |ale-integrations-local-executables|

  Set this to `'pipenv'` to invoke `'pipenv` `run` `unimport'`.
  Set this to `'poetry'` to invoke `'poetry` `run` `unimport'`.

                                          *ale-options.python_unimport_options*
                                                *g:ale_python_unimport_options*
                                                *b:ale_python_unimport_options*
python_unimport_options
g:ale_python_unimport_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the unimport
  invocation.

                                       *ale-options.python_unimport_use_global*
                                             *g:ale_python_unimport_use_global*
                                             *b:ale_python_unimport_use_global*
python_unimport_use_global
g:ale_python_unimport_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|


===============================================================================
vulture                                                    *ale-python-vulture*

                                  *ale-options.python_vulture_change_directory*
                                        *g:ale_python_vulture_change_directory*
                                        *b:ale_python_vulture_change_directory*
python_vulture_change_directory
g:ale_python_vulture_change_directory
  Type: |Number|
  Default: `1`

  If set to `1`, ALE will switch to the directory the Python file being
  checked with `vulture` is in before checking it and check the whole project
  directory instead of checking only the file opened in the current buffer.
  This helps `vulture` to know the context and avoid false-negative results.

                                        *ale-options.python_vulture_executable*
                                              *g:ale_python_vulture_executable*
                                              *b:ale_python_vulture_executable*
python_vulture_executable
g:ale_python_vulture_executable
  Type: |String|
  Default: `'vulture'`

  See |ale-integrations-local-executables|

                                           *ale-options.python_vulture_options*
                                                 *g:ale_python_vulture_options*
                                                 *b:ale_python_vulture_options*
python_vulture_options
g:ale_python_vulture_options
  Type: |String|
  Default: `''`

  This variable can be changed to add command-line arguments to the vulture
  invocation.

                                        *ale-options.python_vulture_use_global*
                                              *g:ale_python_vulture_use_global*
                                              *b:ale_python_vulture_use_global*
python_vulture_use_global
g:ale_python_vulture_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                       *ale-options.python_vulture_auto_pipenv*
                                             *g:ale_python_vulture_auto_pipenv*
                                             *b:ale_python_vulture_auto_pipenv*
python_vulture_auto_pipenv
g:ale_python_vulture_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                       *ale-options.python_vulture_auto_poetry*
                                             *g:ale_python_vulture_auto_poetry*
                                             *b:ale_python_vulture_auto_poetry*
python_vulture_auto_poetry
g:ale_python_vulture_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                           *ale-options.python_vulture_auto_uv*
                                                 *g:ale_python_vulture_auto_uv*
                                                 *b:ale_python_vulture_auto_uv*
python_vulture_auto_uv
g:ale_python_vulture_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
yapf                                                          *ale-python-yapf*

                                           *ale-options.python_yapf_executable*
                                                 *g:ale_python_yapf_executable*
                                                 *b:ale_python_yapf_executable*
python_yapf_executable
g:ale_python_yapf_executable
  Type: |String|
  Default: `'yapf'`

  See |ale-integrations-local-executables|

                                           *ale-options.python_yapf_use_global*
                                                 *g:ale_python_yapf_use_global*
                                                 *b:ale_python_yapf_use_global*
python_yapf_use_global
g:ale_python_yapf_use_global
  Type: |Number|
  Default: `get(g:, 'ale_use_global_executables', 0)`

  See |ale-integrations-local-executables|

                                          *ale-options.python_yapf_auto_pipenv*
                                                *g:ale_python_yapf_auto_pipenv*
                                                *b:ale_python_yapf_auto_pipenv*
python_yapf_auto_pipenv
g:ale_python_yapf_auto_pipenv
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a pipenv, and set the executable to `pipenv`
  if true. This is overridden by a manually-set executable.

                                          *ale-options.python_yapf_auto_poetry*
                                                *g:ale_python_yapf_auto_poetry*
                                                *b:ale_python_yapf_auto_poetry*
python_yapf_auto_poetry
g:ale_python_yapf_auto_poetry
  Type: |Number|
  Default: `0`

  Detect whether the file is inside a poetry, and set the executable to `poetry`
  if true. This is overridden by a manually-set executable.

                                              *ale-options.python_yapf_auto_uv*
                                                    *g:ale_python_yapf_auto_uv*
                                                    *b:ale_python_yapf_auto_uv*
python_yapf_auto_uv
g:ale_python_yapf_auto_uv
  Type: |Number|
  Default: `0`

  Set the executable to `uv` if true. This is overridden by a manually-set
  executable.


===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

---

--- METRICS ---
- Files Extracted: 118
- Estimated Token Budget: ~134323 tokens
- Canonical Reference: https://codewiki.google/github.com/dense-analysis/ale
