X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/a3f273839d1b45fe73b3bc48e1d7a8c6d1422187..b30a4067f2865a5fd1edb28522bc927f8c9bb2a6:/syntax/markdown.vim?ds=sidebyside
diff --git a/syntax/markdown.vim b/syntax/markdown.vim
index 05cf751..ee954e0 100644
--- a/syntax/markdown.vim
+++ b/syntax/markdown.vim
@@ -42,12 +42,17 @@ if has('conceal')
endif
"additions to HTML groups
-syn region htmlItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]" end="[^\\\*\t ]\zs\*\ze\_W" keepend
-syn region htmlItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend
-syn region htmlBold start="\*\*\ze\S" end="\S\zs\*\*" keepend
-syn region htmlBold start="__\ze\S" end="\S\zs__" keepend
-syn region htmlBoldItalic start="\*\*\*\ze\S" end="\S\zs\*\*\*" keepend
-syn region htmlBoldItalic start="___\ze\S" end="\S\zs___" keepend
+if get(g:, "vim_markdown_emphasis_multiline", 1)
+ let oneline = ""
+else
+ let oneline = " oneline"
+endif
+execute 'syn region htmlItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]" end="[^\\\*\t ]\zs\*\ze\_W" keepend' . oneline
+execute 'syn region htmlItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend' . oneline
+execute 'syn region htmlBold start="\*\*\ze\S" end="\S\zs\*\*" keepend' . oneline
+execute 'syn region htmlBold start="__\ze\S" end="\S\zs__" keepend' . oneline
+execute 'syn region htmlBoldItalic start="\*\*\*\ze\S" end="\S\zs\*\*\*" keepend' . oneline
+execute 'syn region htmlBoldItalic start="___\ze\S" end="\S\zs___" keepend' . oneline
" [link](URL) | [link][id] | [link][] | ![image](URL)
syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]"
@@ -88,11 +93,11 @@ syn match mkdLineBreak / \+$/
syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineBreak,@Spell
syn region mkdCode start=/\(\([^\\]\|^\)\\\)\@]*>" end=""
-syn region mkdCode start="]*>" end="
"
+syn region mkdCode start="
]*\\\@" end="" +syn region mkdCode start="
]*\\\@" end="
"
syn region mkdFootnote start="\[^" end="\]"
syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/
syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/
@@ -124,9 +129,13 @@ if get(g:, 'vim_markdown_toml_frontmatter', 0)
endif
if get(g:, 'vim_markdown_json_frontmatter', 0)
- syn include @jsonTop syntax/json.vim
- syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" contains=@jsonTop
- unlet! b:current_syntax
+ try
+ syn include @jsonTop syntax/json.vim
+ syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" contains=@jsonTop
+ unlet! b:current_syntax
+ catch /E484/
+ syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$"
+ endtry
endif
if get(g:, 'vim_markdown_math', 0)