kdl.vim (1649B)
1 " Vim syntax file 2 " Language: KDL 3 " Maintainer: Aram Drevekenin <aram@poor.dev> 4 " Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com> 5 " Latest Revision: 2024-06-16 6 7 " quit when a syntax file was already loaded 8 if exists("b:current_syntax") 9 finish 10 endif 11 12 syn match kdlNode '\v(\w|-|\=)' display 13 syn match kdlBool '\v(true|false)' display 14 15 syn keyword kdlTodo contained TODO FIXME XXX NOTE 16 syn region kdlComment start="//" end="$" contains=kdlTodo,@Spell 17 syn region kdlComment start="/\*" end="\*/" contains=kdlTodo,@Spell 18 19 " Regular int like number with - + or nothing in front 20 syn match kdlNumber '\d\+' 21 syn match kdlNumber '[-+]\d\+' 22 23 " Floating point number with decimal no E or e (+,-) 24 syn match kdlNumber '\d\+\.\d*' contained display 25 syn match kdlNumber '[-+]\d\+\.\d*' contained display 26 27 " Floating point like number with E and no decimal point (+,-) 28 syn match kdlNumber '[-+]\=\d[[:digit:]]*[eE][\-+]\=\d\+' contained display 29 syn match kdlNumber '\d[[:digit:]]*[eE][\-+]\=\d\+' contained display 30 31 " Floating point like number with E and decimal point (+,-) 32 syn match kdlNumber '[-+]\=\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+' contained display 33 syn match kdlNumber '\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+' contained display 34 35 syn region kdlString start='"' end='"' skip='\\\\\|\\"' display 36 37 syn region kdlChildren start="{" end="}" contains=kdlString,kdlNumber,kdlNode,kdlBool,kdlComment 38 39 hi def link kdlTodo Todo 40 hi def link kdlComment Comment 41 hi def link kdlNode Statement 42 hi def link kdlBool Boolean 43 hi def link kdlString String 44 hi def link kdlNumber Number 45 46 let b:current_syntax = "kdl" 47 48 " vim: sw=2 sts=2 et