summaryrefslogtreecommitdiffstats
path: root/ftplugin/markdown.vim
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin/markdown.vim')
-rw-r--r--ftplugin/markdown.vim8
1 files changed, 5 insertions, 3 deletions
diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim
index 7ed65fe8..d3129a87 100644
--- a/ftplugin/markdown.vim
+++ b/ftplugin/markdown.vim
@@ -792,7 +792,7 @@ function! s:MarkdownHighlightSources(force)
" Look for code blocks in the current file
let filetypes = {}
for line in getline(1, '$')
- let ft = matchstr(line, '```\s*\zs[0-9A-Za-z_+-]*\ze.*')
+ let ft = matchstr(line, '\(`\{3,}\|\~\{3,}\)\s*\zs[0-9A-Za-z_+-]*\ze.*')
if !empty(ft) && ft !~# '^\d*$' | let filetypes[ft] = 1 | endif
endfor
if !exists('b:mkd_known_filetypes')
@@ -823,8 +823,10 @@ function! s:MarkdownHighlightSources(force)
else
let include = '@' . toupper(filetype)
endif
- let command = 'syntax region %s matchgroup=%s start="^\s*```\s*%s.*$" matchgroup=%s end="\s*```$" keepend contains=%s%s'
- execute printf(command, group, startgroup, ft, endgroup, include, has('conceal') && get(g:, 'vim_markdown_conceal', 1) && get(g:, 'vim_markdown_conceal_code_blocks', 1) ? ' concealends' : '')
+ let command_backtick = 'syntax region %s matchgroup=%s start="^\s*`\{3,}\s*%s.*$" matchgroup=%s end="\s*`\{3,}$" keepend contains=%s%s'
+ let command_tilde = 'syntax region %s matchgroup=%s start="^\s*\~\{3,}\s*%s.*$" matchgroup=%s end="\s*\~\{3,}$" keepend contains=%s%s'
+ execute printf(command_backtick, group, startgroup, ft, endgroup, include, has('conceal') && get(g:, 'vim_markdown_conceal', 1) && get(g:, 'vim_markdown_conceal_code_blocks', 1) ? ' concealends' : '')
+ execute printf(command_tilde, group, startgroup, ft, endgroup, include, has('conceal') && get(g:, 'vim_markdown_conceal', 1) && get(g:, 'vim_markdown_conceal_code_blocks', 1) ? ' concealends' : '')
execute printf('syntax cluster mkdNonListItem add=%s', group)
let b:mkd_known_filetypes[ft] = 1