From edb42d8a639db526ef5b5f4ce98e7fd0e16a6716 Mon Sep 17 00:00:00 2001 From: michener Date: Wed, 24 Mar 2010 23:50:41 +0000 Subject: [PATCH] Markdown improvements git-svn-id: http://photonzero.com/dotfiles/trunk@51 23f722f6-122a-0410-8cef-c75bd312dd78 --- .vim/filetype.vim | 34 +++++++++++++++++----------- .vim/syntax/mkd.vim | 64 +++++++++++++++++++++++++++++++++++------------------ 2 files changed, 63 insertions(+), 35 deletions(-) diff --git a/.vim/filetype.vim b/.vim/filetype.vim index a236a5e..b5ad251 100644 --- a/.vim/filetype.vim +++ b/.vim/filetype.vim @@ -1,7 +1,8 @@ -" markdown filetype file +" general per-language filetype file if exists("did\_load\_filetypes") finish endif +" Filetype mappingss augroup markdown au! BufRead,BufNewFile *.mkd setfiletype mkd augroup END @@ -11,19 +12,26 @@ augroup END augroup csv au! BufNewFile,BufRead *.csv setf csv augroup END + +au BufRead,BufNewFile *.go set filetype=go + +"Settings per filetype augroup python -"autocmd FileType python set omnifunc=pythoncomplete#Complete -"autocmd FileType python call SuperTabSetCompletionType("") -"autocmd FileType python set completeopt-=preview -autocmd FileType python set ts=4 -autocmd FileType python set softtabstop=4 -autocmd FileType python set shiftwidth=4 -autocmd FileType python set expandtab + "autocmd FileType python set omnifunc=pythoncomplete#Complete + "autocmd FileType python call SuperTabSetCompletionType("") + "autocmd FileType python set completeopt-=preview + autocmd FileType python set ts=4 + autocmd FileType python set softtabstop=4 + autocmd FileType python set shiftwidth=4 + autocmd FileType python set expandtab augroup END augroup javascript -autocmd FileType javascript set ts=4 -autocmd FileType javascript set softtabstop=4 -autocmd FileType javascript set shiftwidth=4 -autocmd FileType javascript set expandtab + autocmd FileType javascript set ts=4 + autocmd FileType javascript set softtabstop=4 + autocmd FileType javascript set shiftwidth=4 + autocmd FileType javascript set expandtab +augroup END + +augroup mkd + autocmd FileType mkd set ai formatoptions=tcroqn2 comments=n:> augroup END -au BufRead,BufNewFile *.go set filetype=go diff --git a/.vim/syntax/mkd.vim b/.vim/syntax/mkd.vim index ed740aa..ee22365 100644 --- a/.vim/syntax/mkd.vim +++ b/.vim/syntax/mkd.vim @@ -2,12 +2,11 @@ " Language: Markdown " Maintainer: Ben Williams " URL: http://plasticboy.com/markdown-vim-mode/ -" Version: 6 -" Last Change: 2006 September 1 +" Version: 9 +" Last Change: 2009 May 18 " 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) @@ -37,13 +36,23 @@ syn case ignore syn sync linebreaks=1 "additions to HTML groups -syn region htmlBold start=/\*\@) +syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite +syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline +syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained +syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained +syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained "define Markdown groups syn match mkdLineContinue ".$" contained @@ -54,20 +63,23 @@ 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\{4,}\|[\t]\+\)[^*-+ ].*$/ -syn region mkdCode start=/`/ end=/`/ -syn region mkdCode start=/\s*``[^`]*/ skip=/`/ end=/[^`]*``\s*/ -syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineContinue +syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ +syn match mkdLineBreak / \+$/ +syn region mkdCode start=/\\\@/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell +syn region mkdCode start="]*>" end="" +syn region mkdCode start="]*>" end="" "HTML headings -syn region htmlH1 start="#" end="\($\|#\+\)" -syn region htmlH2 start="##" end="\($\|#\+\)" -syn region htmlH3 start="###" end="\($\|#\+\)" -syn region htmlH4 start="####" end="\($\|#\+\)" -syn region htmlH5 start="#####" end="\($\|#\+\)" -syn region htmlH6 start="######" end="\($\|#\+\)" -syn match htmlH1 /^.\+\n=\+$/ -syn match htmlH2 /^.\+\n-\+$/ +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 @@ -76,7 +88,15 @@ HtmlHiLink mkdBlockquote Comment HtmlHiLink mkdLineContinue Comment HtmlHiLink mkdListItem Identifier HtmlHiLink mkdRule Identifier +HtmlHiLink mkdLineBreak Todo +HtmlHiLink mkdLink htmlLink +HtmlHiLink mkdURL htmlString +HtmlHiLink mkdID Identifier +HtmlHiLink mkdLinkDef mkdID +HtmlHiLink mkdLinkDefTarget mkdURL +HtmlHiLink mkdLinkTitle htmlString +HtmlHiLink mkdDelimiter Delimiter let b:current_syntax = "mkd"