view runtime/syntax/gyp.vim @ 33480:f8dd278ab05f v9.0.1991

patch 9.0.1991: no cmdline completion for setting the font Commit: https://github.com/vim/vim/commit/290b887e8cc2c0d3dfc7f315b2052472c7c589cc Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Thu Oct 5 20:54:21 2023 +0200 patch 9.0.1991: no cmdline completion for setting the font Problem: no cmdline completion for setting the font Solution: enable it on Win32 and GTK builds Add guifont cmdline completion (for Windows and GTK) For Windows, auto-complete will only suggest monospace fonts as that's the only types allowed. Will also suggest font options after the colon, including suggesting the current font size for convenience, and misc charset and quality options like `cANSI` and `qCLEARTYPE`. For GTK, auto-complete will suggest only monospace fonts for `guifont` but will include all fonts for `guifontwide`. The completion code doesn't currently suggest the current font size, as the GTK guifont format does not have a clear delimiter (':' for other platforms). closes: #13264 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 05 Oct 2023 21:00:07 +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