Merge branch 'abhinav-dev' into dev

This commit changes the autocmd registration in vimwiki so that
registration happens once rather than once per extension. PR #742
This commit is contained in:
Rane Brown 2019-08-28 03:50:47 -06:00
commit ba84981b5a
2 changed files with 30 additions and 28 deletions

View File

@ -3463,6 +3463,7 @@ Contributors and their Github usernames in roughly chronological order:
- Jonny Bylsma (@jbylsma) - Jonny Bylsma (@jbylsma)
- Shaedil (@Shaedil) - Shaedil (@Shaedil)
- Robin Lowe (@defau1t) - Robin Lowe (@defau1t)
- Abhinav Gupta (@abhinav)
============================================================================== ==============================================================================
@ -3478,7 +3479,6 @@ https://github.com/vimwiki-backup/vimwiki/issues.
2.5 (in progress)~ 2.5 (in progress)~
New:~ New:~
* PR #744: Fix typo in vimwiki_list_manipulation
* PR #711: Allow forcing VimwikiAll2HTML with ! * PR #711: Allow forcing VimwikiAll2HTML with !
* PR #702: Make remapping documentation more accessible to newer vim users * PR #702: Make remapping documentation more accessible to newer vim users
* PR #673: Add :VimwikiGoto key mapping. * PR #673: Add :VimwikiGoto key mapping.
@ -3544,6 +3544,7 @@ Removed:~
point. point.
Fixed:~ Fixed:~
* PR #744: Fix typo in vimwiki_list_manipulation
* Issue #715: s:clean_url is compatible with vim pre 7.4.1546 (sticky type * Issue #715: s:clean_url is compatible with vim pre 7.4.1546 (sticky type
checking) checking)
* Issue #729: Normalize links uses relative paths in diary pages for * Issue #729: Normalize links uses relative paths in diary pages for

View File

@ -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