4 " Maintainer : Benoit Hamelin
5 " File type : *.sci (see :help filetype)
7 " 28jan2002 benoith 0.1 Creation. Adapted from matlab.vim.
8 " 04feb2002 benoith 0.5 Fixed bugs with constant highlighting.
12 " For version 5.x: Clear all syntax items
13 " For version 6.x: Quit when a syntax file was already loaded
16 elseif exists("b:current_syntax")
22 syn keyword scilabStatement abort clear clearglobal end exit global mode predef quit resume
23 syn keyword scilabStatement return
24 syn keyword scilabFunction function endfunction funptr
25 syn keyword scilabPredicate null iserror isglobal
26 syn keyword scilabKeyword typename
27 syn keyword scilabDebug debug pause what where whereami whereis who whos
28 syn keyword scilabRepeat for while break
29 syn keyword scilabConditional if then else elseif
30 syn keyword scilabMultiplex select case
33 syn match scilabConstant "\(%\)[0-9A-Za-z?!#$]\+"
34 syn match scilabBoolean "\(%\)[FTft]\>"
36 " Delimiters and operators.
37 syn match scilabDelimiter "[][;,()]"
38 syn match scilabComparison "[=~]="
39 syn match scilabComparison "[<>]=\="
40 syn match scilabComparison "<>"
41 syn match scilabLogical "[&|~]"
42 syn match scilabAssignment "="
43 syn match scilabArithmetic "[+-]"
44 syn match scilabArithmetic "\.\=[*/\\]\.\="
45 syn match scilabArithmetic "\.\=^"
46 syn match scilabRange ":"
47 syn match scilabMlistAccess "\."
49 syn match scilabLineContinuation "\.\{2,}"
51 syn match scilabTransposition "[])a-zA-Z0-9?!_#$.]'"lc=1
54 syn keyword scilabTodo TODO todo FIXME fixme TBD tbd contained
55 syn match scilabComment "//.*$" contains=scilabTodo
58 syn match scilabNumber "[0-9]\+\(\.[0-9]*\)\=\([DEde][+-]\=[0-9]\+\)\="
59 syn match scilabNumber "\.[0-9]\+\([DEde][+-]\=[0-9]\+\)\="
60 syn region scilabString start=+'+ skip=+''+ end=+'+ oneline
61 syn region scilabString start=+"+ end=+"+ oneline
64 syn match scilabIdentifier "\<[A-Za-z?!_#$][A-Za-z0-9?!_#$]*\>"
65 syn match scilabOverload "%[A-Za-z0-9?!_#$]\+_[A-Za-z0-9?!_#$]\+"
68 " Define the default highlighting.
69 " For version 5.7 and earlier: only when not done already
70 " For version 5.8 and later: only when an item doesn't have highlighting yet
71 if version >= 508 || !exists("did_scilab_syntax_inits")
73 let did_scilab_syntax_inits = 1
74 command -nargs=+ HiLink hi link <args>
76 command -nargs=+ HiLink hi def link <args>
79 HiLink scilabStatement Statement
80 HiLink scilabFunction Keyword
81 HiLink scilabPredicate Keyword
82 HiLink scilabKeyword Keyword
83 HiLink scilabDebug Debug
84 HiLink scilabRepeat Repeat
85 HiLink scilabConditional Conditional
86 HiLink scilabMultiplex Conditional
88 HiLink scilabConstant Constant
89 HiLink scilabBoolean Boolean
91 HiLink scilabDelimiter Delimiter
92 HiLink scilabMlistAccess Delimiter
93 HiLink scilabComparison Operator
94 HiLink scilabLogical Operator
95 HiLink scilabAssignment Operator
96 HiLink scilabArithmetic Operator
97 HiLink scilabRange Operator
98 HiLink scilabLineContinuation Underlined
99 HiLink scilabTransposition Operator
101 HiLink scilabTodo Todo
102 HiLink scilabComment Comment
104 HiLink scilabNumber Number
105 HiLink scilabString String
107 HiLink scilabIdentifier Identifier
108 HiLink scilabOverload Special
113 let b:current_syntax = "scilab"
115 "EOF vim: ts=4 noet tw=100 sw=4 sts=0