]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Force syntax highlighting on buffer reload
authorMatt Ellis <m.t.ellis@gmail.com>
Thu, 11 Sep 2014 16:16:22 +0000 (17:16 +0100)
committerHiroshi Shirosaki <h.shirosaki@gmail.com>
Wed, 13 Jan 2016 16:11:56 +0000 (01:11 +0900)
plugin/mkd.vim

index a3697900aec5b435a7259da86776d415e54e135a..15f4b4a72efb6efae3c38997e6785b1a4fcf999a 100644 (file)
@@ -1,5 +1,5 @@
 " Heavily based on vim-notes - http://peterodding.com/code/vim/notes/
 " Heavily based on vim-notes - http://peterodding.com/code/vim/notes/
-function! s:Markdown_highlight_sources()
+function! s:Markdown_highlight_sources(force)
     " Syntax highlight source code embedded in notes.
     " Look for code blocks in the current file
     let filetypes = {}
     " Syntax highlight source code embedded in notes.
     " Look for code blocks in the current file
     let filetypes = {}
@@ -10,7 +10,7 @@ function! s:Markdown_highlight_sources()
     if !exists('b:mkd_known_filetypes')
         let b:mkd_known_filetypes = {}
     endif
     if !exists('b:mkd_known_filetypes')
         let b:mkd_known_filetypes = {}
     endif
-    if b:mkd_known_filetypes == filetypes || empty(filetypes)
+    if !a:force && (b:mkd_known_filetypes == filetypes || empty(filetypes))
         return
     endif
 
         return
     endif
 
@@ -18,7 +18,7 @@ function! s:Markdown_highlight_sources()
     let startgroup = 'mkdCodeStart'
     let endgroup = 'mkdCodeEnd'
     for ft in keys(filetypes)
     let startgroup = 'mkdCodeStart'
     let endgroup = 'mkdCodeEnd'
     for ft in keys(filetypes)
-        if !has_key(b:mkd_known_filetypes, ft)
+        if a:force || !has_key(b:mkd_known_filetypes, ft)
 
             let group = 'mkdSnippet' . toupper(ft)
             let include = s:syntax_include(ft)
 
             let group = 'mkdSnippet' . toupper(ft)
             let include = s:syntax_include(ft)
@@ -56,16 +56,16 @@ function! s:syntax_include(filetype)
 endfunction
 
 
 endfunction
 
 
-function! s:Markdown_refresh_syntax()
+function! s:Markdown_refresh_syntax(force)
     if &filetype == 'mkd' && line('$') > 1
     if &filetype == 'mkd' && line('$') > 1
-        call s:Markdown_highlight_sources()
+        call s:Markdown_highlight_sources(a:force)
     endif
 endfunction
 
 augroup Mkd
     autocmd!
     endif
 endfunction
 
 augroup Mkd
     autocmd!
-    au BufReadPost * call s:Markdown_refresh_syntax()
-    au BufReadPost,BufWritePost * call s:Markdown_refresh_syntax()
-    au InsertEnter,InsertLeave * call s:Markdown_refresh_syntax()
-    au CursorHold,CursorHoldI * call s:Markdown_refresh_syntax()
+    au BufReadPost * call s:Markdown_refresh_syntax(1)
+    au BufWritePost * call s:Markdown_refresh_syntax(0)
+    au InsertEnter,InsertLeave * call s:Markdown_refresh_syntax(0)
+    au CursorHold,CursorHoldI * call s:Markdown_refresh_syntax(0)
 augroup END
 augroup END