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