xref: /vim-8.2.3635/runtime/syntax/scilab.vim (revision f37506f6)
1071d4279SBram Moolenaar"
2071d4279SBram Moolenaar" Vim syntax file
3071d4279SBram Moolenaar" Language   :	Scilab
4071d4279SBram Moolenaar" Maintainer :	Benoit Hamelin
5071d4279SBram Moolenaar" File type  :	*.sci (see :help filetype)
6071d4279SBram Moolenaar" History
7071d4279SBram Moolenaar"	28jan2002	benoith		0.1		Creation.  Adapted from matlab.vim.
8071d4279SBram Moolenaar"	04feb2002	benoith		0.5		Fixed bugs with constant highlighting.
9071d4279SBram Moolenaar"
10071d4279SBram Moolenaar
11071d4279SBram Moolenaar
1289bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1389bcfda6SBram Moolenaarif exists("b:current_syntax")
14071d4279SBram Moolenaar  finish
15071d4279SBram Moolenaarendif
16071d4279SBram Moolenaar
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar" Reserved words.
19071d4279SBram Moolenaarsyn keyword scilabStatement			abort clear clearglobal end exit global mode predef quit resume
20071d4279SBram Moolenaarsyn keyword scilabStatement			return
21071d4279SBram Moolenaarsyn keyword scilabFunction			function endfunction funptr
22071d4279SBram Moolenaarsyn keyword scilabPredicate			null iserror isglobal
23071d4279SBram Moolenaarsyn keyword scilabKeyword			typename
24071d4279SBram Moolenaarsyn keyword scilabDebug				debug pause what where whereami whereis who whos
25071d4279SBram Moolenaarsyn keyword scilabRepeat			for while break
26071d4279SBram Moolenaarsyn keyword scilabConditional		if then else elseif
27071d4279SBram Moolenaarsyn keyword scilabMultiplex			select case
28071d4279SBram Moolenaar
29071d4279SBram Moolenaar" Reserved constants.
30071d4279SBram Moolenaarsyn match scilabConstant			"\(%\)[0-9A-Za-z?!#$]\+"
31071d4279SBram Moolenaarsyn match scilabBoolean				"\(%\)[FTft]\>"
32071d4279SBram Moolenaar
33071d4279SBram Moolenaar" Delimiters and operators.
34071d4279SBram Moolenaarsyn match scilabDelimiter			"[][;,()]"
35071d4279SBram Moolenaarsyn match scilabComparison			"[=~]="
36071d4279SBram Moolenaarsyn match scilabComparison			"[<>]=\="
37071d4279SBram Moolenaarsyn match scilabComparison			"<>"
38071d4279SBram Moolenaarsyn match scilabLogical				"[&|~]"
39071d4279SBram Moolenaarsyn match scilabAssignment			"="
40071d4279SBram Moolenaarsyn match scilabArithmetic			"[+-]"
41071d4279SBram Moolenaarsyn match scilabArithmetic			"\.\=[*/\\]\.\="
42071d4279SBram Moolenaarsyn match scilabArithmetic			"\.\=^"
43071d4279SBram Moolenaarsyn match scilabRange				":"
44071d4279SBram Moolenaarsyn match scilabMlistAccess			"\."
45071d4279SBram Moolenaar
46071d4279SBram Moolenaarsyn match scilabLineContinuation	"\.\{2,}"
47071d4279SBram Moolenaar
48071d4279SBram Moolenaarsyn match scilabTransposition		"[])a-zA-Z0-9?!_#$.]'"lc=1
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar" Comments and tools.
51071d4279SBram Moolenaarsyn keyword scilabTodo				TODO todo FIXME fixme TBD tbd	contained
52071d4279SBram Moolenaarsyn match scilabComment				"//.*$"	contains=scilabTodo
53071d4279SBram Moolenaar
54071d4279SBram Moolenaar" Constants.
55071d4279SBram Moolenaarsyn match scilabNumber				"[0-9]\+\(\.[0-9]*\)\=\([DEde][+-]\=[0-9]\+\)\="
56071d4279SBram Moolenaarsyn match scilabNumber				"\.[0-9]\+\([DEde][+-]\=[0-9]\+\)\="
57071d4279SBram Moolenaarsyn region scilabString				start=+'+ skip=+''+ end=+'+		oneline
58071d4279SBram Moolenaarsyn region scilabString				start=+"+ end=+"+				oneline
59071d4279SBram Moolenaar
60071d4279SBram Moolenaar" Identifiers.
61071d4279SBram Moolenaarsyn match scilabIdentifier			"\<[A-Za-z?!_#$][A-Za-z0-9?!_#$]*\>"
62071d4279SBram Moolenaarsyn match scilabOverload			"%[A-Za-z0-9?!_#$]\+_[A-Za-z0-9?!_#$]\+"
63071d4279SBram Moolenaar
64071d4279SBram Moolenaar
65071d4279SBram Moolenaar" Define the default highlighting.
6689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
67071d4279SBram Moolenaar
68*f37506f6SBram Moolenaarhi def link scilabStatement				Statement
69*f37506f6SBram Moolenaarhi def link scilabFunction				Keyword
70*f37506f6SBram Moolenaarhi def link scilabPredicate				Keyword
71*f37506f6SBram Moolenaarhi def link scilabKeyword				Keyword
72*f37506f6SBram Moolenaarhi def link scilabDebug					Debug
73*f37506f6SBram Moolenaarhi def link scilabRepeat				Repeat
74*f37506f6SBram Moolenaarhi def link scilabConditional			Conditional
75*f37506f6SBram Moolenaarhi def link scilabMultiplex				Conditional
76071d4279SBram Moolenaar
77*f37506f6SBram Moolenaarhi def link scilabConstant				Constant
78*f37506f6SBram Moolenaarhi def link scilabBoolean				Boolean
79071d4279SBram Moolenaar
80*f37506f6SBram Moolenaarhi def link scilabDelimiter				Delimiter
81*f37506f6SBram Moolenaarhi def link scilabMlistAccess			Delimiter
82*f37506f6SBram Moolenaarhi def link scilabComparison			Operator
83*f37506f6SBram Moolenaarhi def link scilabLogical				Operator
84*f37506f6SBram Moolenaarhi def link scilabAssignment			Operator
85*f37506f6SBram Moolenaarhi def link scilabArithmetic			Operator
86*f37506f6SBram Moolenaarhi def link scilabRange					Operator
87*f37506f6SBram Moolenaarhi def link scilabLineContinuation		Underlined
88*f37506f6SBram Moolenaarhi def link scilabTransposition			Operator
89071d4279SBram Moolenaar
90*f37506f6SBram Moolenaarhi def link scilabTodo					Todo
91*f37506f6SBram Moolenaarhi def link scilabComment				Comment
92071d4279SBram Moolenaar
93*f37506f6SBram Moolenaarhi def link scilabNumber				Number
94*f37506f6SBram Moolenaarhi def link scilabString				String
95071d4279SBram Moolenaar
96*f37506f6SBram Moolenaarhi def link scilabIdentifier			Identifier
97*f37506f6SBram Moolenaarhi def link scilabOverload				Special
98071d4279SBram Moolenaar
99071d4279SBram Moolenaar
100071d4279SBram Moolenaarlet b:current_syntax = "scilab"
101071d4279SBram Moolenaar
102071d4279SBram Moolenaar"EOF	vim: ts=4 noet tw=100 sw=4 sts=0
103