From 7f0ce89d2b574fd5bdd0c050eaad92deeb63086d Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Mon, 10 Oct 2016 13:51:29 -0500 Subject: 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 --- ale_linters/html/htmlhint.vim | 2 +- ale_linters/html/tidy.vim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'ale_linters/html') diff --git a/ale_linters/html/htmlhint.vim b/ale_linters/html/htmlhint.vim index 8cfe1f28..57eff0ec 100644 --- a/ale_linters/html/htmlhint.vim +++ b/ale_linters/html/htmlhint.vim @@ -40,7 +40,7 @@ function! ale_linters#html#htmlhint#Handle(buffer, lines) abort return output endfunction -call ALEAddLinter('html', { +call ale#linter#Define('html', { \ 'name': 'htmlhint', \ 'executable': 'htmlhint', \ 'command': 'htmlhint --format=unix stdin', diff --git a/ale_linters/html/tidy.vim b/ale_linters/html/tidy.vim index b5621f91..c1aab8f3 100644 --- a/ale_linters/html/tidy.vim +++ b/ale_linters/html/tidy.vim @@ -71,7 +71,7 @@ function! ale_linters#html#tidy#Handle(buffer, lines) abort return output endfunction -call ALEAddLinter('html', { +call ale#linter#Define('html', { \ 'name': 'tidy', \ 'executable': g:ale_html_tidy_executable, \ 'output_stream': 'stderr', -- cgit v1.2.3