" Vim syntax file " Language: cmakecache - CMakeCache.txt files generated by CMake " Author: bfrg " Upstream: https://github.com/bfrg/vim-cmakecache-syntax " Last Change: Nov 28, 2019 " License: Same as Vim itself (see :h license) if exists('b:current_syntax') finish endif let s:cpo_save = &cpoptions set cpoptions&vim " Comments start with # or // syntax region CMakeCacheComment start="#\|//" end="$" " Match 'key' in key:type=value syntax match CMakeCacheKey "^\s*\w\+\(-ADVANCED\)\=:"me=e-1 " Highlight 'str' in key:STRING=str (many thanks to Nickspoons in #vim!) syntax region CMakeCacheStringVar matchgroup=CMakeCacheType start=":STRING="ms=s+1,rs=e-1 end="$" contains=CMakeCacheString keepend syntax region CMakeCacheString start="="ms=s+1 end="$" contained " Highlight boolean 'value' in key:BOOL=value syntax region CMakeCacheBoolVar matchgroup=CMakeCacheType start=":BOOL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheBool keepend syntax region CMakeCacheBool start="="ms=s+1 end="$" contained " Highlight 'path' in key:PATH=path syntax region CMakeCachePathVar matchgroup=CMakeCacheType start=":PATH="ms=s+1,rs=e-1 end="$" contains=CMakeCachePath keepend syntax region CMakeCachePath start="="ms=s+1 end="$" contained " Highlight 'file' in key:FILEPATH=file syntax region CMakeCacheFilePathVar matchgroup=CMakeCacheType start=":FILEPATH="ms=s+1,rs=e-1 end="$" contains=CMakeCacheFilePath keepend syntax region CMakeCacheFilePath start="="ms=s+1 end="$" contained " Highlight 'value' in key:STATIC=value syntax region CMakeCacheStaticVar matchgroup=CMakeCacheType start=":STATIC="ms=s+1,rs=e-1 end="$" contains=CMakeCacheStatic keepend syntax region CMakeCacheStatic start="="ms=s+1 end="$" contained " Highlight 'value' in key:Internal=value syntax region CMakeCacheInternalVar matchgroup=CMakeCacheType start=":INTERNAL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheInternal keepend syntax region CMakeCacheInternal start="="ms=s+1 end="$" contained hi def link CMakeCacheComment Comment hi def link CMakeCacheKey Identifier hi def link CMakeCacheString String hi def link CMakeCacheBool Constant hi def link CMakeCachePath Directory hi def link CMakeCacheFilePath Normal hi def link CMakeCacheStatic Normal hi def link CMakeCacheInternal Normal " Highlight 'type' in key:type=value hi def link CMakeCacheType Type let b:current_syntax = 'cmakecache' let &cpoptions = s:cpo_save unlet s:cpo_save