File: haredoc.vim

package info (click to toggle)
vim 2%3A9.1.1882-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 92,504 kB
  • sloc: ansic: 432,444; cpp: 6,371; makefile: 4,596; sh: 2,387; java: 2,312; xml: 2,099; python: 1,559; perl: 1,419; awk: 730; lisp: 501; cs: 458; objc: 369; sed: 8; csh: 6
file content (43 lines) | stat: -rw-r--r-- 1,156 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
vim9script

# Vim syntax file.
# Language:    Haredoc (Hare documentation format)
# Maintainer:  Amelia Clarke <selene@perilune.dev>
# Last Change: 2025 Aug 14
# Upstream:    https://git.sr.ht/~sircmpwn/hare.vim

if exists('b:current_syntax')
  finish
endif

# Syntax {{{1
syn case match
syn iskeyword @,48-57,_

# Embedded code samples.
syn region haredocCode start='\t\zs' end='$' contains=@NoSpell display

# References to other declarations and modules.
syn match haredocRef '\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 haredocRef Special
hi def link haredocTodo Todo

# Highlight incorrect whitespace by default.
syn match haredocSpaceError '\s\+$' containedin=ALL display
syn match haredocSpaceError '^ \zs \+\ze\t' 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'

# vim: fdm=marker et sts=2 sw=2 ts=8 tw=80