Markdown improvements
git-svn-id: http://photonzero.com/dotfiles/trunk@51 23f722f6-122a-0410-8cef-c75bd312dd78
This commit is contained in:
parent
6e57e985bb
commit
edb42d8a63
2 changed files with 63 additions and 35 deletions
|
|
@ -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("<C-X><C-O>")
|
||||
"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("<C-X><C-O>")
|
||||
"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
|
||||
|
|
|
|||
|
|
@ -2,12 +2,11 @@
|
|||
" Language: Markdown
|
||||
" Maintainer: Ben Williams <benw@plasticboy.com>
|
||||
" 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=/\*\@<!\*\*\*\@!/ end=/\*\@<!\*\*\*\@!/ contains=@Spell,htmlItalic
|
||||
syn region htmlItalic start=/\*\@<!\*\*\@!/ end=/*\@<!\*\*\@!/ contains=htmlBold
|
||||
syn region htmlBold start=/_\@<!___\@!/ end=/_\@<!___\@!/ contains=htmlItalic
|
||||
syn region htmlItalic start=/_\@<!__\@!/ end=/_\@<!__\@!/ contains=htmlBold
|
||||
syn region htmlString start="]("ms=s+2 end=")"me=e-1
|
||||
syn region htmlLink start="\["ms=s+1 end="\]"me=e-1
|
||||
syn region htmlString start="\(\[.*]: *\)\@<=.*" end="$"
|
||||
syn region htmlBold start=/\\\@<!\(^\|\A\)\@=\*\@<!\*\*\*\@!/ end=/\\\@<!\*\@<!\*\*\*\@!\($\|\A\)\@=/ contains=@Spell,htmlItalic
|
||||
syn region htmlItalic start=/\\\@<!\(^\|\A\)\@=\*\@<!\*\*\@!/ end=/\\\@<!\*\@<!\*\*\@!\($\|\A\)\@=/ contains=htmlBold,@Spell
|
||||
syn region htmlBold start=/\\\@<!\(^\|\A\)\@=_\@<!___\@!/ end=/\\\@<!_\@<!___\@!\($\|\A\)\@=/ contains=htmlItalic,@Spell
|
||||
syn region htmlItalic start=/\\\@<!\(^\|\A\)\@=_\@<!__\@!/ end=/\\\@<!_\@<!__\@!\($\|\A\)\@=/ contains=htmlBold,@Spell
|
||||
|
||||
" [link](URL) | [link][id] | [link][]
|
||||
syn region mkdLink matchgroup=mkdDelimiter start="\!\?\[" end="\]\ze\s*[[(]" contains=@Spell nextgroup=mkdURL,mkdID skipwhite oneline
|
||||
syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained
|
||||
syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained
|
||||
|
||||
" Link definitions: [id]: URL (Optional Title)
|
||||
" TODO handle automatic links without colliding with htmlTag (<URL>)
|
||||
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=/\\\@<!`/
|
||||
syn region mkdCode start=/\s*``[^`]*/ end=/[^`]*``\s*/
|
||||
syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell
|
||||
syn region mkdCode start="<pre[^>]*>" end="</pre>"
|
||||
syn region mkdCode start="<code[^>]*>" end="</code>"
|
||||
|
||||
"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"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue