neovim/runtime/syntax/haredoc.vim

33 lines
925 B
VimL
Raw Normal View History

" 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