├── README.markdown ├── ftdetect ├── antlr3.vim └── antlr4.vim └── syntax ├── antlr3.vim └── antlr4.vim /README.markdown: -------------------------------------------------------------------------------- 1 | # antlr{3,4}.vim 2 | 3 | Syntax files for [ANTLR](http://www.antlr.org/). 4 | 5 | ## Installation 6 | 7 | ### External Plugin Managers 8 | 9 | If you don't have a preferred installation method, I recommend installing 10 | [Vundle.vim](https://github.com/gmarik/Vundle.vim), and then simply copy and 11 | paste: 12 | 13 | cd ~/.vim/bundle 14 | git clone git://github.com/jrozner/vim-antlr.git 15 | 16 | ### Vim 8 (native plugin manager) 17 | 18 | cd ~/.vim/pack/plugins/start 19 | git clone git://github.com/jrozner/vim-antlr.git 20 | -------------------------------------------------------------------------------- /ftdetect/antlr3.vim: -------------------------------------------------------------------------------- 1 | au BufRead,BufNewFile *.g3 set filetype=antlr3 2 | -------------------------------------------------------------------------------- /ftdetect/antlr4.vim: -------------------------------------------------------------------------------- 1 | au BufRead,BufNewFile *.g4 set filetype=antlr4 2 | -------------------------------------------------------------------------------- /syntax/antlr3.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrozner/vim-antlr/28c236788223a1ebbe6c831f89dbaa0a4722683f/syntax/antlr3.vim -------------------------------------------------------------------------------- /syntax/antlr4.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: ANTLR4 3 | " Maintainer: Adam Blinkinsop 4 | " Last Change: 2014 May 1 5 | " Remark: None. 6 | 7 | if version < 600 8 | syntax clear 9 | elseif exists("b:current_syntax") 10 | finish 11 | endif 12 | 13 | syntax region antlrBlockComment start=/\/\*/ end=/\*\// 14 | syntax match antlrLineComment /\/\/.*$/ 15 | 16 | syntax match antlrToken /[A-Z][a-zA-Z0-9_]*/ 17 | syntax region antlrLiteral start=/'/ end=/'/ contains=antlrEscape,antlrUnicodeEscape 18 | syntax region antlrAlt start=/\[/ skip=/\\]/ end=/\]/ contains=antlrEscape,antlrUnicodeEscape 19 | syntax match antlrEscape "\\[nrtbf\\']" contained 20 | syntax match antlrUnicodeEscape "\\u[0-9a-fA-F]\{4}" contained 21 | 22 | syntax match antlrRule /[a-z][a-zA-Z0-9_]*/ 23 | syntax match antlrNamedAction /@[a-zA-Z][a-zA-Z0-9_]*/ 24 | 25 | syntax keyword antlrKeyword import fragment lexer parser grammar returns locals throws catch finally mode options tokens rule 26 | 27 | syntax match antlrLabel /#\s*[a-zA-Z][a-zA-Z0-9_]*/ 28 | 29 | syntax region antlrAction start=/{/ skip=/\\}\|\\{/ end=/}/ 30 | 31 | hi def link antlrBlockComment Comment 32 | hi def link antlrLineComment Comment 33 | hi def link antlrLiteral Character 34 | hi def link antlrAlt Character 35 | hi def link antlrToken String 36 | hi def link antlrRule Function 37 | hi def link antlrNamedAction Include 38 | hi def link antlrKeyword Keyword 39 | hi def link antlrEscape SpecialChar 40 | hi def link antlrUnicodeEscape SpecialChar 41 | hi def link antlrLabel Define 42 | hi def link antlrAction PreCondit 43 | 44 | let b:current_syntax = "antlr4" 45 | --------------------------------------------------------------------------------