dot_files/vim-plugins/temp-unloaded-plugins/eclim/autoload/eclim/common/largefile.vim
2018-02-14 00:00:02 +00:00

58 lines
1.8 KiB
VimL

" Author: Eric Van Dewoestine
"
" Description: {{{
" Initially based on vimscript 1506
"
" License:
"
" Copyright (C) 2005 - 2012 Eric Van Dewoestine
"
" This program is free software: you can redistribute it and/or modify
" it under the terms of the GNU General Public License as published by
" the Free Software Foundation, either version 3 of the License, or
" (at your option) any later version.
"
" This program is distributed in the hope that it will be useful,
" but WITHOUT ANY WARRANTY; without even the implied warranty of
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
" GNU General Public License for more details.
"
" You should have received a copy of the GNU General Public License
" along with this program. If not, see <http://www.gnu.org/licenses/>.
"
" }}}
" Script Settings {{{
let s:file_size = g:EclimLargeFileSize * 1024 * 1024
let s:events = ['BufRead', 'CursorHold', 'FileType']
" }}}
function! eclim#common#largefile#InitSettings() " {{{
let file = expand("<afile>")
let size = getfsize(file)
if size >= s:file_size || size == -2
if !exists('b:save_events')
let b:save_events = &eventignore
call s:ApplySettings()
setlocal noswapfile nowrap bufhidden=unload
autocmd eclim_largefile BufEnter,BufWinEnter <buffer> call <SID>ApplySettings()
autocmd eclim_largefile BufLeave,BufWinLeave <buffer> call <SID>RevertSettings()
endif
endif
endfunction " }}}
function! s:ApplySettings() " {{{
let &eventignore=join(s:events, ',')
if !exists('b:largefile_notified')
let b:largefile_notified = 1
call eclim#util#Echo('Note: Large file settings applied.')
endif
endfunction " }}}
function! s:RevertSettings() " {{{
if exists('b:save_events')
let &eventignore=b:save_events
endif
endfunction " }}}
" vim:ft=vim:fdm=marker