diff options
author | Yinzuo Jiang <jiangyinzuo@foxmail.com> | 2024-07-09 19:11:18 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-07-09 19:11:18 +0200 |
commit | 4a7a4a3675b6ad90a525524ba4684925df212325 (patch) | |
tree | b85e6c634c1bbb60ce9e5e05af5925152add7522 | |
parent | 600a12d08e7aeb95a6b02382bfee310aef9801dd (diff) |
patch 9.1.0550: filetype: antlr4 files are not recognizedv9.1.0550
Problem: filetype: antlr4 files are not recognized
Solution: Detect '*.g4' as antlr4 filetype, include a simple antlr4
syntax and filetype plugin (Yinzuo Jiang)
closes: #15191
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r-- | .github/MAINTAINERS | 2 | ||||
-rw-r--r-- | runtime/filetype.vim | 11 | ||||
-rw-r--r-- | runtime/ftplugin/antlr4.vim | 14 | ||||
-rw-r--r-- | runtime/syntax/antlr4.vim | 30 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 55 insertions, 4 deletions
diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index f546a67823..e8c864783f 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -107,6 +107,7 @@ runtime/compiler/zsh.vim @dkearns runtime/doc/ft_hare.txt @selenebun runtime/doc/ps1.txt @heaths runtime/ftplugin/abaqus.vim @costerwi +runtime/ftplugin/antlr4.vim @jiangyinzuo runtime/ftplugin/apache.vim @dubgeiser runtime/ftplugin/arduino.vim @k-takata runtime/ftplugin/astro.vim @romainl @@ -368,6 +369,7 @@ runtime/syntax/shared/hgcommitDiff.vim @vegerot runtime/syntax/abaqus.vim @costerwi runtime/syntax/aidl.vim @dpelle runtime/syntax/ant.vim @dkearns +runtime/syntax/antlr4.vim @jiangyinzuo runtime/syntax/arduino.vim @johshoff runtime/syntax/asciidoc.vim @aerostitch runtime/syntax/asm.vim @dkearns diff --git a/runtime/filetype.vim b/runtime/filetype.vim index eb4e9043f4..d22dd57cb7 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -98,6 +98,13 @@ au BufNewFile,BufRead *.run setf ampl " Ant au BufNewFile,BufRead build.xml setf ant +" ANTLR / PCCTS +"au BufNewFile,BufRead *.g setf antlr +au BufNewFile,BufRead *.g setf pccts + +" ANTLR 4 +au BufNewFile,BufRead *.g4 setf antlr4 + " Arduino au BufNewFile,BufRead *.ino,*.pde setf arduino @@ -1814,10 +1821,6 @@ au BufNewFile,BufRead *termcap " Prisma au BufRead,BufNewFile *.prisma setf prisma -" PCCTS / ANTLR -"au BufNewFile,BufRead *.g setf antlr -au BufNewFile,BufRead *.g setf pccts - " PPWizard au BufNewFile,BufRead *.it,*.ih setf ppwiz diff --git a/runtime/ftplugin/antlr4.vim b/runtime/ftplugin/antlr4.vim new file mode 100644 index 0000000000..610d5284fb --- /dev/null +++ b/runtime/ftplugin/antlr4.vim @@ -0,0 +1,14 @@ +" Vim filetype plugin +" Language: ANTLR4, ANother Tool for Language Recognition v4 <www.antlr.org> +" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com> +" Last Change: 2024 July 09 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// +setlocal commentstring=//\ %s + +let b:undo_ftplugin = 'setl com< cms<' diff --git a/runtime/syntax/antlr4.vim b/runtime/syntax/antlr4.vim new file mode 100644 index 0000000000..33cc865ccc --- /dev/null +++ b/runtime/syntax/antlr4.vim @@ -0,0 +1,30 @@ +" Vim syntax file +" Language: ANTLR4, ANother Tool for Language Recognition v4 <www.antlr.org> +" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com> +" Last Change: 2024 July 09 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +" Keywords. See https://github.com/antlr/antlr4/blob/4.13.1/doc/lexicon.md +syn keyword antlr4Include import +" https://github.com/antlr/antlr4/blob/4.13.1/doc/options.md +" https://github.com/antlr/antlr4/blob/4.13.1/doc/grammars.md +syn keyword antlr4Structure fragment lexer parser grammar options channels tokens mode +syn keyword antlr4Statement returns locals +syn keyword antlr4Exceptions throws catch finally + +" Comments. +syn keyword antlr4Todo contained TODO FIXME XXX NOTE +syn region antlr4Comment start="//" end="$" contains=antlr4Todo,@Spell +syn region antlr4Comment start="/\*" end="\*/" contains=antlr4Todo,@Spell + +hi def link antlr4Include Include +hi def link antlr4Structure Structure +hi def link antlr4Statement Statement +hi def link antlr4Exceptions Structure +hi def link antlr4Comment Comment + +let b:current_syntax = "antlr4" diff --git a/src/version.c b/src/version.c index dd5b254a07..caa779ce53 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 550, +/**/ 549, /**/ 548, |