X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/8f0d87271de5f99bac7078ebcd123c66a4e31dbb..0b4eaea0a94362f64962130af52bef0af5407b0f:/syntax/markdown.vim
diff --git a/syntax/markdown.vim b/syntax/markdown.vim
index 186216e..ed348cb 100644
--- a/syntax/markdown.vim
+++ b/syntax/markdown.vim
@@ -42,12 +42,22 @@ 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)
+ 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
+else
+ " single-line emphasis (emphasis only works with closing token on the same line)
+ syn region htmlItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\([^\n]*[^\\\*\t ]\)\?\*" end="[^\\\*\t ]\zs\*\ze\_W" keepend
+ syn region htmlItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]\([^\n]*[^\\_\t ]\)\?_" end="[^\\_\t ]\zs_\ze\_W" keepend
+ syn region htmlBold start="\*\*\ze\S\([^\n]*[^\\\*\t ]\)\?\*\*" end="\S\zs\*\*" keepend
+ syn region htmlBold start="__\ze\S\([^\n]*[^\\_\t ]\)\?__" end="\S\zs__" keepend
+ syn region htmlBold start="\*\*\*\ze\S\([^\n]*[^\\\*\t ]\)\?\*\*\*" end="\S\zs\*\*\*" keepend
+ syn region htmlBold start="___\ze\S\([^\n]*[^\\_\t ]\)\?___" end="\S\zs___" keepend
+endif
" [link](URL) | [link][id] | [link][] | ![image](URL)
syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]"
@@ -88,11 +98,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\)\+/