Mercurial > vim
diff runtime/syntax/antlr.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 43efa4f5a8ea |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/runtime/syntax/antlr.vim @@ -0,0 +1,70 @@ +" Vim syntax file +" Antlr: ANTLR, Another Tool For Language Recognition <www.antlr.org> +" Maintainer: Mathieu Clabaut <mathieu.clabaut@free.fr> +" LastChange: 02 May 2001 +" Original: Comes from JavaCC.vim + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" This syntac file is a first attempt. It is far from perfect... + +" Uses java.vim, and adds a few special things for JavaCC Parser files. +" Those files usually have the extension *.jj + +" source the java.vim file +if version < 600 + so <sfile>:p:h/java.vim +else + runtime! syntax/java.vim + unlet b:current_syntax +endif + +"remove catching errors caused by wrong parenthesis (does not work in antlr +"files) (first define them in case they have not been defined in java) +syn match javaParen "--" +syn match javaParenError "--" +syn match javaInParen "--" +syn match javaError2 "--" +syn clear javaParen +syn clear javaParenError +syn clear javaInParen +syn clear javaError2 + +" remove function definitions (they look different) (first define in +" in case it was not defined in java.vim) +"syn match javaFuncDef "--" +"syn clear javaFuncDef +"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType +" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+ + +syn keyword antlrPackages options language buildAST +syn match antlrPackages "PARSER_END([^)]*)" +syn match antlrPackages "PARSER_BEGIN([^)]*)" +syn match antlrSpecToken "<EOF>" +" the dot is necessary as otherwise it will be matched as a keyword. +syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 +syn match antlrSep "[|:]\|\.\." +syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN +syn keyword antlrError DEBUG IGNORE_IN_BNF + +if version >= 508 || !exists("did_antlr_syntax_inits") + if version < 508 + let did_antlr_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + HiLink antlrSep Statement + HiLink antlrPackages Statement + delcommand HiLink +endif + +let b:current_syntax = "antlr" + +" vim: ts=8