xref: /vim-8.2.3635/runtime/syntax/rnc.vim (revision 214641f7)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:             Relax NG compact syntax
3*214641f7SBram Moolenaar" Previous Maintainer:  Nikolai Weibull <[email protected]>
43577c6faSBram Moolenaar" Latest Revision:      2007-06-17
5071d4279SBram Moolenaar
642eeac35SBram Moolenaarif exists("b:current_syntax")
7071d4279SBram Moolenaar  finish
8071d4279SBram Moolenaarendif
9071d4279SBram Moolenaar
1042eeac35SBram Moolenaarlet s:cpo_save = &cpo
1142eeac35SBram Moolenaarset cpo&vim
12071d4279SBram Moolenaar
133577c6faSBram Moolenaarsetlocal iskeyword+=-,.
1442eeac35SBram Moolenaar
15071d4279SBram Moolenaarsyn keyword rncTodo         contained TODO FIXME XXX NOTE
16071d4279SBram Moolenaar
170dc065eeSBram Moolenaarsyn region  rncComment      display oneline start='^\s*#' end='$'
1842eeac35SBram Moolenaar                            \ contains=rncTodo,@Spell
19071d4279SBram Moolenaar
2042eeac35SBram Moolenaarsyn match   rncOperator     display '[-|,&+?*~]'
2142eeac35SBram Moolenaarsyn match   rncOperator     display '\%(|&\)\=='
2242eeac35SBram Moolenaarsyn match   rncOperator     display '>>'
23071d4279SBram Moolenaar
2442eeac35SBram Moolenaarsyn match   rncNamespace    display '\<\k\+:'
25071d4279SBram Moolenaar
2642eeac35SBram Moolenaarsyn match   rncQuoted       display '\\\k\+\>'
27071d4279SBram Moolenaar
2842eeac35SBram Moolenaarsyn match   rncSpecial      display '\\x{\x\+}'
29071d4279SBram Moolenaar
3042eeac35SBram Moolenaarsyn region rncAnnotation    transparent start='\[' end='\]'
3142eeac35SBram Moolenaar                            \ contains=ALLBUT,rncComment,rncTodo
32071d4279SBram Moolenaar
330dc065eeSBram Moolenaarsyn region  rncLiteral      display oneline start=+"+ end=+"+
3442eeac35SBram Moolenaar                            \ contains=rncSpecial
350dc065eeSBram Moolenaarsyn region  rncLiteral      display oneline start=+'+ end=+'+
360dc065eeSBram Moolenaarsyn region  rncLiteral      display oneline start=+"""+ end=+"""+
3742eeac35SBram Moolenaar                            \ contains=rncSpecial
380dc065eeSBram Moolenaarsyn region  rncLiteral      display oneline start=+'''+ end=+'''+
39071d4279SBram Moolenaar
4042eeac35SBram Moolenaarsyn match   rncDelimiter    display '[{},()]'
41071d4279SBram Moolenaar
42071d4279SBram Moolenaarsyn keyword rncKeyword      datatypes default div empty external grammar
43071d4279SBram Moolenaarsyn keyword rncKeyword      include inherit list mixed name namespace
44071d4279SBram Moolenaarsyn keyword rncKeyword      notAllowed parent start string text token
45071d4279SBram Moolenaar
4642eeac35SBram Moolenaarsyn match   rncIdentifier   display '\k\+\_s*\%(=\|&=\||=\)\@='
4742eeac35SBram Moolenaar                            \ nextgroup=rncOperator
4842eeac35SBram Moolenaarsyn keyword rncKeyword      element attribute
4942eeac35SBram Moolenaar                            \ nextgroup=rncIdName skipwhite skipempty
5042eeac35SBram Moolenaarsyn match   rncIdName       contained '\k\+'
51071d4279SBram Moolenaar
5242eeac35SBram Moolenaarhi def link rncTodo         Todo
5342eeac35SBram Moolenaarhi def link rncComment      Comment
5442eeac35SBram Moolenaarhi def link rncOperator     Operator
5542eeac35SBram Moolenaarhi def link rncNamespace    Identifier
5642eeac35SBram Moolenaarhi def link rncQuoted       Special
5742eeac35SBram Moolenaarhi def link rncSpecial      SpecialChar
5842eeac35SBram Moolenaarhi def link rncAnnotation   Special
5942eeac35SBram Moolenaarhi def link rncLiteral      String
6042eeac35SBram Moolenaarhi def link rncDelimiter    Delimiter
6142eeac35SBram Moolenaarhi def link rncKeyword      Keyword
6242eeac35SBram Moolenaarhi def link rncIdentifier   Identifier
6342eeac35SBram Moolenaarhi def link rncIdName       Identifier
64071d4279SBram Moolenaar
65071d4279SBram Moolenaarlet b:current_syntax = "rnc"
66071d4279SBram Moolenaar
6742eeac35SBram Moolenaarlet &cpo = s:cpo_save
6842eeac35SBram Moolenaarunlet s:cpo_save
69