| 
									
										
										
										
											2024-06-10 21:13:56 +02:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language: KDL | 
					
						
							|  |  |  | " Maintainer: Aram Drevekenin <aram@poor.dev> | 
					
						
							|  |  |  | " Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com> | 
					
						
							| 
									
										
										
										
											2024-06-16 14:47:47 +08:00
										 |  |  | " Latest Revision: 2024-06-16 | 
					
						
							| 
									
										
										
										
											2024-06-10 21:13:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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 | 
					
						
							| 
									
										
										
										
											2024-06-16 14:47:47 +08:00
										 |  |  | syn region  kdlComment start="//"  end="$"   contains=kdlTodo,@Spell | 
					
						
							|  |  |  | syn region  kdlComment start="/\*" end="\*/" contains=kdlTodo,@Spell | 
					
						
							| 
									
										
										
										
											2024-06-10 21:13:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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 | 
					
						
							| 
									
										
										
										
											2024-06-16 14:47:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-10 21:13:56 +02:00
										 |  |  | " 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 | 
					
						
							| 
									
										
										
										
											2024-06-16 14:47:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-10 21:13:56 +02:00
										 |  |  | " 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 | 
					
						
							| 
									
										
										
										
											2024-06-16 14:47:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-10 21:13:56 +02:00
										 |  |  | 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" | 
					
						
							| 
									
										
										
										
											2024-06-16 14:47:47 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | " vim: sw=2 sts=2 et |