diff options
author | w0rp <devw0rp@gmail.com> | 2017-05-26 21:21:15 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-05-26 21:21:15 +0100 |
commit | 00d314196215ea25c8ad0e91d1b023d3ac87ace5 (patch) | |
tree | d98e9d136ed22b766ef8e9c6f07c789441205844 /autoload/ale.vim | |
parent | 28a62aab28fde52651f452c28b273fc595b75ead (diff) | |
download | ale-00d314196215ea25c8ad0e91d1b023d3ac87ace5.zip |
Fix #577 Add an option preventing linting of large files
Diffstat (limited to 'autoload/ale.vim')
-rw-r--r-- | autoload/ale.vim | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/autoload/ale.vim b/autoload/ale.vim index 62a8bf4d..4286e4af 100644 --- a/autoload/ale.vim +++ b/autoload/ale.vim @@ -6,6 +6,13 @@ let s:lint_timer = -1 let s:queued_buffer_number = -1 let s:should_lint_file_for_buffer = {} +" Return 1 if a file is too large for ALE to handle. +function! ale#FileTooLarge() abort + let l:max = ale#Var(bufnr(''), 'maximum_file_size') + + return l:max > 0 ? (line2byte(line('$') + 1) > l:max) : 0 +endfunction + " A function for checking various conditions whereby ALE just shouldn't " attempt to do anything, say if particular buffer types are open in Vim. function! ale#ShouldDoNothing() abort @@ -14,6 +21,8 @@ function! ale#ShouldDoNothing() abort return index(g:ale_filetype_blacklist, &filetype) >= 0 \ || (exists('*getcmdwintype') && !empty(getcmdwintype())) \ || ale#util#InSandbox() + \ || !ale#Var(bufnr(''), 'enabled') + \ || ale#FileTooLarge() endfunction " (delay, [linting_flag]) @@ -29,11 +38,6 @@ function! ale#Queue(delay, ...) abort throw "linting_flag must be either '' or 'lint_file'" endif - " Stop here if ALE is disabled. - if !ale#Var(bufnr(''), 'enabled') - return - endif - if ale#ShouldDoNothing() return endif |