"
" 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.
"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif 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.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_scilab_syntax_inits")
if version < 508
let did_scilab_syntax_inits = 1
command -nargs=+ HiLink hi link