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/javascript/eslint.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ale_linters/javascript/eslint.vim') diff --git a/ale_linters/javascript/eslint.vim b/ale_linters/javascript/eslint.vim index 94d14e6b..d140a957 100644 --- a/ale_linters/javascript/eslint.vim +++ b/ale_linters/javascript/eslint.vim @@ -49,14 +49,14 @@ function! ale_linters#javascript#eslint#Handle(buffer, lines) return output endfunction -call ALEAddLinter('javascript', { +call ale#linter#Define('javascript', { \ 'name': 'eslint', \ 'executable': g:ale_javascript_eslint_executable, \ 'command': g:ale_javascript_eslint_executable . ' -f unix --stdin --stdin-filename %s', \ 'callback': 'ale_linters#javascript#eslint#Handle', \}) -call ALEAddLinter('javascript.jsx', { +call ale#linter#Define('javascript.jsx', { \ 'name': 'eslint', \ 'executable': g:ale_javascript_eslint_executable, \ 'command': g:ale_javascript_eslint_executable . ' -f unix --stdin --stdin-filename %s', -- cgit v1.2.3