syntax clear
runtime! syntax/html.vim
syn match sdKey "^\s*-\s*\w\w*"
syn region sdBPre matchgroup=sdKey start=+^\z(\s*\)-pre+ end=+^\( \z1\|\s*$\)\@!+
syn region sdTLink matchgroup=sdMark start=+\[=+ end=+=]+ contains=sdTLink,sdTStrong,sdTCode,sdTEm,sdTCite,sdLinkURL
syn region sdTStrong matchgroup=sdMark start=+\[-+ end=+-]+
syn region sdTCode matchgroup=sdMark start=+\[\.+ end=+\.]+
syn region sdTEm matchgroup=sdMark start=+\[/+ end=+/]+
syn region sdTCite matchgroup=sdMark start=+\[\\+ end=+\\]+
syn match sdLinkURL "\[=\S\S*"lc=2 contained
hi link sdKey Statement
hi link sdMark Type
hi link sdTLink Normal
hi link sdLinkURL Special
hi link sdTCode Special
hi link sdBPre Special
hi def sdTStrong term=bold cterm=bold gui=bold
hi def sdTEm gui=italic
hi def sdTCite term=underline cterm=underline gui=underline