view runtime/syntax/scilab.vim @ 34194:a522c6c0127b v9.1.0047

patch 9.1.0047: issues with temp curwin/buf while cmdwin is open Commit: https://github.com/vim/vim/commit/988f74311c26ea9917e84fbae608de226dba7e5f Author: Sean Dewar <seandewar@users.noreply.github.com> Date: Wed Aug 16 14:17:36 2023 +0100 patch 9.1.0047: issues with temp curwin/buf while cmdwin is open Problem: Things that temporarily change/restore curwin/buf (e.g: win_execute, some autocmds) may break assumptions that curwin/buf is the cmdwin when "cmdwin_type != 0", causing issues. Solution: Expose the cmdwin's real win/buf and check that instead. Also try to ensure these variables are NULL if "cmdwin_type == 0", allowing them to be used directly in most cases without checking cmdwin_type. (Sean Dewar) Alternatively, we could ban win_execute in the cmdwin and audit all places that temporarily change/restore curwin/buf, but I didn't notice any problems arising from allowing this (standard cmdwin restrictions still apply, so things that may actually break the cmdwin are still forbidden). closes: #12819 Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 23 Jan 2024 23:00:04 +0100
parents 46763b01cd9a
children
line wrap: on
line source

"
" Vim syntax file
" Language   :	Scilab
" Maintainer :	Benoit Hamelin
" File type  :	*.sci (see :help filetype)
" History
"	28jan2002	benoith		0.1		Creation.  Adapted from matlab.vim.
"	04feb2002	benoith		0.5		Fixed bugs with constant highlighting.
"


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


" Reserved words.
syn keyword scilabStatement			abort clear clearglobal end exit global mode predef quit resume
syn keyword scilabStatement			return
syn keyword scilabFunction			function endfunction funptr
syn keyword scilabPredicate			null iserror isglobal
syn keyword scilabKeyword			typename
syn keyword scilabDebug				debug pause what where whereami whereis who whos
syn keyword scilabRepeat			for while break
syn keyword scilabConditional		if then else elseif
syn keyword scilabMultiplex			select case

" Reserved constants.
syn match scilabConstant			"\(%\)[0-9A-Za-z?!#$]\+"
syn match scilabBoolean				"\(%\)[FTft]\>"

" Delimiters and operators.
syn match scilabDelimiter			"[][;,()]"
syn match scilabComparison			"[=~]="
syn match scilabComparison			"[<>]=\="
syn match scilabComparison			"<>"
syn match scilabLogical				"[&|~]"
syn match scilabAssignment			"="
syn match scilabArithmetic			"[+-]"
syn match scilabArithmetic			"\.\=[*/\\]\.\="
syn match scilabArithmetic			"\.\=^"
syn match scilabRange				":"
syn match scilabMlistAccess			"\."

syn match scilabLineContinuation	"\.\{2,}"

syn match scilabTransposition		"[])a-zA-Z0-9?!_#$.]'"lc=1

" Comments and tools.
syn keyword scilabTodo				TODO todo FIXME fixme TBD tbd	contained
syn match scilabComment				"//.*$"	contains=scilabTodo

" Constants.
syn match scilabNumber				"[0-9]\+\(\.[0-9]*\)\=\([DEde][+-]\=[0-9]\+\)\="
syn match scilabNumber				"\.[0-9]\+\([DEde][+-]\=[0-9]\+\)\="
syn region scilabString				start=+'+ skip=+''+ end=+'+		oneline
syn region scilabString				start=+"+ end=+"+				oneline

" Identifiers.
syn match scilabIdentifier			"\<[A-Za-z?!_#$][A-Za-z0-9?!_#$]*\>"
syn match scilabOverload			"%[A-Za-z0-9?!_#$]\+_[A-Za-z0-9?!_#$]\+"


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

hi def link scilabStatement				Statement
hi def link scilabFunction				Keyword
hi def link scilabPredicate				Keyword
hi def link scilabKeyword				Keyword
hi def link scilabDebug					Debug
hi def link scilabRepeat				Repeat
hi def link scilabConditional			Conditional
hi def link scilabMultiplex				Conditional

hi def link scilabConstant				Constant
hi def link scilabBoolean				Boolean

hi def link scilabDelimiter				Delimiter
hi def link scilabMlistAccess			Delimiter
hi def link scilabComparison			Operator
hi def link scilabLogical				Operator
hi def link scilabAssignment			Operator
hi def link scilabArithmetic			Operator
hi def link scilabRange					Operator
hi def link scilabLineContinuation		Underlined
hi def link scilabTransposition			Operator

hi def link scilabTodo					Todo
hi def link scilabComment				Comment

hi def link scilabNumber				Number
hi def link scilabString				String

hi def link scilabIdentifier			Identifier
hi def link scilabOverload				Special


let b:current_syntax = "scilab"

"EOF	vim: ts=4 noet tw=100 sw=4 sts=0