]> 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:

Fix fenced code block syntax when reopening a file
authorHiroshi Shirosaki <h.shirosaki@gmail.com>
Fri, 19 Feb 2016 05:07:14 +0000 (14:07 +0900)
committerHiroshi Shirosaki <h.shirosaki@gmail.com>
Fri, 19 Feb 2016 05:09:02 +0000 (14:09 +0900)
Fix #259

ftplugin/markdown.vim
test/syntax.vader

index e189ec4fce262bfa439d1c5a2272f03ad5fd58f7..c7fba7fae6bdf275344714e9426a7ca5c3dd471d 100644 (file)
@@ -706,9 +706,16 @@ function! s:MarkdownRefreshSyntax(force)
     endif
 endfunction
 
+function! s:MarkdownClearSyntaxVariables()
+    if &filetype == 'markdown'
+        unlet! b:mkd_included_filetypes
+    endif
+endfunction
+
 augroup Mkd
     autocmd!
     au BufWinEnter * call s:MarkdownRefreshSyntax(1)
+    au BufUnload * call s:MarkdownClearSyntaxVariables()
     au BufWritePost * call s:MarkdownRefreshSyntax(0)
     au InsertEnter,InsertLeave * call s:MarkdownRefreshSyntax(0)
     au CursorHold,CursorHoldI * call s:MarkdownRefreshSyntax(0)
index 98548a0562ceef7e26ad8aab09c2ff3d0f34149c..fda56e05c1d82a279696dbc7f2882367fef8be55 100644 (file)
@@ -437,6 +437,22 @@ Execute (fenced code block languages setting):
   AssertEqual SyntaxOf('foo'), 'csString'
   unlet g:vim_markdown_fenced_languages
 
+Given markdown;
+```vim
+let g:a = 1
+```
+
+Execute (fenced code block includes language syntax with reopening same buffer):
+  let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax')
+  call b:func(0)
+  split
+  quit
+  edit
+  set filetype=markdown
+  execute "normal! i```vim\<cr>let g:a = 1\<cr>```"
+  call b:func(1)
+  AssertEqual SyntaxOf('g:a'), 'vimVar'
+
 Given markdown;
 ```a+b-
 code