blob: bee4007f57697bcff7bcaf29d8f4658444214abf [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001"
2" Vim syntax file
3" Language : Scilab
4" Maintainer : Benoit Hamelin
5" File type : *.sci (see :help filetype)
6" History
7" 28jan2002 benoith 0.1 Creation. Adapted from matlab.vim.
8" 04feb2002 benoith 0.5 Fixed bugs with constant highlighting.
9"
10
11
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020012" quit when a syntax file was already loaded
13if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000014 finish
15endif
16
17
18" Reserved words.
19syn keyword scilabStatement abort clear clearglobal end exit global mode predef quit resume
20syn keyword scilabStatement return
21syn keyword scilabFunction function endfunction funptr
22syn keyword scilabPredicate null iserror isglobal
23syn keyword scilabKeyword typename
24syn keyword scilabDebug debug pause what where whereami whereis who whos
25syn keyword scilabRepeat for while break
26syn keyword scilabConditional if then else elseif
27syn keyword scilabMultiplex select case
28
29" Reserved constants.
30syn match scilabConstant "\(%\)[0-9A-Za-z?!#$]\+"
31syn match scilabBoolean "\(%\)[FTft]\>"
32
33" Delimiters and operators.
34syn match scilabDelimiter "[][;,()]"
35syn match scilabComparison "[=~]="
36syn match scilabComparison "[<>]=\="
37syn match scilabComparison "<>"
38syn match scilabLogical "[&|~]"
39syn match scilabAssignment "="
40syn match scilabArithmetic "[+-]"
41syn match scilabArithmetic "\.\=[*/\\]\.\="
42syn match scilabArithmetic "\.\=^"
43syn match scilabRange ":"
44syn match scilabMlistAccess "\."
45
46syn match scilabLineContinuation "\.\{2,}"
47
48syn match scilabTransposition "[])a-zA-Z0-9?!_#$.]'"lc=1
49
50" Comments and tools.
51syn keyword scilabTodo TODO todo FIXME fixme TBD tbd contained
52syn match scilabComment "//.*$" contains=scilabTodo
53
54" Constants.
55syn match scilabNumber "[0-9]\+\(\.[0-9]*\)\=\([DEde][+-]\=[0-9]\+\)\="
56syn match scilabNumber "\.[0-9]\+\([DEde][+-]\=[0-9]\+\)\="
57syn region scilabString start=+'+ skip=+''+ end=+'+ oneline
58syn region scilabString start=+"+ end=+"+ oneline
59
60" Identifiers.
61syn match scilabIdentifier "\<[A-Za-z?!_#$][A-Za-z0-9?!_#$]*\>"
62syn match scilabOverload "%[A-Za-z0-9?!_#$]\+_[A-Za-z0-9?!_#$]\+"
63
64
65" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020066" Only when an item doesn't have highlighting yet
67command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000068
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020069HiLink scilabStatement Statement
70HiLink scilabFunction Keyword
71HiLink scilabPredicate Keyword
72HiLink scilabKeyword Keyword
73HiLink scilabDebug Debug
74HiLink scilabRepeat Repeat
75HiLink scilabConditional Conditional
76HiLink scilabMultiplex Conditional
Bram Moolenaar071d4272004-06-13 20:20:40 +000077
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020078HiLink scilabConstant Constant
79HiLink scilabBoolean Boolean
Bram Moolenaar071d4272004-06-13 20:20:40 +000080
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020081HiLink scilabDelimiter Delimiter
82HiLink scilabMlistAccess Delimiter
83HiLink scilabComparison Operator
84HiLink scilabLogical Operator
85HiLink scilabAssignment Operator
86HiLink scilabArithmetic Operator
87HiLink scilabRange Operator
88HiLink scilabLineContinuation Underlined
89HiLink scilabTransposition Operator
Bram Moolenaar071d4272004-06-13 20:20:40 +000090
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020091HiLink scilabTodo Todo
92HiLink scilabComment Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +000093
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020094HiLink scilabNumber Number
95HiLink scilabString String
Bram Moolenaar071d4272004-06-13 20:20:40 +000096
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020097HiLink scilabIdentifier Identifier
98HiLink scilabOverload Special
Bram Moolenaar071d4272004-06-13 20:20:40 +000099
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200100delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000101
102let b:current_syntax = "scilab"
103
104"EOF vim: ts=4 noet tw=100 sw=4 sts=0