home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / scilab.vim < prev    next >
Encoding:
Text File  |  2002-02-05  |  3.4 KB  |  116 lines

  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.  
  12. " For version 5.x: Clear all syntax items
  13. " For version 6.x: Quit when a syntax file was already loaded
  14. if version < 600
  15.   syntax clear
  16. elseif exists("b:current_syntax")
  17.   finish
  18. endif
  19.  
  20.  
  21. " Reserved words.
  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
  31.  
  32. " Reserved constants.
  33. syn match scilabConstant            "\(%\)[0-9A-Za-z?!#$]\+"
  34. syn match scilabBoolean                "\(%\)[FTft]\>"
  35.  
  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            "\."
  48.  
  49. syn match scilabLineContinuation    "\.\{2,}"
  50.  
  51. syn match scilabTransposition        "[])a-zA-Z0-9?!_#$.]'"lc=1
  52.  
  53. " Comments and tools.
  54. syn keyword scilabTodo                TODO todo FIXME fixme TBD tbd    contained
  55. syn match scilabComment                "//.*$"    contains=scilabTodo
  56.  
  57. " Constants.
  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
  62.  
  63. " Identifiers.
  64. syn match scilabIdentifier            "\<[A-Za-z?!_#$][A-Za-z0-9?!_#$]*\>"
  65. syn match scilabOverload            "%[A-Za-z0-9?!_#$]\+_[A-Za-z0-9?!_#$]\+"
  66.  
  67.  
  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")
  72.     if version < 508
  73.         let did_scilab_syntax_inits = 1
  74.         command -nargs=+ HiLink hi link <args>
  75.     else
  76.         command -nargs=+ HiLink hi def link <args>
  77.     endif
  78.  
  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
  87.  
  88.     HiLink    scilabConstant                Constant
  89.     HiLink    scilabBoolean                Boolean
  90.  
  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
  100.  
  101.     HiLink    scilabTodo                    Todo
  102.     HiLink    scilabComment                Comment
  103.  
  104.     HiLink    scilabNumber                Number
  105.     HiLink    scilabString                String
  106.  
  107.     HiLink    scilabIdentifier            Identifier
  108.     HiLink    scilabOverload                Special
  109.  
  110.     delcommand HiLink
  111. endif
  112.  
  113. let b:current_syntax = "scilab"
  114.  
  115. "EOF    vim: ts=4 noet tw=100 sw=4 sts=0
  116.