Add options to facilitate linting only in normal mode (#425)

* [#420] Add options to facilitate linting only in normal mode

ale_lint_on_text_changed:
Allow setting to 'insert' or 'normal' to lint when text is changed only in
insert or normal mode respectively.

ale_lint_on_insert_leave:
This flag can be set to 1 to enable linting when leaving insert mode.

* [#420] Test updated global options

Ale should
- bind to TextChanged events when g:ale_lint_on_text_changed = 1
- bind to TextChanged events when g:ale_lint_on_text_changed = 'always'
- bind to InsertLeave event when g:ale_lint_on_insert_leave = 1
This commit is contained in:
taylorskalyo
2017-03-30 18:21:37 -04:00
committed by w0rp
parent 3a74d242f9
commit 36f9631512
5 changed files with 113 additions and 18 deletions

View File

@@ -286,7 +286,7 @@ g:ale_lint_delay *g:ale_lint_delay*
This variable controls the milliseconds delay after which the linters will
be run after text is changed. This option is only meaningful with the
|g:ale_lint_on_text_changed| variable set to `1`.
|g:ale_lint_on_text_changed| variable set to `always`, `insert`, or `normal`.
g:ale_lint_on_enter *g:ale_lint_on_enter*
@@ -325,17 +325,27 @@ g:ale_lint_on_save *g:ale_lint_on_save*
g:ale_lint_on_text_changed *g:ale_lint_on_text_changed*
Type: |Number|
Default: `1`
Type: |String|
Default: `always`
By default, ALE will check files with the various supported programs when
text is changed by using the |TextChanged| event. If this behaviour is not
desired, then this option can be disabled by setting it to 0. The
desired, then this option can be disabled by setting it to `never`. The
|g:ale_lint_delay| variable will be used to set a |timer_start()| on a
delay, and each change to a file will continue to call |timer_stop()| and
|timer_start()| repeatedly until the timer ticks by, and the linters will be
run. The checking of files will run in the background, so it should not
inhibit editing files.
inhibit editing files. This option can also be set to `insert` or `normal`
to lint when text is changed only in insert or normal mode respectively.
g:ale_lint_on_insert_leave *g:ale_lint_on_insert_leave*
Type: |Number|
Default: `0`
This option will make ALE run the linters whenever leaving insert mode when
it it set to `1` in your vimrc file.
g:ale_linter_aliases *g:ale_linter_aliases*