1
0
Fork 0
mirror of https://github.com/vim/vim synced 2025-03-16 06:47:52 +01:00

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: 

Signed-off-by: A4-Tacks <wdsjxhno1001@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
A4-Tacks 2025-03-05 20:10:29 +01:00 committed by Christian Brabandt
parent 3ed6659549
commit 9f827ec587
No known key found for this signature in database
GPG key ID: F3F92DA383FDDE09
5 changed files with 41 additions and 1 deletions

1
.github/MAINTAINERS vendored
View file

@ -422,6 +422,7 @@ runtime/pack/dist/opt/nohlsearch/ @habamax
runtime/plugin/manpager.vim @Konfekt
runtime/syntax/shared/hgcommitDiff.vim @vegerot
runtime/syntax/abaqus.vim @costerwi
runtime/syntax/abnf.vim @A4-Tacks
runtime/syntax/aidl.vim @dpelle
runtime/syntax/ant.vim @dkearns
runtime/syntax/antlr4.vim @jiangyinzuo

View file

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2025 Feb 23
" Last Change: 2025 Mar 05
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Listen very carefully, I will say this only once
@ -75,6 +75,9 @@ au BufNewFile,BufRead *.abc setf abc
" ABEL
au BufNewFile,BufRead *.abl setf abel
" ABNF
au BufNewFile,BufRead *.abnf setf abnf
" AceDB
au BufNewFile,BufRead *.wrm setf acedb

33
runtime/syntax/abnf.vim Normal file
View file

@ -0,0 +1,33 @@
" 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

View file

@ -87,6 +87,7 @@ def s:GetFilenameChecks(): dict<list<string>>
abap: ['file.abap'],
abc: ['file.abc'],
abel: ['file.abl'],
abnf: ['file.abnf'],
acedb: ['file.wrm'],
ada: ['file.adb', 'file.ads', 'file.ada', 'file.gpr'],
ahdl: ['file.tdf'],

View file

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1173,
/**/
1172,
/**/