neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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