view runtime/syntax/gyp.vim @ 34232:47385c831d92 v9.1.0061

patch 9.1.0061: UX of visual highlighting can be improved Commit: https://github.com/vim/vim/commit/e6d8b4662ddf9356da53f56e363b67b524fd8825 Author: Christian Brabandt <cb@256bit.org> Date: Sun Jan 28 23:33:29 2024 +0100 patch 9.1.0061: UX of visual highlighting can be improved Problem: UX of visual highlighting can be improved Solution: Improve readibility of visual highlighting, by setting better foreground and background colors The default visual highlighting currently is nice in that it overlays the actual syntax highlighting by using a separate distinct background color. However, this can cause hard to read text, because the contrast between the actual syntax element and the background color is way too low. That is an issue, that has been bothering colorschemes authors for quite some time so much, that they are defining the Visual highlighting group to use a separate foreground and background color, so that the syntax highlighting vanishes, but the text remains readable (ref: vim/colorschemes#250) So this is an attempt to perform the same fix for the default Visual highlighting and just use a default foreground and background color instead of using reverse. I also removed the hard-coded changes to the Visual highlighting in init_highlight. It's not quite clear to me, why those were there and not added directly to the highlighting_init_<dark|light> struct. closes: #13663 related: vim/colorschemes#250 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 28 Jan 2024 23:39:23 +0100
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