mirror of
https://github.com/vim/vim.git
synced 2026-04-13 07:15:43 +02:00
closes: #18640 Signed-off-by: Amelia Clarke <selene@perilune.dev> Signed-off-by: Christian Brabandt <cb@256bit.org>
43 lines
1.1 KiB
VimL
43 lines
1.1 KiB
VimL
vim9script
|
|
|
|
# Vim 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.vim
|
|
|
|
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'
|
|
|
|
# vim: fdm=marker et sts=2 sw=2 ts=8 tw=80
|