view runtime/syntax/vdf.vim @ 33646:314ef6fe82e8 v9.0.2063

patch 9.0.2063: pacman hooks are detected as conf filetype Commit: https://github.com/vim/vim/commit/7d254dbc2db35badc65668db85f826f605486986 Author: Guido Cella <guido@guidocella.xyz> Date: Mon Oct 23 19:27:06 2023 +0200 patch 9.0.2063: pacman hooks are detected as conf filetype Problem: pacman hooks are detected as conf filetype Solution: make it consistent to pacman.conf and detect those hooks as confini Because confini has much better syntax highlighting than conf. For reference, I identified pacman.conf and pacman hooks as dosini in https://github.com/vim/vim/pull/6335, then https://github.com/vim/vim/pull/10213 changed them to conf, then https://github.com/vim/vim/pull/10518 changed pacman.conf to confini but forgot to change hooks. closes: #13399 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Guido Cella <guido@guidocella.xyz>
author Christian Brabandt <cb@256bit.org>
date Mon, 23 Oct 2023 19:30:09 +0200
parents 0827d3d6d8c0
children
line wrap: on
line source

" 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