view runtime/syntax/gyp.vim @ 33485:d765c6869d22

Added tag v9.0.1993 for changeset 66c2576530b3392b9a6f01ddadf6b0192b18987a
author Christian Brabandt <cb@256bit.org>
date Thu, 05 Oct 2023 22:30:05 +0200
parents 1e91e26ceebf
children
line wrap: on
line source

" 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