home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: Matlab
- " Maintainer: Maurizio Tranchero - maurizio(.)tranchero(@)gmail(.)com
- " Credits: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
- " Original author: Mario Eusebio
- " Last Change: Wed Jan 13 11:12:34 CET 2010
- " sinh added to matlab implicit commands
- " Change History:
- " - 'global' and 'persistent' keyword are now recognized
-
- " 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
-
- syn keyword matlabStatement return
- syn keyword matlabLabel case switch
- syn keyword matlabConditional else elseif end if otherwise
- syn keyword matlabRepeat do for while
- " MT_ADDON - added exception-specific keywords
- syn keyword matlabExceptions try catch
- syn keyword matlabOO classdef properties events methods
-
- syn keyword matlabTodo contained TODO
- syn keyword matlabScope global persistent
-
- " If you do not want these operators lit, uncommment them and the "hi link" below
- syn match matlabArithmeticOperator "[-+]"
- syn match matlabArithmeticOperator "\.\=[*/\\^]"
- syn match matlabRelationalOperator "[=~]="
- syn match matlabRelationalOperator "[<>]=\="
- syn match matlabLogicalOperator "[&|~]"
-
- syn match matlabLineContinuation "\.\{3}"
-
- "syn match matlabIdentifier "\<\a\w*\>"
-
- " String
- " MT_ADDON - added 'skip' in order to deal with 'tic' escaping sequence
- syn region matlabString start=+'+ end=+'+ oneline skip=+''+
-
- " If you don't like tabs
- syn match matlabTab "\t"
-
- " Standard numbers
- syn match matlabNumber "\<\d\+[ij]\=\>"
- " floating point number, with dot, optional exponent
- syn match matlabFloat "\<\d\+\(\.\d*\)\=\([edED][-+]\=\d\+\)\=[ij]\=\>"
- " floating point number, starting with a dot, optional exponent
- syn match matlabFloat "\.\d\+\([edED][-+]\=\d\+\)\=[ij]\=\>"
-
- " Transpose character and delimiters: Either use just [...] or (...) aswell
- syn match matlabDelimiter "[][]"
- "syn match matlabDelimiter "[][()]"
- syn match matlabTransposeOperator "[])a-zA-Z0-9.]'"lc=1
-
- syn match matlabSemicolon ";"
-
- syn match matlabComment "%.*$" contains=matlabTodo,matlabTab
- " MT_ADDON - correctly highlights words after '...' as comments
- syn match matlabComment "\.\.\..*$" contains=matlabTodo,matlabTab
- syn region matlabMultilineComment start=+%{+ end=+%}+ contains=matlabTodo,matlabTab
-
- syn keyword matlabOperator break zeros default margin round ones rand
- syn keyword matlabOperator ceil floor size clear zeros eye mean std cov
-
- syn keyword matlabFunction error eval function
-
- syn keyword matlabImplicit abs acos atan asin cos cosh exp log prod sum
- syn keyword matlabImplicit log10 max min sign sin sinh sqrt tan reshape
-
- syn match matlabError "-\=\<\d\+\.\d\+\.[^*/\\^]"
- syn match matlabError "-\=\<\d\+\.\d\+[eEdD][-+]\=\d\+\.\([^*/\\^]\)"
-
- " 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_matlab_syntax_inits")
- if version < 508
- let did_matlab_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink matlabTransposeOperator matlabOperator
- HiLink matlabOperator Operator
- HiLink matlabLineContinuation Special
- HiLink matlabLabel Label
- HiLink matlabConditional Conditional
- HiLink matlabExceptions Conditional
- HiLink matlabRepeat Repeat
- HiLink matlabTodo Todo
- HiLink matlabString String
- HiLink matlabDelimiter Identifier
- HiLink matlabTransposeOther Identifier
- HiLink matlabNumber Number
- HiLink matlabFloat Float
- HiLink matlabFunction Function
- HiLink matlabError Error
- HiLink matlabImplicit matlabStatement
- HiLink matlabStatement Statement
- HiLink matlabOO Statement
- HiLink matlabSemicolon SpecialChar
- HiLink matlabComment Comment
- HiLink matlabMultilineComment Comment
- HiLink matlabScope Type
-
- HiLink matlabArithmeticOperator matlabOperator
- HiLink matlabRelationalOperator matlabOperator
- HiLink matlabLogicalOperator matlabOperator
-
- "optional highlighting
- "HiLink matlabIdentifier Identifier
- "HiLink matlabTab Error
-
- delcommand HiLink
- endif
-
- let b:current_syntax = "matlab"
-
- "EOF vim: ts=8 noet tw=100 sw=8 sts=0
-