forked from aniani/vim
		
	
		
			
	
	
		
			71 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			71 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " 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 |