runtime(kdl): include syntax, indent and ftplugin files
closes: #14956 Co-authored-by: Aram Drevekenin <aram@poor.dev> Signed-off-by: inzuo Jiang <jiangyinzuo@foxmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
d03882baac
commit
2d88210b3c
45
runtime/syntax/kdl.vim
Normal file
45
runtime/syntax/kdl.vim
Normal file
@ -0,0 +1,45 @@
|
||||
" Vim syntax file
|
||||
" Language: KDL
|
||||
" Maintainer: Aram Drevekenin <aram@poor.dev>
|
||||
" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com>
|
||||
" Latest Revision: 2024-06-10
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn match kdlNode '\v(\w|-|\=)' display
|
||||
syn match kdlBool '\v(true|false)' display
|
||||
|
||||
syn keyword kdlTodo contained TODO FIXME XXX NOTE
|
||||
syn match kdlComment "//.*$" contains=kdlTodo
|
||||
|
||||
" Regular int like number with - + or nothing in front
|
||||
syn match kdlNumber '\d\+'
|
||||
syn match kdlNumber '[-+]\d\+'
|
||||
|
||||
" Floating point number with decimal no E or e (+,-)
|
||||
syn match kdlNumber '\d\+\.\d*' contained display
|
||||
syn match kdlNumber '[-+]\d\+\.\d*' contained display
|
||||
|
||||
" Floating point like number with E and no decimal point (+,-)
|
||||
syn match kdlNumber '[-+]\=\d[[:digit:]]*[eE][\-+]\=\d\+' contained display
|
||||
syn match kdlNumber '\d[[:digit:]]*[eE][\-+]\=\d\+' contained display
|
||||
|
||||
" Floating point like number with E and decimal point (+,-)
|
||||
syn match kdlNumber '[-+]\=\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+' contained display
|
||||
syn match kdlNumber '\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+' contained display
|
||||
|
||||
syn region kdlString start='"' end='"' skip='\\\\\|\\"' display
|
||||
|
||||
syn region kdlChildren start="{" end="}" contains=kdlString,kdlNumber,kdlNode,kdlBool,kdlComment
|
||||
|
||||
hi def link kdlTodo Todo
|
||||
hi def link kdlComment Comment
|
||||
hi def link kdlNode Statement
|
||||
hi def link kdlBool Boolean
|
||||
hi def link kdlString String
|
||||
hi def link kdlNumber Number
|
||||
|
||||
let b:current_syntax = "kdl"
|
||||
Reference in New Issue
Block a user