Mercurial > vim
view runtime/syntax/psl.vim @ 32960:d5c05e15cf81 v9.0.1780
patch 9.0.1780: Vim9 type not defined during object creation
Commit: https://github.com/vim/vim/commit/618e47d1cd93954bad26d47e5353b4f1432daa5e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Tue Aug 22 21:29:28 2023 +0200
patch 9.0.1780: Vim9 type not defined during object creation
Problem: Vim9 type not defined during object creation
Solution: Define type during object creation and not during class
definition, parse mulit-line member initializers, fix lock
initialization
If type is not specified for a member, set it during object creation
instead of during class definition. Add a runtime type check for the
object member initialization expression
Also, while at it, when copying an object or class, make sure the lock
is correctly initialized.
And finally, parse multi-line member initializers correctly.
closes: #11957
closes: #12868
closes: #12869
closes: #12881
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 22 Aug 2023 21:45:02 +0200 |
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