mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	Valve Data Format
 | 
						|
" Maintainer:	ObserverOfTime <chronobserver@disroot.org>
 | 
						|
" Filenames:	*.vdf
 | 
						|
" Last Change:	2022 Sep 15
 | 
						|
 | 
						|
if exists('b:current_syntax')
 | 
						|
    finish
 | 
						|
endif
 | 
						|
 | 
						|
let s:cpo_save = &cpoptions
 | 
						|
set cpoptions&vim
 | 
						|
 | 
						|
" Comment
 | 
						|
syn keyword vdfTodo contained TODO FIXME XXX
 | 
						|
syn match vdfComment +//.*+ contains=vdfTodo
 | 
						|
 | 
						|
" Macro
 | 
						|
syn match vdfMacro /^\s*#.*/
 | 
						|
 | 
						|
" Tag
 | 
						|
syn region vdfTag start=/"/ skip=/\\"/ end=/"/
 | 
						|
            \ nextgroup=vdfValue skipwhite oneline
 | 
						|
 | 
						|
" Section
 | 
						|
syn region vdfSection matchgroup=vdfBrace
 | 
						|
            \ start=/{/ end=/}/ transparent fold
 | 
						|
            \ contains=vdfTag,vdfSection,vdfComment,vdfConditional
 | 
						|
 | 
						|
" Conditional
 | 
						|
syn match vdfConditional /\[\$\w\{1,1021}\]/ nextgroup=vdfTag
 | 
						|
 | 
						|
" Value
 | 
						|
syn region vdfValue start=/"/ skip=/\\"/ end=/"/
 | 
						|
            \ oneline contained contains=vdfVariable,vdfNumber,vdfEscape
 | 
						|
syn region vdfVariable start=/%/ skip=/\\%/ end=/%/ oneline contained
 | 
						|
syn match vdfEscape /\\[nt\\"]/ contained
 | 
						|
syn match vdfNumber /"-\?\d\+"/ contained
 | 
						|
 | 
						|
hi def link vdfBrace Delimiter
 | 
						|
hi def link vdfComment Comment
 | 
						|
hi def link vdfConditional Constant
 | 
						|
hi def link vdfEscape SpecialChar
 | 
						|
hi def link vdfMacro Macro
 | 
						|
hi def link vdfNumber Number
 | 
						|
hi def link vdfTag Keyword
 | 
						|
hi def link vdfTodo Todo
 | 
						|
hi def link vdfValue String
 | 
						|
hi def link vdfVariable Identifier
 | 
						|
 | 
						|
let b:current_syntax = 'vdf'
 | 
						|
 | 
						|
let &cpoptions = s:cpo_save
 | 
						|
unlet s:cpo_save
 |