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
" 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
" ABEL
au BufNewFile,BufRead *.abl setf abel
+" ABNF
+au BufNewFile,BufRead *.abnf setf abnf
+
" AceDB
au BufNewFile,BufRead *.wrm setf acedb
--- /dev/null
+" 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