diff options
author | Bjorn Neergaard <bjorn@neersighted.com> | 2016-10-10 13:51:29 -0500 |
---|---|---|
committer | w0rp <w0rp@users.noreply.github.com> | 2016-10-10 19:51:29 +0100 |
commit | 7f0ce89d2b574fd5bdd0c050eaad92deeb63086d (patch) | |
tree | c508480ff3ccbf36ef7283610fdcaefe476ae6e1 /doc/ale.txt | |
parent | 0680f875fe9ef07daceb3e9a90224bee613730df (diff) | |
download | ale-7f0ce89d2b574fd5bdd0c050eaad92deeb63086d.zip |
First pass at optimizing ale to autoload (#80)
* First pass at optimizing ale to autoload
First off, the structure/function names should be revised a bit,
but I will wait for @w0rp's input before unifying the naming style.
Second off, the docs probably need some more work, I just did some
simple find-and-replace work.
With that said, this pull brings major performance gains for ale. On my
slowest system, fully loading ale and all its code takes around 150ms.
I have moved all of ale's autoload-able code to autoload/, and in
addition, implemented lazy-loading of linters. This brings load time on
that same system down to 5ms.
The only downside of lazy loading is that `g:ale_linters` cannot be
changed at runtime; however, it also speeds up performance at runtime by
simplfying the logic greatly.
Please let me know what you think!
Closes #59
* Address Travis/Vint errors
For some reason, ale isn't running vint for me...
* Incorporate feedback, make fixes
Lazy-loading logic is much improved.
* Add header comments; remove incorrect workaround
* Remove unneeded plugin guards
* Fix lazy-loading linter logic
Set the wrong variable....
* Fix capitialization
Diffstat (limited to 'doc/ale.txt')
-rw-r--r-- | doc/ale.txt | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/doc/ale.txt b/doc/ale.txt index bfe3cd8e..d7c5d25e 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -289,11 +289,30 @@ g:ale_statusline_format *g:ale_statusline_format* Type: |List| Default: `['%d error(s)', '%d warning(s)', 'OK']` - This variable defines the format of |`ALEGetStatusLine()`| output. + This variable defines the format of |`ale#statusline#status()`| output. - The 1st element is for errors - The 2nd element is for warnings - The 3rd element is for when no errors are detected +g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled* + + Type: |Number| + Default: `1` + + Enables or disables the |airline|'s native extension for ale, which displays + warnings and errors in the status line, prefixed by + |airline#extensions#ale#error_symbol| and + |airline#extensions#ale#warning_symbol|. + +g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled* + + Type: |Number| + Default: `1` + + Enables or disables the |airline|'s native extension for ale, which displays + warnings and errors in the status line, prefixed by + |airline#extensions#ale#error_symbol| and + |airline#extensions#ale#warning_symbol|. =============================================================================== 4. Linter Specific Options *ale-linter-options* @@ -413,14 +432,14 @@ g:ale_javascript_jshint_executable *g:ale_javascript_jshint_executable* =============================================================================== 5. API *ale-api* -ALELint(delay) *ALELint()* +ale#Queue(delay) *ale#Queue()* Run linters for the current buffer, based on the filetype of the buffer, with a given `delay`. A `delay` of `0` will run the linters immediately. The linters will always be run in the background. Calling this function again from the same buffer -ALEAddLinter(filetype, linter) *ALEAddLinter()* +ale#linter#Define(filetype, linter) *ale#linter#Define()* Given a |String| for a filetype and a |Dictionary| Describing a linter configuration, add a linter for the given filetype. The dictionaries each offer the following options: @@ -492,21 +511,21 @@ ALEAddLinter(filetype, linter) *ALEAddLinter()* 'command': g:ale#util#stdin_wrapper . ' .hs ghc -fno-code -v0', < -ALEGetLinters(filetype) *ALEGetLinters()* +ale#linter#Get(filetype) *ale#linter#Get()* Return all of linters configured for a given filetype as a |List| of - |Dictionary| values in the format specified by |ALEAddLinter()|. + |Dictionary| values in the format specified by |ale#linter#Define()|. -ALEGetStatusLine() *ALEGetStatusLine()* +ale#statusline#Status() *ale#statusline#Status()* Return a formatted string that can be added to the statusline. The output's format is defined in |`g:ale_statusline_format`|. To enable it, the following should be present in your |statusline| settings: > - %{ALEGetStatusLine()} + %{ale#statusline#status()} g:ale#util#stdin_wrapper *g:ale#util#stdin_wrapper* This variable names a wrapper script for sending stdin input to programs - which cannot accept input via stdin. See |ALEAddLinter| for more. + which cannot accept input via stdin. See |ale#linter#Define()| for more. =============================================================================== |