Mercurial > vim
changeset 35614:5b997b932c98 v9.1.0550
patch 9.1.0550: filetype: antlr4 files are not recognized
Commit: https://github.com/vim/vim/commit/4a7a4a3675b6ad90a525524ba4684925df212325
Author: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Date: Tue Jul 9 19:11:18 2024 +0200
patch 9.1.0550: filetype: antlr4 files are not recognized
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 09 Jul 2024 19:15:38 +0200 |
parents | 80aed1c94598 |
children | c5efad4d560b |
files | .github/MAINTAINERS runtime/filetype.vim runtime/ftplugin/antlr4.vim runtime/syntax/antlr4.vim src/version.c |
diffstat | 5 files changed, 55 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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 @ 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
--- 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
new file mode 100644 --- /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<'
new file mode 100644 --- /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"