mirror of
https://github.com/neovim/neovim.git
synced 2024-12-25 05:35:10 -07:00
07661009c5
vim-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: vim/vim#14384
62c09e032c
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Co-authored-by: bfrg <bfrg@users.noreply.github.com>
61 lines
2.5 KiB
VimL
61 lines
2.5 KiB
VimL
" 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
|