vim/runtime/syntax/abnf.vim
A4-Tacks 9f827ec587
patch 9.1.1173: filetype: ABNF files are not detected
Problem:  filetype: ABNF files are not detected
Solution: detect '.abnf' file as abnf filetype and
          include an abnf syntax plugin (A4-Tacks).

References:
- RFC5234
- RFC7405

closes: #16802

Signed-off-by: A4-Tacks <wdsjxhno1001@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-03-05 20:19:32 +01:00

33 lines
952 B
VimL

" Vim compiler file
" Language: abnf
" Maintainer: A4-Tacks <wdsjxhno1001@163.com>
" Last Change: 2025 Mar 05
" Upstream: https://github.com/A4-Tacks/abnf.vim
" Implementing RFC-5234, RFC-7405
if exists('b:current_syntax')
finish
endif
syn case ignore
syn match abnfError /[<>"]/
syn match abnfComment /;.*/
syn match abnfOption /[[/\]]/
syn region abnfString start=/\(%[si]\)\="/ end=/"/ oneline
syn region abnfProse start=/</ end=/>/ oneline
syn match abnfNumVal /\v\%b[01]+%(%(\.[01]+)+|-[01]+)=>/
syn match abnfNumVal /\v\%d\d+%(%(\.\d+)+|-\d+)=>/
syn match abnfNumVal /\v\%x[0-9a-f]+%(%(\.[0-9a-f]+)+|-[0-9a-f]+)=>/
syn match abnfRepeat /\v%(%(<\d+)=\*\d*|<\d+ =)\ze[^ \t\r\n0-9*/)\]]/
hi def link abnfError Error
hi def link abnfComment Comment
hi def link abnfOption PreProc
hi def link abnfString String
hi def link abnfProse String
hi def link abnfNumVal Number
hi def link abnfRepeat Repeat
" vim:noet:ts=8:sts=8:nowrap