view runtime/syntax/psl.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 9f41bfdbc6fc
children
line wrap: on
line source

" Vim syntax file
" Language:	Property Specification Language (PSL)
" Maintainer:	Daniel Kho <daniel.kho@logik.haus>
" Last Changed:	2021 Apr 17 by Daniel Kho

" quit when a syntax file was already loaded
if exists("b:current_syntax")
  finish
endif

" Read in VHDL syntax files
runtime! syntax/vhdl.vim
unlet b:current_syntax

let s:cpo_save = &cpo
set cpo&vim

" case is not significant
syn case	ignore

" Add ! character to keyword recognition.
setlocal iskeyword+=33

" PSL keywords
syn keyword	pslOperator	A AF AG AX
syn keyword	pslOperator	E EF EG EX
syn keyword	pslOperator	F G U W X X!
syn keyword	pslOperator	abort always assert assume async_abort
syn keyword	pslOperator	before before! before!_ before_ bit bitvector boolean
syn keyword	pslOperator	clock const countones cover
syn keyword	pslOperator	default
syn keyword	pslOperator	ended eventually!
syn keyword	pslOperator	fairness fell for forall
syn keyword	pslOperator	hdltype
syn keyword	pslOperator	in inf inherit isunknown
syn keyword	pslOperator	mutable
syn keyword	pslOperator	never next next! next_a next_a! next_e next_e! next_event next_event! next_event_a next_event_a! next_event_e next_event_e! nondet nondet_vector numeric
syn keyword	pslOperator	onehot onehot0
syn keyword	pslOperator	property prev
syn keyword	pslOperator	report restrict restrict! rose
syn keyword	pslOperator	sequence stable string strong sync_abort
syn keyword	pslOperator	union until until! until!_ until_
syn keyword	pslOperator	vmode vpkg vprop vunit
syn keyword	pslOperator	within
"" Common keywords with VHDL
"syn keyword	pslOperator	and is not or to

" PSL operators
syn match	pslOperator	"=>\||=>"
syn match	pslOperator	"<-\|->"
syn match	pslOperator	"@"


"Modify the following as needed.  The trade-off is performance versus functionality.
syn sync	minlines=600

" Define the default highlighting.
" Only when an item doesn't have highlighting yet

hi def link pslSpecial	    Special
hi def link pslStatement    Statement
hi def link pslCharacter    Character
hi def link pslString	    String
hi def link pslVector	    Number
hi def link pslBoolean	    Number
hi def link pslTodo	    Todo
hi def link pslFixme	    Fixme
hi def link pslComment	    Comment
hi def link pslNumber	    Number
hi def link pslTime	    Number
hi def link pslType	    Type
hi def link pslOperator	    Operator
hi def link pslError	    Error
hi def link pslAttribute    Special
hi def link pslPreProc	    PreProc


let b:current_syntax = "psl"

let &cpo = s:cpo_save
unlet s:cpo_save

" vim: ts=8