summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/raml.vim
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:44:22 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:44:22 +0300
commit934382c8a1ce738589dee9ee0f14e1cec812770e (patch)
treef13715762efd06518f8aec3a2bf39ac8a615987f /uvim/runtime/syntax/raml.vim
parent0b24459ac12b6cf9fd5a401d647796ca254a8fa8 (diff)
parent7088926316d8d4a7572a242d0765e99adfc8b083 (diff)
downloadProject-Tick-934382c8a1ce738589dee9ee0f14e1cec812770e.tar.gz
Project-Tick-934382c8a1ce738589dee9ee0f14e1cec812770e.zip
Add 'uvim/' from commit '7088926316d8d4a7572a242d0765e99adfc8b083'
git-subtree-dir: uvim git-subtree-mainline: 0b24459ac12b6cf9fd5a401d647796ca254a8fa8 git-subtree-split: 7088926316d8d4a7572a242d0765e99adfc8b083
Diffstat (limited to 'uvim/runtime/syntax/raml.vim')
-rw-r--r--uvim/runtime/syntax/raml.vim106
1 files changed, 106 insertions, 0 deletions
diff --git a/uvim/runtime/syntax/raml.vim b/uvim/runtime/syntax/raml.vim
new file mode 100644
index 0000000000..062a71c81b
--- /dev/null
+++ b/uvim/runtime/syntax/raml.vim
@@ -0,0 +1,106 @@
+" Vim syntax file
+" Language: RAML (RESTful API Modeling Language)
+" Maintainer: Eric Hopkins <eric.on.tech@gmail.com>
+" URL: https://github.com/in3d/vim-raml
+" License: Same as Vim
+" Last Change: 2018-11-03
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword ramlTodo contained TODO FIXME XXX NOTE
+
+syn region ramlComment display oneline start='\%(^\|\s\)#' end='$'
+ \ contains=ramlTodo,@Spell
+
+syn region ramlVersion display oneline start='#%RAML' end='$'
+
+syn match ramlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
+
+syn match ramlAnchor '&.\+'
+
+syn match ramlAlias '\*.\+'
+
+syn match ramlDelimiter '[-,:]'
+syn match ramlBlock '[\[\]{}>|]'
+syn match ramlOperator '[?+-]'
+syn match ramlKey '\h\+\(?\)\?\ze\s*:'
+syn match ramlKey '\w\+\(\s\+\w\+\)*\(?\)\?\ze\s*:'
+syn match routeKey '\/\w\+\(\s\+\w\+\)*\ze\s*:'
+syn match routeKey 'application\/\w\+\ze\s*:'
+syn match routeParamKey '\/{\w\+}*\ze\s*:'
+
+syn region ramlString matchgroup=ramlStringDelimiter
+ \ start=+\s"+ skip=+\\"+ end=+"+
+ \ contains=ramlEscape
+syn region ramlString matchgroup=ramlStringDelimiter
+ \ start=+\s'+ skip=+''+ end=+'+
+ \ contains=ramlStringEscape
+syn region ramlParameter matchgroup=ramlParameterDelimiter
+ \ start=+<<+ skip=+''+ end=+>>+
+syn match ramlEscape contained display +\\[\\"abefnrtv^0_ NLP]+
+syn match ramlEscape contained display '\\x\x\{2}'
+syn match ramlEscape contained display '\\u\x\{4}'
+syn match ramlEscape contained display '\\U\x\{8}'
+syn match ramlEscape display '\\\%(\r\n\|[\r\n]\)'
+syn match ramlStringEscape contained +''+
+
+syn match ramlNumber display
+ \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
+syn match ramlNumber display '0\o\+'
+syn match ramlNumber display '0x\x\+'
+syn match ramlNumber display '([+-]\=[iI]nf)'
+syn match ramlNumber display '(NaN)'
+
+syn match ramlConstant '\<[~yn]\>'
+syn keyword ramlConstant true True TRUE false False FALSE
+syn keyword ramlConstant yes Yes on ON no No off OFF
+syn keyword ramlConstant null Null NULL nil Nil NIL
+
+syn keyword httpVerbs get post put delete head patch options
+syn keyword ramlTypes string number integer date boolean file
+
+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\)\='
+
+syn region ramlDocumentHeader start='---' end='$' contains=ramlDirective
+syn match ramlDocumentEnd '\.\.\.'
+
+syn match ramlDirective contained '%[^:]\+:.\+'
+
+hi def link ramlVersion String
+hi def link routeInterpolation String
+hi def link ramlInterpolation Constant
+hi def link ramlTodo Todo
+hi def link ramlComment Comment
+hi def link ramlDocumentHeader PreProc
+hi def link ramlDocumentEnd PreProc
+hi def link ramlDirective Keyword
+hi def link ramlNodeProperty Type
+hi def link ramlAnchor Type
+hi def link ramlAlias Type
+hi def link ramlBlock Operator
+hi def link ramlOperator Operator
+hi def link routeParamKey SpecialChar
+hi def link ramlKey Identifier
+hi def link routeKey SpecialChar
+hi def link ramlParameterDelimiter Type
+hi def link ramlParameter Type
+hi def link ramlString String
+hi def link ramlStringDelimiter ramlString
+hi def link ramlEscape SpecialChar
+hi def link ramlStringEscape SpecialChar
+hi def link ramlNumber Number
+hi def link ramlConstant Constant
+hi def link ramlTimestamp Number
+hi def link httpVerbs Statement
+hi def link ramlTypes Type
+hi def link ramlDelimiter Delimiter
+
+let b:current_syntax = "raml"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save