Register autocmds once
This commit changes the autocmd registration in vimwiki so that registration happens once rather than once per extension. Instead of the following, autocmd BufEnter *.md call s:setup_buffer_enter() autocmd BufEnter *.mdown call s:setup_buffer_enter() We'll now only run, autocmd BufEnter *.md,*.mdown call s:setup_buffer_enter() This probably has no effect on performance but it makes for a simpler implementation.
This commit is contained in:
parent
28d78b0d39
commit
152a7bfdf1
@ -3457,6 +3457,7 @@ Contributors and their Github usernames in roughly chronological order:
|
|||||||
- Alexander Gude (@agude)
|
- Alexander Gude (@agude)
|
||||||
- Jonny Bylsma (@jbylsma)
|
- Jonny Bylsma (@jbylsma)
|
||||||
- Shaedil (@Shaedil)
|
- Shaedil (@Shaedil)
|
||||||
|
- Abhinav Gupta (@abhinav)
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
@ -308,33 +308,34 @@ endif
|
|||||||
augroup vimwiki
|
augroup vimwiki
|
||||||
autocmd!
|
autocmd!
|
||||||
autocmd ColorScheme * call s:setup_cleared_syntax()
|
autocmd ColorScheme * call s:setup_cleared_syntax()
|
||||||
for s:ext in s:known_extensions
|
|
||||||
exe 'autocmd BufNewFile,BufRead *'.s:ext.' call s:setup_new_wiki_buffer()'
|
" ['.md', '.mdown'] => *.md,*.mdown
|
||||||
exe 'autocmd BufEnter *'.s:ext.' call s:setup_buffer_enter()'
|
let pat = join(map(s:known_extensions, '"*" . v:val'), ',')
|
||||||
exe 'autocmd BufLeave *'.s:ext.' call s:setup_buffer_leave()'
|
exe 'autocmd BufNewFile,BufRead '.pat.' call s:setup_new_wiki_buffer()'
|
||||||
exe 'autocmd BufWinEnter *'.s:ext.' call s:setup_buffer_win_enter()'
|
exe 'autocmd BufEnter '.pat.' call s:setup_buffer_enter()'
|
||||||
|
exe 'autocmd BufLeave '.pat.' call s:setup_buffer_leave()'
|
||||||
|
exe 'autocmd BufWinEnter '.pat.' call s:setup_buffer_win_enter()'
|
||||||
if exists('##DiffUpdated')
|
if exists('##DiffUpdated')
|
||||||
exe 'autocmd DiffUpdated *'.s:ext.' call s:setup_buffer_win_enter()'
|
exe 'autocmd DiffUpdated '.pat.' call s:setup_buffer_win_enter()'
|
||||||
endif
|
endif
|
||||||
" automatically generate a level 1 header for new files
|
" automatically generate a level 1 header for new files
|
||||||
exe 'autocmd BufNewFile *'.s:ext.' call s:create_h1(expand("%:p"))'
|
exe 'autocmd BufNewFile '.pat.' call s:create_h1(expand("%:p"))'
|
||||||
" Format tables when exit from insert mode. Do not use textwidth to
|
" Format tables when exit from insert mode. Do not use textwidth to
|
||||||
" autowrap tables.
|
" autowrap tables.
|
||||||
if vimwiki#vars#get_global('table_auto_fmt')
|
if vimwiki#vars#get_global('table_auto_fmt')
|
||||||
exe 'autocmd InsertLeave *'.s:ext.' call vimwiki#tbl#format(line("."), 2)'
|
exe 'autocmd InsertLeave '.pat.' call vimwiki#tbl#format(line("."), 2)'
|
||||||
exe 'autocmd InsertEnter *'.s:ext.' call vimwiki#tbl#reset_tw(line("."))'
|
exe 'autocmd InsertEnter '.pat.' call vimwiki#tbl#reset_tw(line("."))'
|
||||||
endif
|
endif
|
||||||
if vimwiki#vars#get_global('folding') =~? ':quick$'
|
if vimwiki#vars#get_global('folding') =~? ':quick$'
|
||||||
" from http://vim.wikia.com/wiki/Keep_folds_closed_while_inserting_text
|
" from http://vim.wikia.com/wiki/Keep_folds_closed_while_inserting_text
|
||||||
" Don't screw up folds when inserting text that might affect them, until
|
" Don't screw up folds when inserting text that might affect them, until
|
||||||
" leaving insert mode. Foldmethod is local to the window. Protect against
|
" leaving insert mode. Foldmethod is local to the window. Protect against
|
||||||
" screwing up folding when switching between windows.
|
" screwing up folding when switching between windows.
|
||||||
exe 'autocmd InsertEnter *'.s:ext.' if !exists("w:last_fdm") | let w:last_fdm=&foldmethod'.
|
exe 'autocmd InsertEnter '.pat.' if !exists("w:last_fdm") | let w:last_fdm=&foldmethod'.
|
||||||
\ ' | setlocal foldmethod=manual | endif'
|
\ ' | setlocal foldmethod=manual | endif'
|
||||||
exe 'autocmd InsertLeave,WinLeave *'.s:ext.' if exists("w:last_fdm") |'.
|
exe 'autocmd InsertLeave,WinLeave '.pat.' if exists("w:last_fdm") |'.
|
||||||
\ 'let &l:foldmethod=w:last_fdm | unlet w:last_fdm | endif'
|
\ 'let &l:foldmethod=w:last_fdm | unlet w:last_fdm | endif'
|
||||||
endif
|
endif
|
||||||
endfor
|
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user