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

Import current version
authorBen Williams <bwilliams@gryphonnetworks.com>
Tue, 12 May 2009 16:27:24 +0000 (12:27 -0400)
committerBen Williams <bwilliams@gryphonnetworks.com>
Tue, 12 May 2009 16:27:24 +0000 (12:27 -0400)
mkd.vim [new file with mode: 0644]

diff --git a/mkd.vim b/mkd.vim
new file mode 100644 (file)
index 0000000..6c23415
--- /dev/null
+++ b/mkd.vim
@@ -0,0 +1,86 @@
+" Vim syntax file
+" Language:    Markdown
+" Maintainer:  Ben Williams <benw@plasticboy.com>
+" URL:         http://plasticboy.com/markdown-vim-mode/
+" Version:     8
+" Last Change:  2008 April 29 
+" Remark:      Uses HTML syntax file
+" Remark:      I don't do anything with angle brackets (<>) because that would too easily
+"              easily conflict with HTML syntax
+" TODO:        Do something appropriate with image syntax
+" TODO:        Handle stuff contained within stuff (e.g. headings within blockquotes)
+
+
+" Read the HTML syntax to start with
+if version < 600
+  so <sfile>:p:h/html.vim
+else
+  runtime! syntax/html.vim
+  unlet b:current_syntax
+endif
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" don't use standard HiLink, it will not work with included syntax files
+if version < 508
+  command! -nargs=+ HtmlHiLink hi link <args>
+else
+  command! -nargs=+ HtmlHiLink hi def link <args>
+endif
+
+syn spell toplevel
+syn case ignore
+syn sync linebreaks=1
+
+"additions to HTML groups
+syn region htmlBold     start=/\(^\|\s\)\*\@<!\*\*\*\@!/     end=/\*\@<!\*\*\*\@!\($\|\s\)/   contains=@Spell,htmlItalic
+syn region htmlItalic   start=/\(^\|\s\)\*\@<!\*\*\@!/       end=/\*\@<!\*\*\@!\($\|\s\)/      contains=htmlBold,@Spell
+syn region htmlBold     start=/\(^\|\s\)_\@<!___\@!/         end=/_\@<!___\@!\($\|\s\)/       contains=htmlItalic,@Spell
+syn region htmlItalic   start=/\(^\|\s\)_\@<!__\@!/          end=/_\@<!__\@!\($\|\s\)/        contains=htmlBold,@Spell
+syn region htmlString   start="]("ms=s+2             end=")"me=e-1
+syn region htmlLink     start="\["ms=s+1            end="\]"me=e-1 contains=@Spell
+syn region htmlString   start="\(\[.*]: *\)\@<=.*"  end="$"
+
+"define Markdown groups
+syn match  mkdLineContinue ".$" contained
+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}$/
+syn match  mkdListItem  "^\s*[-*+]\s\+"
+syn match  mkdListItem  "^\s*\d\+\.\s\+"
+syn match  mkdCode      /^\s*\n\(\(\s\{4,}\|[\t]\+\)[^*-+ ].*\n\)\+/
+syn region mkdCode      start=/`/                   end=/`/
+syn region mkdCode      start=/\s*``[^`]*/          end=/[^`]*``\s*/
+syn region mkdBlockquote start=/^\s*>/              end=/$/                 contains=mkdLineContinue,@Spell
+syn region mkdCode      start="<pre[^>]*>"         end="</pre>"
+syn region mkdCode      start="<code[^>]*>"        end="</code>"
+
+"HTML headings
+syn region htmlH1       start="^\s*#"                   end="\($\|#\+\)" contains=@Spell
+syn region htmlH2       start="^\s*##"                  end="\($\|#\+\)" contains=@Spell
+syn region htmlH3       start="^\s*###"                 end="\($\|#\+\)" contains=@Spell
+syn region htmlH4       start="^\s*####"                end="\($\|#\+\)" contains=@Spell
+syn region htmlH5       start="^\s*#####"               end="\($\|#\+\)" contains=@Spell
+syn region htmlH6       start="^\s*######"              end="\($\|#\+\)" contains=@Spell
+syn match  htmlH1       /^.\+\n=\+$/ contains=@Spell
+syn match  htmlH2       /^.\+\n-\+$/ contains=@Spell
+
+"highlighting for Markdown groups
+HtmlHiLink mkdString       String
+HtmlHiLink mkdCode          String
+HtmlHiLink mkdBlockquote    Comment
+HtmlHiLink mkdLineContinue  Comment
+HtmlHiLink mkdListItem      Identifier
+HtmlHiLink mkdRule          Identifier
+
+
+let b:current_syntax = "mkd"
+
+delcommand HtmlHiLink
+" vim: ts=8