mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
50 lines
1.6 KiB
VimL
50 lines
1.6 KiB
VimL
|
" Vim syntax file
|
||
|
" Language: GYP
|
||
|
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||
|
" Filenames: *.gyp,*.gypi
|
||
|
" Last Change: 2022 Sep 27
|
||
|
|
||
|
if !exists('g:main_syntax')
|
||
|
if exists('b:current_syntax') && b:current_syntax ==# 'gyp'
|
||
|
finish
|
||
|
endif
|
||
|
let g:main_syntax = 'gyp'
|
||
|
endif
|
||
|
|
||
|
" Based on JSON syntax
|
||
|
runtime! syntax/json.vim
|
||
|
|
||
|
" Single quotes are allowed
|
||
|
syn clear jsonStringSQError
|
||
|
|
||
|
syn match jsonKeywordMatch /'\([^']\|\\\'\)\+'[[:blank:]\r\n]*\:/ contains=jsonKeyword
|
||
|
if has('conceal') && (!exists('g:vim_json_conceal') || g:vim_json_conceal==1)
|
||
|
syn region jsonKeyword matchgroup=jsonQuote start=/'/ end=/'\ze[[:blank:]\r\n]*\:/ concealends contained
|
||
|
else
|
||
|
syn region jsonKeyword matchgroup=jsonQuote start=/'/ end=/'\ze[[:blank:]\r\n]*\:/ contained
|
||
|
endif
|
||
|
|
||
|
syn match jsonStringMatch /'\([^']\|\\\'\)\+'\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString
|
||
|
if has('conceal') && (!exists('g:vim_json_conceal') || g:vim_json_conceal==1)
|
||
|
syn region jsonString oneline matchgroup=jsonQuote start=/'/ skip=/\\\\\|\\'/ end=/'/ concealends contains=jsonEscape contained
|
||
|
else
|
||
|
syn region jsonString oneline matchgroup=jsonQuote start=/'/ skip=/\\\\\|\\'/ end=/'/ contains=jsonEscape contained
|
||
|
endif
|
||
|
|
||
|
" Trailing commas are allowed
|
||
|
if !exists('g:vim_json_warnings') || g:vim_json_warnings==1
|
||
|
syn clear jsonTrailingCommaError
|
||
|
endif
|
||
|
|
||
|
" Python-style comments are allowed
|
||
|
syn match jsonComment /#.*$/ contains=jsonTodo,@Spell
|
||
|
syn keyword jsonTodo FIXME NOTE TODO XXX TBD contained
|
||
|
|
||
|
hi def link jsonComment Comment
|
||
|
hi def link jsonTodo Todo
|
||
|
|
||
|
let b:current_syntax = 'gyp'
|
||
|
if g:main_syntax ==# 'gyp'
|
||
|
unlet g:main_syntax
|
||
|
endif
|