summaryrefslogtreecommitdiff
path: root/autoload/ale.vim
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-05-26 21:21:15 +0100
committerw0rp <devw0rp@gmail.com>2017-05-26 21:21:15 +0100
commit00d314196215ea25c8ad0e91d1b023d3ac87ace5 (patch)
treed98e9d136ed22b766ef8e9c6f07c789441205844 /autoload/ale.vim
parent28a62aab28fde52651f452c28b273fc595b75ead (diff)
downloadale-00d314196215ea25c8ad0e91d1b023d3ac87ace5.zip
Fix #577 Add an option preventing linting of large files
Diffstat (limited to 'autoload/ale.vim')
-rw-r--r--autoload/ale.vim14
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