Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " |
| 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 Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 12 | " quit when a syntax file was already loaded |
| 13 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 14 | finish |
| 15 | endif |
| 16 | |
| 17 | |
| 18 | " Reserved words. |
| 19 | syn keyword scilabStatement abort clear clearglobal end exit global mode predef quit resume |
| 20 | syn keyword scilabStatement return |
| 21 | syn keyword scilabFunction function endfunction funptr |
| 22 | syn keyword scilabPredicate null iserror isglobal |
| 23 | syn keyword scilabKeyword typename |
| 24 | syn keyword scilabDebug debug pause what where whereami whereis who whos |
| 25 | syn keyword scilabRepeat for while break |
| 26 | syn keyword scilabConditional if then else elseif |
| 27 | syn keyword scilabMultiplex select case |
| 28 | |
| 29 | " Reserved constants. |
| 30 | syn match scilabConstant "\(%\)[0-9A-Za-z?!#$]\+" |
| 31 | syn match scilabBoolean "\(%\)[FTft]\>" |
| 32 | |
| 33 | " Delimiters and operators. |
| 34 | syn match scilabDelimiter "[][;,()]" |
| 35 | syn match scilabComparison "[=~]=" |
| 36 | syn match scilabComparison "[<>]=\=" |
| 37 | syn match scilabComparison "<>" |
| 38 | syn match scilabLogical "[&|~]" |
| 39 | syn match scilabAssignment "=" |
| 40 | syn match scilabArithmetic "[+-]" |
| 41 | syn match scilabArithmetic "\.\=[*/\\]\.\=" |
| 42 | syn match scilabArithmetic "\.\=^" |
| 43 | syn match scilabRange ":" |
| 44 | syn match scilabMlistAccess "\." |
| 45 | |
| 46 | syn match scilabLineContinuation "\.\{2,}" |
| 47 | |
| 48 | syn match scilabTransposition "[])a-zA-Z0-9?!_#$.]'"lc=1 |
| 49 | |
| 50 | " Comments and tools. |
| 51 | syn keyword scilabTodo TODO todo FIXME fixme TBD tbd contained |
| 52 | syn match scilabComment "//.*$" contains=scilabTodo |
| 53 | |
| 54 | " Constants. |
| 55 | syn match scilabNumber "[0-9]\+\(\.[0-9]*\)\=\([DEde][+-]\=[0-9]\+\)\=" |
| 56 | syn match scilabNumber "\.[0-9]\+\([DEde][+-]\=[0-9]\+\)\=" |
| 57 | syn region scilabString start=+'+ skip=+''+ end=+'+ oneline |
| 58 | syn region scilabString start=+"+ end=+"+ oneline |
| 59 | |
| 60 | " Identifiers. |
| 61 | syn match scilabIdentifier "\<[A-Za-z?!_#$][A-Za-z0-9?!_#$]*\>" |
| 62 | syn match scilabOverload "%[A-Za-z0-9?!_#$]\+_[A-Za-z0-9?!_#$]\+" |
| 63 | |
| 64 | |
| 65 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 66 | " Only when an item doesn't have highlighting yet |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 67 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 68 | hi def link scilabStatement Statement |
| 69 | hi def link scilabFunction Keyword |
| 70 | hi def link scilabPredicate Keyword |
| 71 | hi def link scilabKeyword Keyword |
| 72 | hi def link scilabDebug Debug |
| 73 | hi def link scilabRepeat Repeat |
| 74 | hi def link scilabConditional Conditional |
| 75 | hi def link scilabMultiplex Conditional |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 76 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 77 | hi def link scilabConstant Constant |
| 78 | hi def link scilabBoolean Boolean |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 79 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 80 | hi def link scilabDelimiter Delimiter |
| 81 | hi def link scilabMlistAccess Delimiter |
| 82 | hi def link scilabComparison Operator |
| 83 | hi def link scilabLogical Operator |
| 84 | hi def link scilabAssignment Operator |
| 85 | hi def link scilabArithmetic Operator |
| 86 | hi def link scilabRange Operator |
| 87 | hi def link scilabLineContinuation Underlined |
| 88 | hi def link scilabTransposition Operator |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 89 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 90 | hi def link scilabTodo Todo |
| 91 | hi def link scilabComment Comment |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 92 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 93 | hi def link scilabNumber Number |
| 94 | hi def link scilabString String |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 95 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 96 | hi def link scilabIdentifier Identifier |
| 97 | hi def link scilabOverload Special |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 98 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 99 | |
| 100 | let b:current_syntax = "scilab" |
| 101 | |
| 102 | "EOF vim: ts=4 noet tw=100 sw=4 sts=0 |