Document completion support for ALE, and expand the fixer documentation a little
This commit is contained in:
parent
0a282eb76a
commit
2365fd2948
2 changed files with 115 additions and 12 deletions
47
README.md
47
README.md
|
@ -22,6 +22,9 @@ background with a command `ALEFix`.
|
|||
|
||||
1. [Supported Languages and Tools](#supported-languages)
|
||||
2. [Usage](#usage)
|
||||
1. [Linting](#usage-linting)
|
||||
2. [Fixing](#usage-fixing)
|
||||
3. [Completion](#usage-completion)
|
||||
3. [Installation](#installation)
|
||||
1. [Installation with Vim package management](#standard-installation)
|
||||
2. [Installation with Pathogen](#installation-with-pathogen)
|
||||
|
@ -136,6 +139,10 @@ name. That seems to be the fairest way to arrange this table.
|
|||
|
||||
## 2. Usage
|
||||
|
||||
<a name="usage-linting"></a>
|
||||
|
||||
### 2.i Linting
|
||||
|
||||
Once this plugin is installed, while editing your files in supported
|
||||
languages and tools which have been correctly installed,
|
||||
this plugin will send the contents of your text buffers to a variety of
|
||||
|
@ -148,8 +155,46 @@ 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
|
||||
ale-linter-options` for options specified to particular linters.
|
||||
|
||||
<a name="usage-fixing"></a>
|
||||
|
||||
### 2.ii Fixing
|
||||
|
||||
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`.
|
||||
for different filetypes with the `g:ale_fixers` variable. For example, the
|
||||
following code can be used to fix JavaScript code with ESLint:
|
||||
|
||||
```vim
|
||||
" Put this in vimrc or a plugin file of your own.
|
||||
" After this is configured, :ALEFix will try and fix your JS code with ESLint.
|
||||
let g:ale_fixers = {
|
||||
\ 'javascript': ['eslint'],
|
||||
\}
|
||||
|
||||
" Set this setting in vimrc if you want to fix files automatically on save.
|
||||
" This is off by default.
|
||||
let g:ale_fix_on_save = 1
|
||||
```
|
||||
|
||||
The `:ALEFixSuggest` command will suggest some supported tools for fixing code,
|
||||
but fixers can be also implemented with functions, including lambda functions
|
||||
too. See `:help ale-fix` for detailed information.
|
||||
|
||||
<a name="usage-completion"></a>
|
||||
|
||||
### 2.iii Completion
|
||||
|
||||
ALE offers some support for completion via hijacking of omnicompletion while you
|
||||
type. All of ALE's completion information must come from Language Server
|
||||
Protocol linters, or similar protocols. At the moment, completion is only
|
||||
supported for TypeScript code with `tsserver`, when `tsserver` is enabled. You
|
||||
can enable completion like so:
|
||||
|
||||
```vim
|
||||
" Enable completion where available.
|
||||
let g:ale_completion_enabled = 1
|
||||
```
|
||||
|
||||
See `:help ale-completion` for more information.
|
||||
|
||||
<a name="installation"></a>
|
||||
|
||||
|
|
80
doc/ale.txt
80
doc/ale.txt
|
@ -11,7 +11,8 @@ CONTENTS *ale-contents*
|
|||
3. Global Options.......................|ale-options|
|
||||
3.1 Highlights........................|ale-highlights|
|
||||
4. Fixing Problems......................|ale-fix|
|
||||
5. Integration Documentation............|ale-integrations|
|
||||
5. Completion...........................|ale-completion|
|
||||
6. Integration Documentation............|ale-integrations|
|
||||
asm...................................|ale-asm-options|
|
||||
gcc.................................|ale-asm-gcc|
|
||||
c.....................................|ale-c-options|
|
||||
|
@ -132,10 +133,10 @@ CONTENTS *ale-contents*
|
|||
yaml..................................|ale-yaml-options|
|
||||
swaglint............................|ale-yaml-swaglint|
|
||||
yamllint............................|ale-yaml-yamllint|
|
||||
6. Commands/Keybinds....................|ale-commands|
|
||||
7. API..................................|ale-api|
|
||||
8. Special Thanks.......................|ale-special-thanks|
|
||||
9. Contact..............................|ale-contact|
|
||||
7. Commands/Keybinds....................|ale-commands|
|
||||
8. API..................................|ale-api|
|
||||
9. Special Thanks.......................|ale-special-thanks|
|
||||
10. Contact.............................|ale-contact|
|
||||
|
||||
===============================================================================
|
||||
1. Introduction *ale-introduction*
|
||||
|
@ -271,6 +272,44 @@ g:ale_change_sign_column_color *g:ale_change_sign_column_color*
|
|||
windows.
|
||||
|
||||
|
||||
g:ale_completion_delay *g:ale_completion_delay*
|
||||
|
||||
Type: |Number|
|
||||
Default: `100`
|
||||
|
||||
The number of milliseconds before ALE will send a request to a language
|
||||
server for completions after you have finished typing.
|
||||
|
||||
See |ale-completion|
|
||||
|
||||
|
||||
g:ale_completion_enabled *g:ale_completion_enabled*
|
||||
|
||||
Type: |Number|
|
||||
Default: `0`
|
||||
|
||||
When this option is set to `1`, completion support will be enabled.
|
||||
|
||||
See |ale-completion|
|
||||
|
||||
|
||||
g:ale_completion_max_suggestions *g:ale_completion_max_suggestions*
|
||||
|
||||
Type: |Number|
|
||||
Default: `20`
|
||||
|
||||
The maximum number of items ALE will suggest in completion menus for
|
||||
automatic completion.
|
||||
|
||||
Setting this number higher will require more processing time, and may
|
||||
suggest too much noise. Setting this number lower will require less
|
||||
processing time, but some suggestions will not be included, so you might not
|
||||
be able to see the suggestions you want.
|
||||
|
||||
Adjust this option as needed, depending on the complexity of your codebase
|
||||
and your available processing power.
|
||||
|
||||
|
||||
g:ale_echo_cursor *g:ale_echo_cursor*
|
||||
|
||||
Type: |Number|
|
||||
|
@ -410,7 +449,7 @@ g:ale_keep_list_window_open *g:ale_keep_list_window_open*
|
|||
the loclist or quicfix windows will be closed automatically when there
|
||||
are no warnings or errors.
|
||||
|
||||
See: |g:ale_open_list|
|
||||
See |g:ale_open_list|
|
||||
|
||||
|
||||
g:ale_list_window_size *g:ale_list_window_size*
|
||||
|
@ -1031,7 +1070,26 @@ by default.
|
|||
|
||||
|
||||
===============================================================================
|
||||
5. Integration Documentation *ale-integrations*
|
||||
5. Completion *ale-completion*
|
||||
|
||||
ALE offers some limited support for automatic completion of code while you
|
||||
type. Completion is only supported via Language Server Protocol servers which
|
||||
ALE can connect to for linting, which can offer good built-in support for
|
||||
suggesting completion information. ALE will only suggest symbols for
|
||||
completion for LSP linters that are enabled.
|
||||
|
||||
NOTE: At the moment, only `tsserver` for TypeScript code is supported for
|
||||
completion.
|
||||
|
||||
Suggestions will be made while you type after completion is enabled.
|
||||
Completion can be enabled by setting |g:ale_completion_enabled| to `1`. The
|
||||
delay for completion can be configured with |g:ale_completion_delay|. ALE will
|
||||
only suggest so many possible matches for completion. The maximum number of
|
||||
items can be controlled with |g:ale_completion_max_suggestions|.
|
||||
|
||||
|
||||
===============================================================================
|
||||
6. Integration Documentation *ale-integrations*
|
||||
|
||||
Linter and fixer options are documented in individual help files. See the
|
||||
table of contents at |ale-contents|.
|
||||
|
@ -1064,7 +1122,7 @@ ALE will use to search for Python executables.
|
|||
|
||||
|
||||
===============================================================================
|
||||
6. Commands/Keybinds *ale-commands*
|
||||
7. Commands/Keybinds *ale-commands*
|
||||
|
||||
ALEFix *ALEFix*
|
||||
|
||||
|
@ -1167,7 +1225,7 @@ ALEInfoToClipboard *ALEInfoToClipboard*
|
|||
|
||||
|
||||
===============================================================================
|
||||
7. API *ale-api*
|
||||
8. API *ale-api*
|
||||
|
||||
ale#Queue(delay, [linting_flag, buffer_number]) *ale#Queue()*
|
||||
|
||||
|
@ -1557,13 +1615,13 @@ ALELint *ALELint-autocmd*
|
|||
echoing messges.
|
||||
|
||||
===============================================================================
|
||||
8. Special Thanks *ale-special-thanks*
|
||||
9. Special Thanks *ale-special-thanks*
|
||||
|
||||
Special thanks to Mark Grealish (https://www.bhalash.com/) for providing ALE's
|
||||
snazzy looking ale glass logo. Cheers, Mark!
|
||||
|
||||
===============================================================================
|
||||
9. Contact *ale-contact*
|
||||
10. Contact *ale-contact*
|
||||
|
||||
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
|
||||
|
|
Reference in a new issue