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