summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md47
-rw-r--r--doc/ale.txt80
2 files changed, 115 insertions, 12 deletions
diff --git a/README.md b/README.md
index 9dfad05d..47e6c8c9 100644
--- a/README.md
+++ b/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>
diff --git a/doc/ale.txt b/doc/ale.txt
index eb31b829..8c544423 100644
--- a/doc/ale.txt
+++ b/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