blob: 7d3907e991d0dc6c7f589fae0a18ecf285ba22cd [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar214641f2017-03-05 17:04:09 +01002" Language: Relax NG compact syntax
3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
4" Latest Revision: 2007-06-17
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
Bram Moolenaar42eeac32005-06-29 22:40:58 +00006if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00007 finish
8endif
9
Bram Moolenaar42eeac32005-06-29 22:40:58 +000010let s:cpo_save = &cpo
11set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000012
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000013setlocal iskeyword+=-,.
Bram Moolenaar071d4272004-06-13 20:20:40 +000014
Bram Moolenaar42eeac32005-06-29 22:40:58 +000015syn keyword rncTodo contained TODO FIXME XXX NOTE
Bram Moolenaar071d4272004-06-13 20:20:40 +000016
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000017syn region rncComment display oneline start='^\s*#' end='$'
Bram Moolenaar42eeac32005-06-29 22:40:58 +000018 \ contains=rncTodo,@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
Bram Moolenaar42eeac32005-06-29 22:40:58 +000020syn match rncOperator display '[-|,&+?*~]'
21syn match rncOperator display '\%(|&\)\=='
22syn match rncOperator display '>>'
Bram Moolenaar071d4272004-06-13 20:20:40 +000023
Bram Moolenaar42eeac32005-06-29 22:40:58 +000024syn match rncNamespace display '\<\k\+:'
Bram Moolenaar071d4272004-06-13 20:20:40 +000025
Bram Moolenaar42eeac32005-06-29 22:40:58 +000026syn match rncQuoted display '\\\k\+\>'
Bram Moolenaar071d4272004-06-13 20:20:40 +000027
Bram Moolenaar42eeac32005-06-29 22:40:58 +000028syn match rncSpecial display '\\x{\x\+}'
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
Bram Moolenaar42eeac32005-06-29 22:40:58 +000030syn region rncAnnotation transparent start='\[' end='\]'
31 \ contains=ALLBUT,rncComment,rncTodo
Bram Moolenaar071d4272004-06-13 20:20:40 +000032
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000033syn region rncLiteral display oneline start=+"+ end=+"+
Bram Moolenaar42eeac32005-06-29 22:40:58 +000034 \ contains=rncSpecial
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000035syn region rncLiteral display oneline start=+'+ end=+'+
36syn region rncLiteral display oneline start=+"""+ end=+"""+
Bram Moolenaar42eeac32005-06-29 22:40:58 +000037 \ contains=rncSpecial
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000038syn region rncLiteral display oneline start=+'''+ end=+'''+
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
Bram Moolenaar42eeac32005-06-29 22:40:58 +000040syn match rncDelimiter display '[{},()]'
Bram Moolenaar071d4272004-06-13 20:20:40 +000041
Bram Moolenaar42eeac32005-06-29 22:40:58 +000042syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000045
Bram Moolenaar42eeac32005-06-29 22:40:58 +000046syn match rncIdentifier display '\k\+\_s*\%(=\|&=\||=\)\@='
47 \ nextgroup=rncOperator
48syn keyword rncKeyword element attribute
49 \ nextgroup=rncIdName skipwhite skipempty
50syn match rncIdName contained '\k\+'
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
Bram Moolenaar42eeac32005-06-29 22:40:58 +000052hi 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000064
65let b:current_syntax = "rnc"
66
Bram Moolenaar42eeac32005-06-29 22:40:58 +000067let &cpo = s:cpo_save
68unlet s:cpo_save