Document ALEFix
This commit is contained in:
parent
3530180a73
commit
74d879952c
@ -15,6 +15,9 @@ back to a filesystem.
|
|||||||
|
|
||||||
In other words, this plugin allows you to lint while you type.
|
In other words, this plugin allows you to lint while you type.
|
||||||
|
|
||||||
|
ALE also supports fixing problems with files by running commands in the
|
||||||
|
background with a command `ALEFix`.
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
1. [Supported Languages and Tools](#supported-languages)
|
1. [Supported Languages and Tools](#supported-languages)
|
||||||
@ -138,6 +141,9 @@ documented in [the Vim help file](doc/ale.txt). For more information on the
|
|||||||
options ALE offers, consult `:help ale-options` for global options and `:help
|
options ALE offers, consult `:help ale-options` for global options and `:help
|
||||||
ale-linter-options` for options specified to particular linters.
|
ale-linter-options` for options specified to particular linters.
|
||||||
|
|
||||||
|
ALE can fix files with the `ALEFix` command. Functions need to be configured
|
||||||
|
for different filetypes with the `g:ale_fixers` variable. See `:help ale-fix`.
|
||||||
|
|
||||||
<a name="installation"></a>
|
<a name="installation"></a>
|
||||||
|
|
||||||
## 3. Installation
|
## 3. Installation
|
||||||
|
105
doc/ale.txt
105
doc/ale.txt
@ -9,7 +9,8 @@ CONTENTS *ale-contents*
|
|||||||
1. Introduction.........................|ale-introduction|
|
1. Introduction.........................|ale-introduction|
|
||||||
2. Supported Languages & Tools..........|ale-support|
|
2. Supported Languages & Tools..........|ale-support|
|
||||||
3. Global Options.......................|ale-options|
|
3. Global Options.......................|ale-options|
|
||||||
4. Linter Options and Recommendations...|ale-linter-options|
|
4. Fixing Problems......................|ale-fix|
|
||||||
|
5. Linter Options and Recommendations...|ale-linter-options|
|
||||||
asm...................................|ale-asm-options|
|
asm...................................|ale-asm-options|
|
||||||
gcc.................................|ale-asm-gcc|
|
gcc.................................|ale-asm-gcc|
|
||||||
c.....................................|ale-c-options|
|
c.....................................|ale-c-options|
|
||||||
@ -93,10 +94,10 @@ CONTENTS *ale-contents*
|
|||||||
xmllint.............................|ale-xml-xmllint|
|
xmllint.............................|ale-xml-xmllint|
|
||||||
yaml..................................|ale-yaml-options|
|
yaml..................................|ale-yaml-options|
|
||||||
yamllint............................|ale-yaml-yamllint|
|
yamllint............................|ale-yaml-yamllint|
|
||||||
5. Commands/Keybinds....................|ale-commands|
|
6. Commands/Keybinds....................|ale-commands|
|
||||||
6. API..................................|ale-api|
|
7. API..................................|ale-api|
|
||||||
7. Special Thanks.......................|ale-special-thanks|
|
8. Special Thanks.......................|ale-special-thanks|
|
||||||
8. Contact..............................|ale-contact|
|
9. Contact..............................|ale-contact|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
1. Introduction *ale-introduction*
|
1. Introduction *ale-introduction*
|
||||||
@ -107,7 +108,7 @@ using the |job-control| features available in Vim 8 and NeoVim. For Vim 8,
|
|||||||
Vim must be compiled with the |job| and |channel| and |timer| features
|
Vim must be compiled with the |job| and |channel| and |timer| features
|
||||||
as a minimum.
|
as a minimum.
|
||||||
|
|
||||||
ALE supports the following key features:
|
ALE supports the following key features for linting:
|
||||||
|
|
||||||
1. Running linters when text is changed.
|
1. Running linters when text is changed.
|
||||||
2. Running linters when files are opened.
|
2. Running linters when files are opened.
|
||||||
@ -115,6 +116,10 @@ ALE supports the following key features:
|
|||||||
4. Populating the |loclist| with warning and errors.
|
4. Populating the |loclist| with warning and errors.
|
||||||
5. Setting |signs| with warnings and errors for error markers.
|
5. Setting |signs| with warnings and errors for error markers.
|
||||||
6. Using |echo| to show error messages when the cursor moves.
|
6. Using |echo| to show error messages when the cursor moves.
|
||||||
|
7. Setting syntax highlights for errors.
|
||||||
|
|
||||||
|
ALE can fix problems with files with the |ALEFix| command, using the same job
|
||||||
|
control functionality used for checking for problems.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
2. Supported Languages & Tools *ale-support*
|
2. Supported Languages & Tools *ale-support*
|
||||||
@ -266,6 +271,18 @@ g:ale_enabled *g:ale_enabled*
|
|||||||
the |ALEToggle| command, which changes this option.
|
the |ALEToggle| command, which changes this option.
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_fixers *g:ale_fixers*
|
||||||
|
*b:ale_fixers*
|
||||||
|
|
||||||
|
Type: |Dictionary|
|
||||||
|
Default: `{}`
|
||||||
|
|
||||||
|
A mapping from filetypes to |List| values for functions for fixing errors.
|
||||||
|
See |ale-fix| for more information.
|
||||||
|
|
||||||
|
This variable can be overriden with variables in each buffer.
|
||||||
|
|
||||||
|
|
||||||
g:ale_history_enabled *g:ale_history_enabled*
|
g:ale_history_enabled *g:ale_history_enabled*
|
||||||
|
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
@ -604,7 +621,57 @@ b:ale_warn_about_trailing_whitespace *b:ale_warn_about_trailing_whitespace*
|
|||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
4. Linter Options and Recommendations *ale-linter-options*
|
4. Fixing Problems *ale-fix*
|
||||||
|
|
||||||
|
ALE can fix problems with files with the |ALEFix| command. When |ALEFix| is
|
||||||
|
run, the variable |g:ale_fixers| will be read for getting a |List| of commands
|
||||||
|
for filetypes, split on `.`, and the functions named in |g:ale_fixers| will be
|
||||||
|
executed for fixing the errors.
|
||||||
|
|
||||||
|
The values for `g:ale_fixers` can be a list of |String|, |Funcref|, or
|
||||||
|
|lambda| values. String values must either name a function, or a short name
|
||||||
|
for a function set in the ALE fixer registry.
|
||||||
|
|
||||||
|
Each function for fixing errors must accept two arguments `(buffer, lines)`,
|
||||||
|
representing the buffer being fixed and the lines to fix. The functions must
|
||||||
|
return either `0`, for changing nothing, a |List| for new lines to set, or a
|
||||||
|
|Dictionary| for describing a command to be run in the background.
|
||||||
|
|
||||||
|
When a |Dictionary| is returned for an |ALEFix| callback, the following keys
|
||||||
|
are supported for running the commands.
|
||||||
|
|
||||||
|
`command` A |String| for the command to run. This key is required.
|
||||||
|
|
||||||
|
When `%t` is included in a command string, a temporary
|
||||||
|
file will be created, containing the lines from the file
|
||||||
|
after previous adjustment have been done.
|
||||||
|
|
||||||
|
`read_temporary_file` When set to `1`, ALE will read the contents of the
|
||||||
|
temporary file created for `%t`. This option can be used
|
||||||
|
for commands which need to modify some file on disk in
|
||||||
|
order to fix files.
|
||||||
|
|
||||||
|
*ale-fix-configuration*
|
||||||
|
|
||||||
|
Synchronous functions and asynchronous jobs will be run in a sequence for
|
||||||
|
fixing files, and can be combined. For example:
|
||||||
|
>
|
||||||
|
let g:ale_fixers.javascript = [
|
||||||
|
\ 'DoSomething',
|
||||||
|
\ 'eslint',
|
||||||
|
\ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')},
|
||||||
|
\]
|
||||||
|
|
||||||
|
ALEFix
|
||||||
|
<
|
||||||
|
The above example will call a function called `DoSomething` which could act
|
||||||
|
upon some lines immediately, then run `eslint` from the ALE registry, and
|
||||||
|
then call a lambda function which will remove every single line comment
|
||||||
|
from the file.
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
5. Linter Options and Recommendations *ale-linter-options*
|
||||||
|
|
||||||
Linter options are documented in individual help files. See the table of
|
Linter options are documented in individual help files. See the table of
|
||||||
contents at |ale-contents|.
|
contents at |ale-contents|.
|
||||||
@ -615,7 +682,12 @@ set for `g:ale_python_flake8_executable`.
|
|||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
5. Commands/Keybinds *ale-commands*
|
6. Commands/Keybinds *ale-commands*
|
||||||
|
|
||||||
|
ALEFix *ALEFix*
|
||||||
|
|
||||||
|
Fix problems with the current buffer. See |ale-fix| for more information.
|
||||||
|
|
||||||
|
|
||||||
ALELint *ALELint*
|
ALELint *ALELint*
|
||||||
|
|
||||||
@ -676,7 +748,7 @@ ALEDetail *ALEDetail*
|
|||||||
A plug mapping `<Plug>(ale_detail)` is defined for this command.
|
A plug mapping `<Plug>(ale_detail)` is defined for this command.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
6. API *ale-api*
|
7. API *ale-api*
|
||||||
|
|
||||||
ale#Queue(delay, [linting_flag]) *ale#Queue()*
|
ale#Queue(delay, [linting_flag]) *ale#Queue()*
|
||||||
|
|
||||||
@ -745,6 +817,17 @@ ale#engine#ManageDirectory(buffer, directory) *ale#engine#ManageDirectory()*
|
|||||||
files.
|
files.
|
||||||
|
|
||||||
|
|
||||||
|
ale#fix#registry#Add(name, func, filetypes, desc) *ale#fix#registry#Add()*
|
||||||
|
|
||||||
|
Given a |String| `name` for a name to add to the registry, a |String| `func`
|
||||||
|
for a function name, a |List| `filetypes` for a list of filetypes to
|
||||||
|
set for suggestions, and a |String| `desc` for a short description of
|
||||||
|
the fixer, register a fixer in the registry.
|
||||||
|
|
||||||
|
The `name` can then be used for |g:ale_fixers| in place of the function
|
||||||
|
name, and suggested for fixing files.
|
||||||
|
|
||||||
|
|
||||||
ale#linter#Define(filetype, linter) *ale#linter#Define()*
|
ale#linter#Define(filetype, linter) *ale#linter#Define()*
|
||||||
|
|
||||||
Given a |String| for a filetype and a |Dictionary| Describing a linter
|
Given a |String| for a filetype and a |Dictionary| Describing a linter
|
||||||
@ -985,13 +1068,13 @@ ALELint *ALELint-autocmd*
|
|||||||
<
|
<
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
7. Special Thanks *ale-special-thanks*
|
8. Special Thanks *ale-special-thanks*
|
||||||
|
|
||||||
Special thanks to Mark Grealish (https://www.bhalash.com/) for providing ALE's
|
Special thanks to Mark Grealish (https://www.bhalash.com/) for providing ALE's
|
||||||
snazzy looking ale glass logo. Cheers, Mark!
|
snazzy looking ale glass logo. Cheers, Mark!
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
8. Contact *ale-contact*
|
9. Contact *ale-contact*
|
||||||
|
|
||||||
If you like this plugin, and wish to get in touch, check out the GitHub
|
If you like this plugin, and wish to get in touch, check out the GitHub
|
||||||
page for issues and more at https://github.com/w0rp/ale
|
page for issues and more at https://github.com/w0rp/ale
|
||||||
|
Loading…
Reference in New Issue
Block a user