diff options
Diffstat (limited to 'mnv/runtime/syntax/haredoc.mnv')
| -rw-r--r-- | mnv/runtime/syntax/haredoc.mnv | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mnv/runtime/syntax/haredoc.mnv b/mnv/runtime/syntax/haredoc.mnv new file mode 100644 index 0000000000..64ce5e5ef5 --- /dev/null +++ b/mnv/runtime/syntax/haredoc.mnv @@ -0,0 +1,42 @@ +mnv9script + +# MNV syntax file. +# Language: Haredoc (Hare documentation format) +# Maintainer: Amelia Clarke <selene@perilune.dev> +# Last Change: 2026 Jan 24 +# Upstream: https://git.sr.ht/~sircmpwn/hare.mnv + +if exists('b:current_syntax') + finish +endif + +# Syntax {{{1 +syn case match +syn iskeyword @,48-57,_ + +# Embedded code samples. +syn region haredocCode excludenl start='\v%(^\s*\t)@<=' end='$' contains=@NoSpell display + +# References to other declarations and modules. +syn match haredocSpecial '\v\[\[\h\w*%(::\h\w*)*%(::)?]]' contains=@NoSpell display + +# Miscellaneous. +syn keyword haredocTodo FIXME TODO XXX + +# Default highlighting {{{1 +hi def link haredocCode Comment +hi def link haredocSpecial Special +hi def link haredocTodo Todo + +# Highlight incorrect whitespace by default. +syn match haredocSpaceError excludenl '\s\+$' containedin=ALL display +syn match haredocSpaceError '.\zs \+\ze\t' containedin=ALL display +if get(g:, 'hare_space_error', 1) + hi! def link haredocSpaceError Error +else + hi! def link haredocSpaceError NONE +endif + +b:current_syntax = 'haredoc' + +# mnv: fdm=marker et sts=2 sw=2 ts=8 tw=80 |
