summaryrefslogtreecommitdiff
path: root/doc/ale.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ale.txt')
-rw-r--r--doc/ale.txt461
1 files changed, 384 insertions, 77 deletions
diff --git a/doc/ale.txt b/doc/ale.txt
index 5541236f..469fa106 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -9,7 +9,8 @@ CONTENTS *ale-contents*
1. Introduction.........................|ale-introduction|
2. Supported Languages & Tools..........|ale-support|
3. Linting..............................|ale-lint|
- 3.1 Other Sources.....................|ale-lint-other-sources|
+ 3.1 Adding Language Servers...........|ale-lint-language-servers|
+ 3.2 Other Sources.....................|ale-lint-other-sources|
4. Fixing Problems......................|ale-fix|
5. Language Server Protocol Support.....|ale-lsp|
5.1 Completion........................|ale-completion|
@@ -147,7 +148,48 @@ ALE offers several options for controlling which linters are run.
-------------------------------------------------------------------------------
-3.1 Other Sources *ale-lint-other-sources*
+3.1 Adding Language Servers *ale-lint-language-servers*
+
+ALE comes with many default configurations for language servers, so they can
+be detected and run automatically. ALE can connect to other language servers
+by defining a new linter for a filetype. New linters can be defined in |vimrc|,
+in plugin files, or `ale_linters` directories in |runtimepath|.
+
+See |ale-linter-loading-behavior| for more information on loading linters.
+
+A minimal configuration for a language server linter might look so. >
+
+ call ale#linter#Define('filetype_here', {
+ \ 'name': 'any_name_you_want',
+ \ 'lsp': 'stdio',
+ \ 'executable': '/path/to/executable',
+ \ 'command': '%e run',
+ \ 'project_root': '/path/to/root_of_project',
+ \})
+<
+For language servers that use a TCP socket connection, you should define the
+address to connect to instead. >
+
+ call ale#linter#Define('filetype_here', {
+ \ 'name': 'any_name_you_want',
+ \ 'lsp': 'socket',
+ \ 'address': 'servername:1234',
+ \ 'project_root': '/path/to/root_of_project',
+ \})
+<
+ Most of the options for a language server can be replaced with a |Funcref|
+ for a function accepting a buffer number for dynamically computing values
+ such as the executable path, the project path, the server address, etc,
+ most of which can also be determined based on executing some other
+ asynchronous task. See |ale#command#Run()| for computing linter options
+ based on asynchronous results.
+
+ See |ale#linter#Define()| for a detailed explanation of all of the options
+ for configuring linters.
+
+
+-------------------------------------------------------------------------------
+3.2 Other Sources *ale-lint-other-sources*
Problems for a buffer can be taken from other sources and rendered by ALE.
This allows ALE to be used in combination with other plugins which also want
@@ -341,6 +383,17 @@ completion source for Deoplete is named `'ale'`, and should enabled
automatically if Deoplete is enabled and configured correctly. Deoplete
integration should not be combined with ALE's own implementation.
+ *ale-asyncomplete-integration*
+
+ALE additionally integrates with asyncomplete.vim for offering automatic
+completion data. ALE's asyncomplete source requires registration and should
+use the defaults provided by the|asyncomplete#sources#ale#get_source_options| function >
+
+ " Use ALE's function for asyncomplete defaults
+ au User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#ale#get_source_options({
+ \ 'priority': 10, " Provide your own overrides here
+ \ }))
+>
ALE also offers its own completion implementation, which does not require any
other plugins. Suggestions will be made while you type after completion is
enabled. ALE's own completion implementation can be enabled by setting
@@ -365,6 +418,10 @@ The |ALEComplete| command can be used to show completion suggestions manually,
even when |g:ale_completion_enabled| is set to `0`. For manually requesting
completion information with Deoplete, consult Deoplete's documentation.
+When working with TypeScript files, ALE by can support automatic imports
+from external modules. This behavior can be enabled by setting the
+|g:ale_completion_tsserver_autoimport| variable to `1`.
+
*ale-completion-completeopt-bug*
ALE Automatic completion implementation replaces |completeopt| before opening
@@ -376,17 +433,54 @@ vimrc, and your issues should go away. >
set completeopt=menu,menuone,preview,noselect,noinsert
<
+Or alternatively, if you want to show documentation in popups: >
+
+ set completeopt=menu,menuone,popup,noselect,noinsert
+<
+ *ale-symbols*
+
+ALE provides a set of basic completion symbols. If you want to replace those
+symbols with others, you can set the variable |g:ale_completion_symbols| with
+a mapping of the type of completion to the symbol or other string that you
+would like to use. An example here shows the available options for symbols >
+
+ let g:ale_completion_symbols = {
+ \ 'text': '',
+ \ 'method': '',
+ \ 'function': '',
+ \ 'constructor': '',
+ \ 'field': '',
+ \ 'variable': '',
+ \ 'class': '',
+ \ 'interface': '',
+ \ 'module': '',
+ \ 'property': '',
+ \ 'unit': 'unit',
+ \ 'value': 'val',
+ \ 'enum': '',
+ \ 'keyword': 'keyword',
+ \ 'snippet': '',
+ \ 'color': 'color',
+ \ 'file': '',
+ \ 'reference': 'ref',
+ \ 'folder': '',
+ \ 'enum member': '',
+ \ 'constant': '',
+ \ 'struct': '',
+ \ 'event': 'event',
+ \ 'operator': '',
+ \ 'type_parameter': 'type param',
+ \ '<default>': 'v'
+ \ }
+<
-------------------------------------------------------------------------------
5.2 Go To Definition *ale-go-to-definition*
ALE supports jumping to the files and locations where symbols are defined
through any enabled LSP linters. The locations ALE will jump to depend on the
-information returned by LSP servers. The following commands are supported:
-
-|ALEGoToDefinition| - Open the definition of the symbol under the cursor.
-|ALEGoToDefinitionInTab| - The same, but for opening the file in a new tab.
-|ALEGoToDefinitionInSplit| - The same, but in a new split.
-|ALEGoToDefinitionInVSplit| - The same, but in a new vertical split.
+information returned by LSP servers. The |ALEGoToDefinition| command will jump
+to the definition of symbols under the cursor. See the documentation for the
+command for configuring how the location will be displayed.
ALE will update Vim's |tagstack| automatically unless |g:ale_update_tagstack| is
set to `0`.
@@ -396,15 +490,10 @@ set to `0`.
ALE supports jumping to the files and locations where symbols' types are
defined through any enabled LSP linters. The locations ALE will jump to depend
-on the information returned by LSP servers. The following commands are
-supported:
-
-|ALEGoToTypeDefinition| - Open the definition of the symbol's type under
- the cursor.
-|ALEGoToTypeDefinitionInTab| - The same, but for opening the file in a new tab.
-|ALEGoToTypeDefinitionInSplit| - The same, but in a new split.
-|ALEGoToTypeDefinitionInVSplit| - The same, but in a new vertical split.
-
+on the information returned by LSP servers. The |ALEGoToTypeDefinition|
+command will jump to the definition of symbols under the cursor. See the
+documentation for the command for configuring how the location will be
+displayed.
-------------------------------------------------------------------------------
5.4 Find References *ale-find-references*
@@ -433,6 +522,9 @@ the mouse over a symbol in a buffer. Diagnostic information will take priority
over hover information for balloons. If a line contains a problem, that
problem will be displayed in a balloon instead of hover information.
+Hover information can be displayed in the preview window instead by setting
+|g:ale_hover_to_preview| to `1`.
+
For Vim 8.1+ terminals, mouse hovering is disabled by default. Enabling
|balloonexpr| commands in terminals can cause scrolling issues in terminals,
so ALE will not attempt to show balloons unless |g:ale_set_balloons| is set to
@@ -566,7 +658,7 @@ g:ale_completion_delay *g:ale_completion_delay*
g:ale_completion_enabled *g:ale_completion_enabled*
-b:ale_completion_enabled *b:ale_completion_enabled*
+ *b:ale_completion_enabled*
Type: |Number|
Default: `0`
@@ -586,6 +678,16 @@ b:ale_completion_enabled *b:ale_completion_enabled*
See |ale-completion|
+g:ale_completion_tsserver_autoimport *g:ale_completion_tsserver_autoimport*
+
+ Type: Number
+ Default: `0`
+
+ When this option is set to `0`, ALE will not try to automatically import
+ completion results from external modules. It can be enabled by setting it
+ to `1`.
+
+
g:ale_completion_excluded_words *g:ale_completion_excluded_words*
*b:ale_completion_excluded_words*
Type: |List|
@@ -604,6 +706,47 @@ g:ale_completion_excluded_words *g:ale_completion_excluded_words*
let b:ale_completion_excluded_words = ['it', 'describe']
<
+g:ale_completion_symbols *g:ale_completion_symbols*
+
+ Type: |Dictionary|
+
+
+ A mapping from completion types to symbols for completions. See
+ |ale-symbols| for more information.
+
+ By default, this mapping only uses built in Vim completion kinds, but it can
+ be updated to use any unicode character for the completion kind. For
+ example: >
+ let g:ale_completion_symbols = {
+ \ 'text': '',
+ \ 'method': '',
+ \ 'function': '',
+ \ 'constructor': '',
+ \ 'field': '',
+ \ 'variable': '',
+ \ 'class': '',
+ \ 'interface': '',
+ \ 'module': '',
+ \ 'property': '',
+ \ 'unit': 'v',
+ \ 'value': 'v',
+ \ 'enum': 't',
+ \ 'keyword': 'v',
+ \ 'snippet': 'v',
+ \ 'color': 'v',
+ \ 'file': 'v',
+ \ 'reference': 'v',
+ \ 'folder': 'v',
+ \ 'enum_member': 'm',
+ \ 'constant': 'm',
+ \ 'struct': 't',
+ \ 'event': 'v',
+ \ 'operator': 'f',
+ \ 'type_parameter': 'p',
+ \ '<default>': 'v'
+ \ })
+<
+
g:ale_completion_max_suggestions *g:ale_completion_max_suggestions*
Type: |Number|
@@ -642,6 +785,16 @@ g:ale_cursor_detail *g:ale_cursor_detail*
loaded for messages to be displayed. See |ale-lint-settings-on-startup|.
+g:ale_default_navigation *g:ale_default_navigation*
+ *b:ale_default_navigation*
+
+ Type: |String|
+ Default: `'buffer'`
+
+ The default method for navigating away from the current buffer to another
+ buffer, such as for |ALEFindReferences:|, or |ALEGoToDefinition|.
+
+
g:ale_disable_lsp *g:ale_disable_lsp*
*b:ale_disable_lsp*
@@ -694,7 +847,7 @@ g:ale_echo_msg_error_str *g:ale_echo_msg_error_str*
g:ale_echo_msg_format *g:ale_echo_msg_format*
-b:ale_echo_msg_format *b:ale_echo_msg_format*
+ *b:ale_echo_msg_format*
Type: |String|
Default: `'%code: %%s'`
@@ -734,6 +887,15 @@ g:ale_echo_msg_info_str *g:ale_echo_msg_info_str*
The string used for `%severity%` for info. See |g:ale_echo_msg_format|
+g:ale_echo_msg_log_str *g:ale_echo_msg_log_str*
+
+ Type: |String|
+ Default: `'Log'`
+
+ The string used for `%severity%` for log, used only for handling LSP show
+ message requests. See |g:ale_lsp_show_message_format|
+
+
g:ale_echo_msg_warning_str *g:ale_echo_msg_warning_str*
Type: |String|
@@ -763,6 +925,21 @@ g:ale_enabled *g:ale_enabled*
See |g:ale_pattern_options| for more information on that option.
+g:ale_exclude_highlights *g:ale_exclude_highlights*
+ *b:ale_exclude_highlights*
+
+ Type: |List|
+ Default: `[]`
+
+ A list of regular expressions for matching against highlight messages to
+ remove. For example: >
+
+ " Do not highlight messages matching strings like these.
+ let b:ale_exclude_highlights = ['line too long', 'foo.*bar']
+<
+ See also: |g:ale_set_highlights|
+
+
g:ale_fixers *g:ale_fixers*
*b:ale_fixers*
@@ -786,7 +963,7 @@ g:ale_fixers *g:ale_fixers*
<
g:ale_fix_on_save *g:ale_fix_on_save*
-b:ale_fix_on_save *b:ale_fix_on_save*
+ *b:ale_fix_on_save*
Type: |Number|
Default: `0`
@@ -808,7 +985,7 @@ b:ale_fix_on_save *b:ale_fix_on_save*
g:ale_fix_on_save_ignore *g:ale_fix_on_save_ignore*
-b:ale_fix_on_save_ignore *b:ale_fix_on_save_ignore*
+ *b:ale_fix_on_save_ignore*
Type: |Dictionary| or |List|
Default: `{}`
@@ -871,6 +1048,16 @@ g:ale_history_log_output *g:ale_history_log_output*
if you want to save on some memory usage.
+g:ale_hover_to_preview *g:ale_hover_to_preview*
+ *b:ale_hover_to_preview*
+
+ Type: |Number|
+ Default: `0`
+
+ If set to `1`, hover messages will be displayed in the preview window,
+ instead of in balloons or the message line.
+
+
g:ale_keep_list_window_open *g:ale_keep_list_window_open*
*b:ale_keep_list_window_open*
Type: |Number|
@@ -1016,9 +1203,12 @@ g:ale_linter_aliases *g:ale_linter_aliases*
{
\ 'Dockerfile': 'dockerfile',
\ 'csh': 'sh',
+ \ 'javascriptreact': ['javascript', 'jsx'],
\ 'plaintex': 'tex',
\ 'rmarkdown': 'r',
+ \ 'rmd': 'r',
\ 'systemverilog': 'verilog',
+ \ 'typescriptreact': ['typescript', 'tsx'],
\ 'verilog_systemverilog': ['verilog_systemverilog', 'verilog'],
\ 'vimwiki': 'markdown',
\ 'vue': ['vue', 'javascript'],
@@ -1171,7 +1361,7 @@ g:ale_list_vertical *g:ale_list_vertical*
g:ale_loclist_msg_format *g:ale_loclist_msg_format*
-b:ale_loclist_msg_format *b:ale_loclist_msg_format*
+ *b:ale_loclist_msg_format*
Type: |String|
Default: `g:ale_echo_msg_format`
@@ -1181,8 +1371,49 @@ b:ale_loclist_msg_format *b:ale_loclist_msg_format*
The strings for configuring `%severity%` are also used for this option.
+
+g:ale_lsp_show_message_format *g:ale_lsp_show_message_format*
+
+ Type: |String|
+ Default: `'%severity%:%linter%: %s'`
+
+ This variable defines the format that messages received from an LSP will
+ have when echoed. The following sequences of characters will be replaced.
+
+ `%s` - replaced with the message text
+ `%linter%` - replaced with the name of the linter
+ `%severity%` - replaced with the severity of the message
+
+ The strings for `%severity%` levels "error", "info" and "warning" are shared
+ with |g:ale_echo_msg_format|. Severity "log" is unique to
+ |g:ale_lsp_show_message_format| and it can be configured via
+
+ |g:ale_echo_msg_log_str| - Defaults to `'Log'`
+
+ Please note that |g:ale_lsp_show_message_format| *can not* be configured
+ separately for each buffer like |g:ale_echo_msg_format| can.
+
+
+g:ale_lsp_show_message_severity *g:ale_lsp_show_message_severity*
+
+ Type: |String|
+ Default: `'error'`
+
+ This variable defines the minimum severity level an LSP message needs to be
+ displayed. Messages below this level are discarded; please note that
+ messages with `Log` severity level are always discarded.
+
+ Possible values follow the LSP spec `MessageType` definition:
+
+ `'error'` - Displays only errors.
+ `'warning'` - Displays errors and warnings.
+ `'information'` - Displays errors, warnings and infos
+ `'log'` - Same as `'information'`
+ `'disabled'` - Doesn't display any information at all.
+
+
g:ale_lsp_root *g:ale_lsp_root*
-b:ale_lsp_root *b:ale_lsp_root*
+ *b:ale_lsp_root*
Type: |Dictionary| or |String|
Default: {}
@@ -1306,6 +1537,27 @@ g:ale_pattern_options_enabled *g:ale_pattern_options_enabled*
will not set buffer variables per |g:ale_pattern_options|.
+g:ale_rename_tsserver_find_in_comments *g:ale_rename_tsserver_find_in_comments*
+
+ Type: |Number|
+ Default: `0`
+
+ If enabled, this option will tell tsserver to find and replace text in
+ comments when calling |ALERename|. It can be enabled by settings the value
+ to `1`.
+
+
+g:ale_rename_tsserver_find_in_strings *g:ale_rename_tsserver_find_in_strings*
+
+
+ Type: |Number|
+ Default: `0`
+
+ If enabled, this option will tell tsserver to find and replace text in
+ strings when calling |ALERename|. It can be enabled by settings the value to
+ `1`.
+
+
g:ale_set_balloons *g:ale_set_balloons*
*b:ale_set_balloons*
@@ -1374,6 +1626,8 @@ g:ale_set_highlights *g:ale_set_highlights*
match highlights, whereas the line highlights when signs are enabled will
run to the edge of the screen.
+ Highlights can be excluded with the |g:ale_exclude_highlights| option.
+
g:ale_set_loclist *g:ale_set_loclist*
@@ -1426,8 +1680,8 @@ g:ale_set_signs *g:ale_set_signs*
|ALEWarningLine| - All items with `'type': 'W'`
|ALEInfoLine| - All items with `'type': 'I'`
- With Neovim 0.3.2 or higher, ALE uses `numhl` option to highlight 'number'
- column. It uses the following highlight groups.
+ With Neovim 0.3.2 or higher, ALE can use the `numhl` option to highlight the
+ 'number' column. It uses the following highlight groups.
|ALEErrorSignLineNr| - Items with `'type': 'E'`
|ALEWarningSignLineNr| - Items with `'type': 'W'`
@@ -1435,6 +1689,9 @@ g:ale_set_signs *g:ale_set_signs*
|ALEStyleErrorSignLineNr| - Items with `'type': 'E'` and `'sub_type': 'style'`
|ALEStyleWarningSignLineNr| - Items with `'type': 'W'` and `'sub_type': 'style'`
+ To enable line number highlighting |g:ale_sign_highlight_linenrs| must be
+ set to `1` before ALE is loaded.
+
The markers for the highlights can be customized with the following options:
|g:ale_sign_error|
@@ -1449,6 +1706,16 @@ g:ale_set_signs *g:ale_set_signs*
To limit the number of signs ALE will set, see |g:ale_max_signs|.
+g:ale_sign_priority *g:ale_sign_priority*
+
+ Type: |Number|
+ Default: `30`
+
+ From Neovim 0.4.0 and Vim 8.1, ALE can set sign priority to all signs. The
+ larger this value is, the higher priority ALE signs have over other plugin
+ signs. See |sign-priority| for further details on how priority works.
+
+
g:ale_shell *g:ale_shell*
Type: |String|
@@ -1541,6 +1808,16 @@ g:ale_sign_warning *g:ale_sign_warning*
The sign for warnings in the sign gutter.
+g:ale_sign_highlight_linenrs *g:ale_sign_highlight_linenrs*
+
+ Type: |Number|
+ Default: `0`
+
+ When set to `1`, this option enables highlighting problems on the 'number'
+ column in Vim versions that support `numhl` highlights. This option must be
+ configured before ALE is loaded.
+
+
g:ale_update_tagstack *g:ale_update_tagstack*
*b:ale_update_tagstack*
Type: |Number|
@@ -1595,6 +1872,8 @@ g:ale_virtualtext_cursor *g:ale_virtualtext_cursor*
Type: |Number|
Default: `0`
+ This option only has any effect in NeoVim.
+
When this option is set to `1`, a message will be shown when a cursor is
near a warning or error. ALE will attempt to find the warning or error at a
column nearest to the cursor when the cursor is resting on a line which
@@ -1615,7 +1894,8 @@ g:ale_virtualtext_cursor *g:ale_virtualtext_cursor*
g:ale_virtualtext_delay *g:ale_virtualtext_delay*
-b:ale_virtualtext_delay *b:ale_virtualtext_delay*
+ *b:ale_virtualtext_delay*
+
Type: |Number|
Default: `10`
@@ -1634,7 +1914,7 @@ g:ale_virtualtext_prefix *g:ale_virtualtext_prefix*
Prefix to be used with |g:ale_virtualtext_cursor|.
g:ale_virtualenv_dir_names *g:ale_virtualenv_dir_names*
-b:ale_virtualenv_dir_names *b:ale_virtualenv_dir_names*
+ *b:ale_virtualenv_dir_names*
Type: |List|
Default: `['.env', '.venv', 'env', 've-py3', 've', 'virtualenv', 'venv']`
@@ -1648,7 +1928,7 @@ b:ale_virtualenv_dir_names *b:ale_virtualenv_dir_names*
g:ale_warn_about_trailing_blank_lines *g:ale_warn_about_trailing_blank_lines*
-b:ale_warn_about_trailing_blank_lines *b:ale_warn_about_trailing_blank_lines*
+ *b:ale_warn_about_trailing_blank_lines*
Type: |Number|
Default: `1`
@@ -1660,7 +1940,7 @@ b:ale_warn_about_trailing_blank_lines *b:ale_warn_about_trailing_blank_lines*
g:ale_warn_about_trailing_whitespace *g:ale_warn_about_trailing_whitespace*
-b:ale_warn_about_trailing_whitespace *b:ale_warn_about_trailing_whitespace*
+ *b:ale_warn_about_trailing_whitespace*
Type: |Number|
Default: `1`
@@ -1943,6 +2223,14 @@ g:ale_languagetool_executable *g:ale_languagetool_executable*
The executable to run for languagetool.
+g:ale_languagetool_options *g:ale_languagetool_options*
+ *b:ale_languagetool_options*
+ Type: |String|
+ Default: `'--autoDetect'`
+
+ This variable can be set to pass additional options to languagetool.
+
+
-------------------------------------------------------------------------------
7.3. Options for write-good *ale-write-good-options*
@@ -1981,6 +2269,7 @@ documented in additional help files.
ada.....................................|ale-ada-options|
gcc...................................|ale-ada-gcc|
+ gnatpp................................|ale-ada-gnatpp|
ansible.................................|ale-ansible-options|
ansible-lint..........................|ale-ansible-ansible-lint|
asciidoc................................|ale-asciidoc-options|
@@ -2041,6 +2330,7 @@ documented in additional help files.
nvcc..................................|ale-cuda-nvcc|
clang-format..........................|ale-cuda-clangformat|
d.......................................|ale-d-options|
+ dfmt..................................|ale-d-dfmt|
dls...................................|ale-d-dls|
uncrustify............................|ale-d-uncrustify|
dart....................................|ale-dart-options|
@@ -2107,6 +2397,7 @@ documented in additional help files.
cabal-ghc.............................|ale-haskell-cabal-ghc|
hdevtools.............................|ale-haskell-hdevtools|
hfmt..................................|ale-haskell-hfmt|
+ hindent...............................|ale-haskell-hindent|
hlint.................................|ale-haskell-hlint|
stack-build...........................|ale-haskell-stack-build|
stack-ghc.............................|ale-haskell-stack-ghc|
@@ -2116,6 +2407,7 @@ documented in additional help files.
terraform-fmt.........................|ale-hcl-terraform-fmt|
html....................................|ale-html-options|
fecs..................................|ale-html-fecs|
+ html-beautify.........................|ale-html-beautify|
htmlhint..............................|ale-html-htmlhint|
tidy..................................|ale-html-tidy|
prettier..............................|ale-html-prettier|
@@ -2123,6 +2415,8 @@ documented in additional help files.
write-good............................|ale-html-write-good|
idris...................................|ale-idris-options|
idris.................................|ale-idris-idris|
+ ink.....................................|ale-ink-options|
+ ink-language-server...................|ale-ink-language-server|
ispc....................................|ale-ispc-options|
ispc..................................|ale-ispc-ispc|
java....................................|ale-java-options|
@@ -2178,6 +2472,12 @@ documented in additional help files.
mmc...................................|ale-mercury-mmc|
nasm....................................|ale-nasm-options|
nasm..................................|ale-nasm-nasm|
+ nim.....................................|ale-nim-options|
+ nimcheck..............................|ale-nim-nimcheck|
+ nimlsp................................|ale-nim-nimlsp|
+ nimpretty.............................|ale-nim-nimpretty|
+ nix.....................................|ale-nix-options|
+ nixpkgs-fmt...........................|ale-nix-nixpkgs-fmt|
nroff...................................|ale-nroff-options|
write-good............................|ale-nroff-write-good|
objc....................................|ale-objc-options|
@@ -2233,6 +2533,7 @@ documented in additional help files.
puppet-languageserver.................|ale-puppet-languageserver|
purescript..............................|ale-purescript-options|
purescript-language-server............|ale-purescript-language-server|
+ purty.................................|ale-purescript-purty|
pyrex (cython)..........................|ale-pyrex-options|
cython................................|ale-pyrex-cython|
python..................................|ale-python-options|
@@ -2268,6 +2569,7 @@ documented in additional help files.
write-good............................|ale-restructuredtext-write-good|
ruby....................................|ale-ruby-options|
brakeman..............................|ale-ruby-brakeman|
+ debride...............................|ale-ruby-debride|
rails_best_practices..................|ale-ruby-rails_best_practices|
reek..................................|ale-ruby-reek|
rubocop...............................|ale-ruby-rubocop|
@@ -2285,6 +2587,7 @@ documented in additional help files.
sasslint..............................|ale-sass-sasslint|
stylelint.............................|ale-sass-stylelint|
scala...................................|ale-scala-options|
+ metals................................|ale-scala-metals|
sbtserver.............................|ale-scala-sbtserver|
scalafmt..............................|ale-scala-scalafmt|
scalastyle............................|ale-scala-scalastyle|
@@ -2300,6 +2603,7 @@ documented in additional help files.
sml.....................................|ale-sml-options|
smlnj.................................|ale-sml-smlnj|
solidity................................|ale-solidity-options|
+ solc..................................|ale-solidity-solc|
solhint...............................|ale-solidity-solhint|
solium................................|ale-solidity-solium|
spec....................................|ale-spec-options|
@@ -2307,6 +2611,7 @@ documented in additional help files.
sql.....................................|ale-sql-options|
pgformatter...........................|ale-sql-pgformatter|
sqlfmt................................|ale-sql-sqlfmt|
+ sqlformat.............................|ale-sql-sqlformat|
stylus..................................|ale-stylus-options|
stylelint.............................|ale-stylus-stylelint|
sugarss.................................|ale-sugarss-options|
@@ -2334,6 +2639,7 @@ documented in additional help files.
typescript..............................|ale-typescript-options|
eslint................................|ale-typescript-eslint|
prettier..............................|ale-typescript-prettier|
+ standard..............................|ale-typescript-standard|
tslint................................|ale-typescript-tslint|
tsserver..............................|ale-typescript-tsserver|
vala....................................|ale-vala-options|
@@ -2401,11 +2707,23 @@ ALEFindReferences *ALEFindReferences*
Enter key (`<CR>`) can be used to jump to a referencing location, or the `t`
key can be used to jump to the location in a new tab.
+ The locations opened in different ways using the following variations.
+
+ `:ALEFindReferences -tab` - Open the location in a new tab.
+ `:ALEFindReferences -split` - Open the location in a horizontal split.
+ `:ALEFindReferences -vsplit` - Open the location in a vertical split.
+
+ The default method used for navigating to a new location can be changed
+ by modifying |g:ale_default_navigation|.
+
+ The selection can be opened again with the |ALERepeatSelection| command.
+
You can jump back to the position you were at before going to a reference of
something with jump motions like CTRL-O. See |jump-motions|.
A plug mapping `<Plug>(ale_find_references)` is defined for this command.
+
ALEFix *ALEFix*
Fix problems with the current buffer. See |ale-fix| for more information.
@@ -2420,40 +2738,29 @@ ALEFixSuggest *ALEFixSuggest*
See |ale-fix| for more information.
-ALEGoToDefinition *ALEGoToDefinition*
+ALEGoToDefinition `<options>` *ALEGoToDefinition*
Jump to the definition of a symbol under the cursor using the enabled LSP
linters for the buffer. ALE will jump to a definition if an LSP server
provides a location to jump to. Otherwise, ALE will do nothing.
- You can jump back to the position you were at before going to the definition
- of something with jump motions like CTRL-O. See |jump-motions|.
-
- A plug mapping `<Plug>(ale_go_to_definition)` is defined for this command.
-
-
-ALEGoToDefinitionInTab *ALEGoToDefinitionInTab*
+ The locations opened in different ways using the following variations.
- The same as |ALEGoToDefinition|, but opens results in a new tab.
+ `:ALEGoToDefinition -tab` - Open the location in a new tab.
+ `:ALEGoToDefinition -split` - Open the location in a horizontal split.
+ `:ALEGoToDefinition -vsplit` - Open the location in a vertical split.
- A plug mapping `<Plug>(ale_go_to_definition_in_tab)` is defined for this
- command.
-
-
-ALEGoToDefinitionInSplit *ALEGoToDefinitionInSplit*
+ The default method used for navigating to a new location can be changed
+ by modifying |g:ale_default_navigation|.
- The same as |ALEGoToDefinition|, but opens results in a new split.
-
- A plug mapping `<Plug>(ale_go_to_definition_in_split)` is defined for this
- command.
-
-
-ALEGoToDefinitionInVSplit *ALEGoToDefinitionInVSplit*
+ You can jump back to the position you were at before going to the definition
+ of something with jump motions like CTRL-O. See |jump-motions|.
- The same as |ALEGoToDefinition|, but opens results in a new vertical split.
+ You should consider using the 'hidden' option in combination with this
+ command. Otherwise, Vim will refuse to leave the buffer you're jumping from
+ unless you have saved your edits.
- A plug mapping `<Plug>(ale_go_to_definition_in_vsplit)` is defined for this
- command.
+ A plug mapping `<Plug>(ale_go_to_definition)` is defined for this command.
ALEGoToTypeDefinition *ALEGoToTypeDefinition*
@@ -2463,6 +2770,15 @@ ALEGoToTypeDefinition *ALEGoToTypeDefinition*
definition if an LSP server provides a location to jump to. Otherwise, ALE
will do nothing.
+ The locations opened in different ways using the following variations.
+
+ `:ALEGoToTypeDefinition -tab` - Open the location in a new tab.
+ `:ALEGoToTypeDefinition -split` - Open the location in a horizontal split.
+ `:ALEGoToTypeDefinition -vsplit` - Open the location in a vertical split.
+
+ The default method used for navigating to a new location can be changed
+ by modifying |g:ale_default_navigation|.
+
You can jump back to the position you were at before going to the definition
of something with jump motions like CTRL-O. See |jump-motions|.
@@ -2470,42 +2786,34 @@ ALEGoToTypeDefinition *ALEGoToTypeDefinition*
command.
-ALEGoToTypeDefinitionInTab *ALEGoToTypeDefinitionInTab*
+ALEHover *ALEHover*
- The same as |ALEGoToTypeDefinition|, but opens results in a new tab.
+ Print brief information about the symbol under the cursor, taken from any
+ available LSP linters. There may be a small non-blocking delay before
+ information is printed.
- A plug mapping `<Plug>(ale_go_to_type_definition_in_tab)` is defined for
- this command.
+ NOTE: In Vim 8, long messages will be shown in a preview window, as Vim 8
+ does not support showing a prompt to press enter to continue for long
+ messages from asynchronous callbacks.
+ A plug mapping `<Plug>(ale_hover)` is defined for this command.
-ALEGoToTypeDefinitionInSplit *ALEGoToTypeDefinitionInSplit*
- The same as |ALEGoToTypeDefinition|, but opens results in a new split.
+ALEOrganizeImports *ALEOrganizeImports*
- A plug mapping `<Plug>(ale_go_to_type_definition_in_split)` is defined for
- this command.
+ Organize imports using tsserver. Currently not implemented for LSPs.
-ALEGoToTypeDefinitionInVSplit *ALEGoToTypeDefinitionInVSplit*
+ALERename *ALERename*
- The same as |ALEGoToTypeDefinition|, but opens results in a new vertical
- split.
+ Rename a symbol using TypeScript server or Language Server.
- A plug mapping `<Plug>(ale_go_to_type_definition_in_vsplit)` is defined for
- this command.
+ The user will be prompted for a new name.
-ALEHover *ALEHover*
+ALERepeatSelection *ALERepeatSelection*
- Print brief information about the symbol under the cursor, taken from any
- available LSP linters. There may be a small non-blocking delay before
- information is printed.
-
- NOTE: In Vim 8, long messages will be shown in a preview window, as Vim 8
- does not support showing a prompt to press enter to continue for long
- messages from asynchronous callbacks.
-
- A plug mapping `<Plug>(ale_hover)` is defined for this command.
+ Repeat the last selection displayed in the preview window.
ALESymbolSearch `<query>` *ALESymbolSearch*
@@ -2816,7 +3124,6 @@ ale#command#Run(buffer, command, callback, [options]) *ale#command#Run()*
'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))}
<
-
The following `options` can be provided.
`output_stream` - Either `'stdout'`, `'stderr'`, `'both'`, or `'none`' for