diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index c316849cfb..071553b9fe 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -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 diff --git a/runtime/filetype.vim b/runtime/filetype.vim index ff6905f913..50c9f08f7c 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: The Vim Project -" Last Change: 2025 Feb 23 +" Last Change: 2025 Mar 05 " Former Maintainer: Bram Moolenaar " 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 diff --git a/runtime/syntax/abnf.vim b/runtime/syntax/abnf.vim new file mode 100644 index 0000000000..13459eb9f8 --- /dev/null +++ b/runtime/syntax/abnf.vim @@ -0,0 +1,33 @@ +" Vim compiler file +" Language: abnf +" Maintainer: A4-Tacks +" 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=// 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 diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index bbc2d1f000..d8fc0a1e00 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -87,6 +87,7 @@ def s:GetFilenameChecks(): dict> 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'], diff --git a/src/version.c b/src/version.c index cfb661e706..8b42a79098 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1173, /**/ 1172, /**/