view runtime/syntax/cmakecache.vim @ 34936:f734fd771c45 v9.1.0325

patch 9.1.0325: filetype: CMakeCache.txt files not recognized Commit: https://github.com/vim/vim/commit/62c09e032c6b2d49fffac726300d142381924b98 Author: Wu, Zhenyu <wuzhenyu@ustc.edu> Date: Sun Apr 14 20:34:22 2024 +0200 patch 9.1.0325: filetype: CMakeCache.txt files not recognized Problem: filetype: CMakeCache.txt files not recognized Solution: Detect 'CMakeCache.txt' files as cmakecache filetype, include basic syntax script for cmakecache (Wu, Zhenyu, @bfrg) closes: #14384 Co-authored-by: bfrg <bfrg@users.noreply.github.com> Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 14 Apr 2024 20:45:07 +0200
parents
children
line wrap: on
line source

" Vim syntax file
" Language:     cmakecache - CMakeCache.txt files generated by CMake
" Author:       bfrg <https://github.com/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