xref: /vim-8.2.3635/runtime/syntax/javacc.vim (revision f37506f6)
1" Vim syntax file
2" Language:	JavaCC, a Java Compiler Compiler written by JavaSoft
3" Maintainer:	Claudio Fleiner <[email protected]>
4" URL:		http://www.fleiner.com/vim/syntax/javacc.vim
5" Last Change:	2012 Oct 05
6
7" Uses java.vim, and adds a few special things for JavaCC Parser files.
8" Those files usually have the extension  *.jj
9
10" quit when a syntax file was already loaded
11if exists("b:current_syntax")
12  finish
13endif
14
15let s:cpo_save = &cpo
16set cpo&vim
17
18" source the java.vim file
19runtime! syntax/java.vim
20unlet b:current_syntax
21
22"remove catching errors caused by wrong parenthesis (does not work in javacc
23"files) (first define them in case they have not been defined in java)
24syn match	javaParen "--"
25syn match	javaParenError "--"
26syn match	javaInParen "--"
27syn match	javaError2 "--"
28syn clear	javaParen
29syn clear	javaParenError
30syn clear	javaInParen
31syn clear	javaError2
32
33" remove function definitions (they look different) (first define in
34" in case it was not defined in java.vim)
35"syn match javaFuncDef "--"
36syn clear javaFuncDef
37syn match javaFuncDef "[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType
38
39syn keyword javaccPackages options DEBUG_PARSER DEBUG_LOOKAHEAD DEBUG_TOKEN_MANAGER
40syn keyword javaccPackages COMMON_TOKEN_ACTION IGNORE_CASE CHOICE_AMBIGUITY_CHECK
41syn keyword javaccPackages OTHER_AMBIGUITY_CHECK STATIC LOOKAHEAD ERROR_REPORTING
42syn keyword javaccPackages USER_TOKEN_MANAGER  USER_CHAR_STREAM JAVA_UNICODE_ESCAPE
43syn keyword javaccPackages UNICODE_INPUT JDK_VERSION
44syn match javaccPackages "PARSER_END([^)]*)"
45syn match javaccPackages "PARSER_BEGIN([^)]*)"
46syn match javaccSpecToken "<EOF>"
47" the dot is necessary as otherwise it will be matched as a keyword.
48syn match javaccSpecToken ".LOOKAHEAD("ms=s+1,me=e-1
49syn match javaccToken "<[^> \t]*>"
50syn keyword javaccActionToken TOKEN SKIP MORE SPECIAL_TOKEN
51syn keyword javaccError DEBUG IGNORE_IN_BNF
52
53" Define the default highlighting.
54" Only when an item doesn't have highlighting yet
55hi def link javaccSpecToken Statement
56hi def link javaccActionToken Type
57hi def link javaccPackages javaScopeDecl
58hi def link javaccToken String
59hi def link javaccError Error
60
61let b:current_syntax = "javacc"
62let &cpo = s:cpo_save
63unlet s:cpo_save
64
65" vim: ts=8
66