mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 19:35:37 +00:00
vim-patch:9.1.0325: CMakeCache.txt files not recognized (#28359)
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>
This commit is contained in:
@@ -1298,6 +1298,7 @@ local filename = {
|
|||||||
['init.trans'] = 'clojure',
|
['init.trans'] = 'clojure',
|
||||||
['.trans'] = 'clojure',
|
['.trans'] = 'clojure',
|
||||||
['CMakeLists.txt'] = 'cmake',
|
['CMakeLists.txt'] = 'cmake',
|
||||||
|
['CMakeCache.txt'] = 'cmakecache',
|
||||||
['.cling_history'] = 'cpp',
|
['.cling_history'] = 'cpp',
|
||||||
['.alias'] = detect.csh,
|
['.alias'] = detect.csh,
|
||||||
['.cshrc'] = detect.csh,
|
['.cshrc'] = detect.csh,
|
||||||
|
|||||||
60
runtime/syntax/cmakecache.vim
Normal file
60
runtime/syntax/cmakecache.vim
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
" 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
|
||||||
@@ -158,6 +158,7 @@ func s:GetFilenameChecks() abort
|
|||||||
\ 'clean': ['file.dcl', 'file.icl'],
|
\ 'clean': ['file.dcl', 'file.icl'],
|
||||||
\ 'clojure': ['file.clj', 'file.cljs', 'file.cljx', 'file.cljc', 'init.trans', 'any/etc/translate-shell', '.trans'],
|
\ 'clojure': ['file.clj', 'file.cljs', 'file.cljx', 'file.cljc', 'init.trans', 'any/etc/translate-shell', '.trans'],
|
||||||
\ 'cmake': ['CMakeLists.txt', 'file.cmake', 'file.cmake.in'],
|
\ 'cmake': ['CMakeLists.txt', 'file.cmake', 'file.cmake.in'],
|
||||||
|
\ 'cmakecache': ['CMakeCache.txt'],
|
||||||
\ 'cmod': ['file.cmod'],
|
\ 'cmod': ['file.cmod'],
|
||||||
\ 'cmusrc': ['any/.cmus/autosave', 'any/.cmus/rc', 'any/.cmus/command-history', 'any/.cmus/file.theme', 'any/cmus/rc', 'any/cmus/file.theme', '/.cmus/autosave', '/.cmus/command-history', '/.cmus/file.theme', '/.cmus/rc', '/cmus/file.theme', '/cmus/rc'],
|
\ 'cmusrc': ['any/.cmus/autosave', 'any/.cmus/rc', 'any/.cmus/command-history', 'any/.cmus/file.theme', 'any/cmus/rc', 'any/cmus/file.theme', '/.cmus/autosave', '/.cmus/command-history', '/.cmus/file.theme', '/.cmus/rc', '/cmus/file.theme', '/cmus/rc'],
|
||||||
\ 'cobol': ['file.cbl', 'file.cob', 'file.lib'],
|
\ 'cobol': ['file.cbl', 'file.cob', 'file.lib'],
|
||||||
|
|||||||
Reference in New Issue
Block a user