| " Vim syntax file. |
| " Language: Haredoc (Hare documentation format) |
| " Maintainer: Amelia Clarke <selene@perilune.dev> |
| " Last Change: 2024-05-10 |
| " Upstream: https://git.sr.ht/~selene/hare.vim |
| |
| if exists('b:current_syntax') |
| finish |
| endif |
| let b:current_syntax = 'haredoc' |
| |
| " Syntax {{{1 |
| syn case match |
| syn iskeyword @,48-57,_ |
| |
| " Code samples. |
| syn region haredocCodeSample excludenl start='\t\zs' end='$' contains=@NoSpell display |
| |
| " References to other declarations and modules. |
| syn region haredocRef start='\[\[' end=']]' contains=haredocRefValid,@NoSpell display keepend oneline |
| syn match haredocRefValid '\v\[\[\h\w*%(::\h\w*)*%(::)?]]' contained contains=@NoSpell display |
| |
| " Miscellaneous. |
| syn keyword haredocTodo FIXME TODO XXX |
| |
| " Default highlighting {{{1 |
| hi def link haredocCodeSample Comment |
| hi def link haredocRef Error |
| hi def link haredocRefValid Special |
| hi def link haredocTodo Todo |
| |
| " vim: et sts=2 sw=2 ts=8 |