X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/a87c86a61b583e803e8c0237ed569fa4b3119e20..ff4fc395a7787957f8b940f4fd7189d910d4169e:/syntax/mkd.vim diff --git a/syntax/mkd.vim b/syntax/mkd.vim index eda1acf..c4ceec4 100644 --- a/syntax/mkd.vim +++ b/syntax/mkd.vim @@ -36,15 +36,18 @@ syn case ignore syn sync linebreaks=1 "additions to HTML groups -syn region htmlBold start=/\\\@/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell -syn region mkdCode start="
]*>" end="" -syn region mkdCode start="
]*>" end="
"
+syn match mkdLineBreak / \+$/
+syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell
+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 mkdIndentCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained
+syn match mkdListItem "^\s*[-*+]\s\+"
+syn match mkdListItem "^\s*\d\+\.\s\+"
+syn region mkdNonListItemBlock start="\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem
+syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/
+syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-$/
+syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_$/
+syn match mkdRule /^\s*-\{3,}$/
+syn match mkdRule /^\s*\*\{3,5}$/
"HTML headings
syn region htmlH1 start="^\s*#" end="\($\|#\+\)" contains=@Spell
@@ -85,36 +91,19 @@ syn region htmlH6 start="^\s*######" end="\($\|#\+\)" contain
syn match htmlH1 /^.\+\n=\+$/ contains=@Spell
syn match htmlH2 /^.\+\n-\+$/ contains=@Spell
-
-
-" fold region for headings
-syn region mkdHeaderFold
- \ start="^\s*\z(#\+\)"
- \ skip="^\s*\z1#\+"
- \ end="^\(\s*#\)\@="
- \ fold contains=TOP
-
-" fold region for lists
-syn region mkdListFold
- \ start="^\z(\s*\)\*\z(\s*\)"
- \ skip="^\z1 \z2\s*[^#]"
- \ end="^\(.\)\@="
- \ fold contains=TOP
-
-syn sync fromstart
-setlocal foldmethod=syntax
-
-
+syn cluster mkdNonListItem contains=htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdID,mkdURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdIndentCode,mkdListItem,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6
"highlighting for Markdown groups
HtmlHiLink mkdString String
HtmlHiLink mkdCode String
+HtmlHiLink mkdIndentCode String
HtmlHiLink mkdFootnote Comment
HtmlHiLink mkdBlockquote Comment
HtmlHiLink mkdLineContinue Comment
HtmlHiLink mkdListItem Identifier
HtmlHiLink mkdRule Identifier
HtmlHiLink mkdLineBreak Todo
+HtmlHiLink mkdFootnotes htmlLink
HtmlHiLink mkdLink htmlLink
HtmlHiLink mkdURL htmlString
HtmlHiLink mkdInlineURL htmlLink
@@ -125,6 +114,11 @@ HtmlHiLink mkdLinkTitle htmlString
HtmlHiLink mkdDelimiter Delimiter
+" Automatically insert bullets
+setlocal formatoptions+=r
+" Accept various markers as bullets
+setlocal comments=b:*,b:+,b:-
+
let b:current_syntax = "mkd"
delcommand HtmlHiLink