" Vim syntax file " Language: SVM Description " Maintainer: Thomas Feng " Updated: 2003-03-17 " " There are four options to control svm syntax highlighting. " " For highlighted numbers: " " let svm_highlight_numbers = 1 " " For highlighted builtin functions: " " let svm_highlight_builtins = 1 " " For highlighted standard exceptions: " " let svm_highlight_exceptions = 1 " " If you want all possible svm highlighting (the same as setting the " preceding three options): " " let svm_highlight_all = 1 " " 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 svmStatement AFTERSNAPSHOT BEFORESNAPSHOT Clock DESCRIPTION DUMP Debugger ENTER EVENT EXIT Eventhandler FINALIZER IMPORTATION INITIALIZER INTERACTOR InnerTransitionFirst MACRO None OPTIONS RESTORE SNAPSHOT STATECHART TRANSITION syn keyword svmPreCondit CS DS EVAL FS HS HS* INSTATE ITF OTF RTO RTT syn keyword svmStatement break continue del syn keyword svmStatement except exec finally syn keyword svmStatement pass print raise syn keyword svmStatement return try syn keyword svmStatement global assert syn keyword svmStatement lambda yield syn keyword svmStatement def class nextgroup=svmFunction skipwhite syn match svmFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained syn keyword svmRepeat for while syn keyword svmConditional if elif else syn keyword svmOperator and in is not or syn keyword svmPreCondit import from syn match svmComment "#.*$" contains=svmTodo syn keyword svmTodo contained TODO FIXME XXX " strings syn region svmString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=svmEscape syn region svmString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=svmEscape syn region svmString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=svmEscape syn region svmString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=svmEscape syn region svmRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ syn region svmRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ syn region svmRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ syn region svmRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ syn match svmEscape +\\[abfnrtv'"\\]+ contained syn match svmEscape "\\\o\o\=\o\=" contained syn match svmEscape "\\x\x\+" contained syn match svmEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained syn match svmEscape "\\$" if exists("svm_highlight_all") let svm_highlight_numbers = 1 let svm_highlight_builtins = 1 let svm_highlight_exceptions = 1 endif if exists("svm_highlight_numbers") " numbers (including longs and complex) syn match svmNumber "\<0x\x\+[Ll]\=\>" syn match svmNumber "\<\d\+[LljJ]\=\>" syn match svmNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match svmNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>" syn match svmNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" endif if exists("svm_highlight_builtins") " builtin functions, types and objects, not really part of the syntax syn keyword svmBuiltin Ellipsis None NotImplemented __import__ abs syn keyword svmBuiltin apply buffer callable chr classmethod cmp syn keyword svmBuiltin coerce compile complex delattr dict dir divmod syn keyword svmBuiltin eval execfile file filter float getattr globals syn keyword svmBuiltin hasattr hash hex id input int intern isinstance syn keyword svmBuiltin issubclass iter len list locals long map max syn keyword svmBuiltin min object oct open ord pow property range syn keyword svmBuiltin raw_input reduce reload repr round setattr syn keyword svmBuiltin slice staticmethod str super tuple type unichr syn keyword svmBuiltin unicode vars xrange zip endif if exists("svm_highlight_exceptions") " builtin exceptions and warnings syn keyword svmException ArithmeticError AssertionError AttributeError syn keyword svmException DeprecationWarning EOFError EnvironmentError syn keyword svmException Exception FloatingPointError IOError syn keyword svmException ImportError IndentiationError IndexError syn keyword svmException KeyError KeyboardInterrupt LookupError syn keyword svmException MemoryError NameError NotImplementedError syn keyword svmException OSError OverflowError OverflowWarning syn keyword svmException ReferenceError RuntimeError RuntimeWarning syn keyword svmException StandardError StopIteration SyntaxError syn keyword svmException SyntaxWarning SystemError SystemExit TabError syn keyword svmException TypeError UnboundLocalError UnicodeError syn keyword svmException UserWarning ValueError Warning WindowsError syn keyword svmException ZeroDivisionError endif " This is fast but code inside triple quoted strings screws it up. It " is impossible to fix because the only way to know if you are inside a " triple quoted string is to start from the beginning of the file. If " you have a fast machine you can try uncommenting the "sync minlines" " and commenting out the rest. syn sync match svmSync grouphere NONE "):$" syn sync maxlines=200 "syn sync minlines=2000 if version >= 508 || !exists("did_svm_syn_inits") if version <= 508 let did_svm_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif " The default methods for highlighting. Can be overridden later HiLink svmStatement Statement HiLink svmFunction Function HiLink svmConditional Conditional HiLink svmRepeat Repeat HiLink svmString String HiLink svmRawString String HiLink svmEscape Special HiLink svmOperator Operator HiLink svmPreCondit PreCondit HiLink svmComment Comment HiLink svmTodo Todo if exists("svm_highlight_numbers") HiLink svmNumber Number endif if exists("svm_highlight_builtins") HiLink svmBuiltin Function endif if exists("svm_highlight_exceptions") HiLink svmException Exception endif delcommand HiLink endif let b:current_syntax = "svm" " vim: ts=8