rnc.vim 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. " Vim syntax file
  2. " Language: Relax NG compact syntax
  3. " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision: 2007-06-17
  5. if exists("b:current_syntax")
  6. finish
  7. endif
  8. let s:cpo_save = &cpo
  9. set cpo&vim
  10. setlocal iskeyword+=-,.
  11. syn keyword rncTodo contained TODO FIXME XXX NOTE
  12. syn region rncComment display oneline start='^\s*#' end='$'
  13. \ contains=rncTodo,@Spell
  14. syn match rncOperator display '[-|,&+?*~]'
  15. syn match rncOperator display '\%(|&\)\=='
  16. syn match rncOperator display '>>'
  17. syn match rncNamespace display '\<\k\+:'
  18. syn match rncQuoted display '\\\k\+\>'
  19. syn match rncSpecial display '\\x{\x\+}'
  20. syn region rncAnnotation transparent start='\[' end='\]'
  21. \ contains=ALLBUT,rncComment,rncTodo
  22. syn region rncLiteral display oneline start=+"+ end=+"+
  23. \ contains=rncSpecial
  24. syn region rncLiteral display oneline start=+'+ end=+'+
  25. syn region rncLiteral display oneline start=+"""+ end=+"""+
  26. \ contains=rncSpecial
  27. syn region rncLiteral display oneline start=+'''+ end=+'''+
  28. syn match rncDelimiter display '[{},()]'
  29. syn keyword rncKeyword datatypes default div empty external grammar
  30. syn keyword rncKeyword include inherit list mixed name namespace
  31. syn keyword rncKeyword notAllowed parent start string text token
  32. syn match rncIdentifier display '\k\+\_s*\%(=\|&=\||=\)\@='
  33. \ nextgroup=rncOperator
  34. syn keyword rncKeyword element attribute
  35. \ nextgroup=rncIdName skipwhite skipempty
  36. syn match rncIdName contained '\k\+'
  37. hi def link rncTodo Todo
  38. hi def link rncComment Comment
  39. hi def link rncOperator Operator
  40. hi def link rncNamespace Identifier
  41. hi def link rncQuoted Special
  42. hi def link rncSpecial SpecialChar
  43. hi def link rncAnnotation Special
  44. hi def link rncLiteral String
  45. hi def link rncDelimiter Delimiter
  46. hi def link rncKeyword Keyword
  47. hi def link rncIdentifier Identifier
  48. hi def link rncIdName Identifier
  49. let b:current_syntax = "rnc"
  50. let &cpo = s:cpo_save
  51. unlet s:cpo_save