comparison runtime/syntax/raml.vim @ 14999:2b30a2b4bde2

Update runtime files commit https://github.com/vim/vim/commit/ba3ff539303c7bb6e46a6802dce3c7b2e55284e0 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 4 14:45:49 2018 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 04 Nov 2018 15:00:08 +0100
parents
children
comparison
equal deleted inserted replaced
14998:921dcc025fc7 14999:2b30a2b4bde2
1 " Vim syntax file
2 " Language: RAML (RESTful API Modeling Language)
3 " Maintainer: Eric Hopkins <eric.on.tech@gmail.com>
4 " URL: https://github.com/in3d/vim-raml
5 " License: Same as Vim
6 " Last Change: 2018-11-03
7
8 if exists("b:current_syntax")
9 finish
10 endif
11
12 let s:cpo_save = &cpo
13 set cpo&vim
14
15 syn keyword ramlTodo contained TODO FIXME XXX NOTE
16
17 syn region ramlComment display oneline start='\%(^\|\s\)#' end='$'
18 \ contains=ramlTodo,@Spell
19
20 syn region ramlVersion display oneline start='#%RAML' end='$'
21
22 syn match ramlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
23
24 syn match ramlAnchor '&.\+'
25
26 syn match ramlAlias '\*.\+'
27
28 syn match ramlDelimiter '[-,:]'
29 syn match ramlBlock '[\[\]{}>|]'
30 syn match ramlOperator '[?+-]'
31 syn match ramlKey '\h\+\(?\)\?\ze\s*:'
32 syn match ramlKey '\w\+\(\s\+\w\+\)*\(?\)\?\ze\s*:'
33 syn match routeKey '\/\w\+\(\s\+\w\+\)*\ze\s*:'
34 syn match routeKey 'application\/\w\+\ze\s*:'
35 syn match routeParamKey '\/{\w\+}*\ze\s*:'
36
37 syn region ramlString matchgroup=ramlStringDelimiter
38 \ start=+\s"+ skip=+\\"+ end=+"+
39 \ contains=ramlEscape
40 syn region ramlString matchgroup=ramlStringDelimiter
41 \ start=+\s'+ skip=+''+ end=+'+
42 \ contains=ramlStringEscape
43 syn region ramlParameter matchgroup=ramlParameterDelimiter
44 \ start=+<<+ skip=+''+ end=+>>+
45 syn match ramlEscape contained display +\\[\\"abefnrtv^0_ NLP]+
46 syn match ramlEscape contained display '\\x\x\{2}'
47 syn match ramlEscape contained display '\\u\x\{4}'
48 syn match ramlEscape contained display '\\U\x\{8}'
49 syn match ramlEscape display '\\\%(\r\n\|[\r\n]\)'
50 syn match ramlStringEscape contained +''+
51
52 syn match ramlNumber display
53 \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
54 syn match ramlNumber display '0\o\+'
55 syn match ramlNumber display '0x\x\+'
56 syn match ramlNumber display '([+-]\=[iI]nf)'
57 syn match ramlNumber display '(NaN)'
58
59 syn match ramlConstant '\<[~yn]\>'
60 syn keyword ramlConstant true True TRUE false False FALSE
61 syn keyword ramlConstant yes Yes on ON no No off OFF
62 syn keyword ramlConstant null Null NULL nil Nil NIL
63
64 syn keyword httpVerbs get post put delete head patch options
65 syn keyword ramlTypes string number integer date boolean file
66
67 syn match ramlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
68
69 syn region ramlDocumentHeader start='---' end='$' contains=ramlDirective
70 syn match ramlDocumentEnd '\.\.\.'
71
72 syn match ramlDirective contained '%[^:]\+:.\+'
73
74 hi def link ramlVersion String
75 hi def link routeInterpolation String
76 hi def link ramlInterpolation Constant
77 hi def link ramlTodo Todo
78 hi def link ramlComment Comment
79 hi def link ramlDocumentHeader PreProc
80 hi def link ramlDocumentEnd PreProc
81 hi def link ramlDirective Keyword
82 hi def link ramlNodeProperty Type
83 hi def link ramlAnchor Type
84 hi def link ramlAlias Type
85 hi def link ramlBlock Operator
86 hi def link ramlOperator Operator
87 hi def link routeParamKey SpecialChar
88 hi def link ramlKey Identifier
89 hi def link routeKey SpecialChar
90 hi def link ramlParameterDelimiter Type
91 hi def link ramlParameter Type
92 hi def link ramlString String
93 hi def link ramlStringDelimiter ramlString
94 hi def link ramlEscape SpecialChar
95 hi def link ramlStringEscape SpecialChar
96 hi def link ramlNumber Number
97 hi def link ramlConstant Constant
98 hi def link ramlTimestamp Number
99 hi def link httpVerbs Statement
100 hi def link ramlTypes Type
101 hi def link ramlDelimiter Delimiter
102
103 let b:current_syntax = "raml"
104
105 let &cpo = s:cpo_save
106 unlet s:cpo_save