diff options
-rw-r--r-- | haskell.vim | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/haskell.vim b/haskell.vim index 0084630c..cbc41be3 100644 --- a/haskell.vim +++ b/haskell.vim @@ -1,68 +1,68 @@ -" Attempt to add haddock highlighting for haskell comments
-" It should be placed in ~/.vim/after/syntax/haskell.vim
-" Brad Bowman <haddock.vim@bereft.net>
-
-syn match hsHdocChunk "$\i\+" contained
-syn match hsHdocMod /"\(\i\|[.]\)\+"/ contained
-syn match hsHdocLink "'\(\i\|[.#]\)\+'" contained
-syn region hsHdocAnchor start="\\\@<!#" skip="\\#" end="\\\@<!#" contained oneline
-" I think emphasis can span multiple lines
-syn region hsHdocEm start="\\\@<!/" skip="\\/" end="\\\@!/" contained oneline
-syn region hsHdocURL start="\\\@<!<" end="\\\@<!>" contained oneline
-syn region hsHdocCode start="\\\@<!@" skip="\\@" end="\\\@<!@" contained oneline
-syn region hsHdocBCodeBlock start="^@\(\s\|$\)" end="^@\s*$" contained
-syn region hsHdocLCodeBlock start="\(^\s*--\s*\)\@<=@\s*$" end="\(^\s*--\s*\)\@<=@\s*$" contained
-syn match hsHdocBHeading "^\s*\*\+" contained
-syn match hsHdocLHeading "\(^\s*--\s*\)\@<=\*\+" contained
-syn match hsHdocBTracks "^\s*>" contained
-" match only the > using a look-behind
-syn match hsHdocLTracks "\(^\s*--\s*\)\@<=>" contained
-
-" todo: numbered lists, mark haddock start separately
-"syn match hsHdocStart "\([$^|]\|\*\+\)" contained
-
-syn cluster hsHdocSpecial
- \ contains=hsHdocMod,hsHdocLink,hsHdocEm,hsHdocCode,hsHdocURL,
- \ hsHdocAnchor,hsHdocChunk
-
-syn region hsHdocDef start="^\s*\(--\)\?\s*\[" end="\]" contained contains=hsHdocSpecial
-
-syn region hsHdocLines start="--\s*\([$\^|]\|\*\+\)"
- \ skip="^\s*\(--.*\)$"
- \ end="^\s*\(\$\|--\)\@!"
- \ contains=@hsHdocSpecial,hsHdocLTracks,hsHdocLHeading,hsHdocLCodeBlock,hsHdocDef
-syn region hsHdocBlock start="{-\s*\([$\^|]\|\*\+\)" end="-}"
- \ contains=@hsHdocSpecial,hsHdocBTracks,hsHdocBHeading,hsHdocBCodeBlock,hsHdocDef
-
-syn sync minlines=20
-
-if version >= 508 || !exists("did_haddock_syntax_inits")
- if version < 508
- let did_haddock_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink hsHdocLines hsHdoc
- HiLink hsHdocBlock hsHdoc
- HiLink hsHdoc PreProc
- HiLink hsHdocAnchor Special
- HiLink hsHdocChunk Special
- HiLink hsHdocMod Special
- HiLink hsHdocLink Special
- HiLink hsHdocEm Special
- HiLink hsHdocURL Special
- HiLink hsHdocCode Special
- HiLink hsHdocLHeading Special
- HiLink hsHdocBHeading Special
- HiLink hsHdocLTracks Special
- HiLink hsHdocBTracks Special
- HiLink hsHdocBCodeBlock Special
- HiLink hsHdocLCodeBlock Special
- HiLink hsHdocSpecial Special
-
- delcommand HiLink
-endif
-
-" Options for vi: sw=2 sts=2 nowrap ft=vim
+" Attempt to add haddock highlighting for haskell comments +" It should be placed in ~/.vim/after/syntax/haskell.vim +" Brad Bowman <haddock.vim@bereft.net> + +syn match hsHdocChunk "$\i\+" contained +syn match hsHdocMod /"\(\i\|[.]\)\+"/ contained +syn match hsHdocLink "'\(\i\|[.#]\)\+'" contained +syn region hsHdocAnchor start="\\\@<!#" skip="\\#" end="\\\@<!#" contained oneline +" I think emphasis can span multiple lines +syn region hsHdocEm start="\\\@<!/" skip="\\/" end="\\\@!/" contained oneline +syn region hsHdocURL start="\\\@<!<" end="\\\@<!>" contained oneline +syn region hsHdocCode start="\\\@<!@" skip="\\@" end="\\\@<!@" contained oneline +syn region hsHdocBCodeBlock start="^@\(\s\|$\)" end="^@\s*$" contained +syn region hsHdocLCodeBlock start="\(^\s*--\s*\)\@<=@\s*$" end="\(^\s*--\s*\)\@<=@\s*$" contained +syn match hsHdocBHeading "^\s*\*\+" contained +syn match hsHdocLHeading "\(^\s*--\s*\)\@<=\*\+" contained +syn match hsHdocBTracks "^\s*>" contained +" match only the > using a look-behind +syn match hsHdocLTracks "\(^\s*--\s*\)\@<=>" contained + +" todo: numbered lists, mark haddock start separately +"syn match hsHdocStart "\([$^|]\|\*\+\)" contained + +syn cluster hsHdocSpecial + \ contains=hsHdocMod,hsHdocLink,hsHdocEm,hsHdocCode,hsHdocURL, + \ hsHdocAnchor,hsHdocChunk + +syn region hsHdocDef start="^\s*\(--\)\?\s*\[" end="\]" contained contains=hsHdocSpecial + +syn region hsHdocLines start="--\s*\([$\^|]\|\*\+\)" + \ skip="^\s*\(--.*\)$" + \ end="^\s*\(\$\|--\)\@!" + \ contains=@hsHdocSpecial,hsHdocLTracks,hsHdocLHeading,hsHdocLCodeBlock,hsHdocDef +syn region hsHdocBlock start="{-\s*\([$\^|]\|\*\+\)" end="-}" + \ contains=@hsHdocSpecial,hsHdocBTracks,hsHdocBHeading,hsHdocBCodeBlock,hsHdocDef + +syn sync minlines=20 + +if version >= 508 || !exists("did_haddock_syntax_inits") + if version < 508 + let did_haddock_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink hsHdocLines hsHdoc + HiLink hsHdocBlock hsHdoc + HiLink hsHdoc PreProc + HiLink hsHdocAnchor Special + HiLink hsHdocChunk Special + HiLink hsHdocMod Special + HiLink hsHdocLink Special + HiLink hsHdocEm Special + HiLink hsHdocURL Special + HiLink hsHdocCode Special + HiLink hsHdocLHeading Special + HiLink hsHdocBHeading Special + HiLink hsHdocLTracks Special + HiLink hsHdocBTracks Special + HiLink hsHdocBCodeBlock Special + HiLink hsHdocLCodeBlock Special + HiLink hsHdocSpecial Special + + delcommand HiLink +endif + +" Options for vi: sw=2 sts=2 nowrap ft=vim |