mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	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
 |