javacc.vim 2.2 KB

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