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 6if exists("b:current_syntax") 7 finish 8endif 9 10let s:cpo_save = &cpo 11set cpo&vim 12 13setlocal iskeyword+=-,. 14 15syn keyword rncTodo contained TODO FIXME XXX NOTE 16 17syn region rncComment display oneline start='^\s*#' end='$' 18 \ contains=rncTodo,@Spell 19 20syn match rncOperator display '[-|,&+?*~]' 21syn match rncOperator display '\%(|&\)\==' 22syn match rncOperator display '>>' 23 24syn match rncNamespace display '\<\k\+:' 25 26syn match rncQuoted display '\\\k\+\>' 27 28syn match rncSpecial display '\\x{\x\+}' 29 30syn region rncAnnotation transparent start='\[' end='\]' 31 \ contains=ALLBUT,rncComment,rncTodo 32 33syn region rncLiteral display oneline start=+"+ end=+"+ 34 \ contains=rncSpecial 35syn region rncLiteral display oneline start=+'+ end=+'+ 36syn region rncLiteral display oneline start=+"""+ end=+"""+ 37 \ contains=rncSpecial 38syn region rncLiteral display oneline start=+'''+ end=+'''+ 39 40syn match rncDelimiter display '[{},()]' 41 42syn keyword rncKeyword datatypes default div empty external grammar 43syn keyword rncKeyword include inherit list mixed name namespace 44syn keyword rncKeyword notAllowed parent start string text token 45 46syn match rncIdentifier display '\k\+\_s*\%(=\|&=\||=\)\@=' 47 \ nextgroup=rncOperator 48syn keyword rncKeyword element attribute 49 \ nextgroup=rncIdName skipwhite skipempty 50syn match rncIdName contained '\k\+' 51 52hi def link rncTodo Todo 53hi def link rncComment Comment 54hi def link rncOperator Operator 55hi def link rncNamespace Identifier 56hi def link rncQuoted Special 57hi def link rncSpecial SpecialChar 58hi def link rncAnnotation Special 59hi def link rncLiteral String 60hi def link rncDelimiter Delimiter 61hi def link rncKeyword Keyword 62hi def link rncIdentifier Identifier 63hi def link rncIdName Identifier 64 65let b:current_syntax = "rnc" 66 67let &cpo = s:cpo_save 68unlet s:cpo_save 69