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>
This commit is contained in:
A4-Tacks
2025-03-05 20:10:29 +01:00
committed by Christian Brabandt
parent 3ed6659549
commit 9f827ec587
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/plugin/manpager.vim @Konfekt
runtime/syntax/shared/hgcommitDiff.vim @vegerot runtime/syntax/shared/hgcommitDiff.vim @vegerot
runtime/syntax/abaqus.vim @costerwi runtime/syntax/abaqus.vim @costerwi
runtime/syntax/abnf.vim @A4-Tacks
runtime/syntax/aidl.vim @dpelle runtime/syntax/aidl.vim @dpelle
runtime/syntax/ant.vim @dkearns runtime/syntax/ant.vim @dkearns
runtime/syntax/antlr4.vim @jiangyinzuo runtime/syntax/antlr4.vim @jiangyinzuo

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: The Vim Project <https://github.com/vim/vim> " 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> " Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
@ -75,6 +75,9 @@ au BufNewFile,BufRead *.abc setf abc
" ABEL " ABEL
au BufNewFile,BufRead *.abl setf abel au BufNewFile,BufRead *.abl setf abel
" ABNF
au BufNewFile,BufRead *.abnf setf abnf
" AceDB " AceDB
au BufNewFile,BufRead *.wrm setf 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'], abap: ['file.abap'],
abc: ['file.abc'], abc: ['file.abc'],
abel: ['file.abl'], abel: ['file.abl'],
abnf: ['file.abnf'],
acedb: ['file.wrm'], acedb: ['file.wrm'],
ada: ['file.adb', 'file.ads', 'file.ada', 'file.gpr'], ada: ['file.adb', 'file.ads', 'file.ada', 'file.gpr'],
ahdl: ['file.tdf'], ahdl: ['file.tdf'],

View File

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