" Check for syn file already loaded if version < 600 syn clear elseif exists("b:current_syn") finish endif " Options syn case match " SR is case-sensitive syn sync minlines=1 maxlines=1 " No need to look backwards " Keyword definitions syn keyword srType int cap file name real syn keyword srBoolean true false syn keyword srConstant null syn keyword srConditional if fi in in ni syn match srConditional "\[\]" syn keyword srKeyword fa af do od co oc by st syn keyword srKeyword call send process resource syn keyword srKeyword import to var end body skip syn keyword srKeyword const global op res procedure syn keyword srKeyword call send to import final syn keyword srKeyword create receive proc destroy syn keyword srKeyword return reply downto returns syn keyword srKeyword sem P V syn match srKeyword "->" syn keyword srOperator mod and syn keyword srFunction max min abs write writes read " Comments syn keyword srTodo TODO contained syn match srComment /#.*$/ contains=srTodo " Strings syn region srString start=+"+ end=+"+ end=+$+ " Numbers syn match srNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" syn match srNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" syn match srNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" syn match srNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" " Highlights hi def link srType Type hi def link srKeyword Statement hi def link srComment Comment hi def link srString String hi def link srNumber Number hi def link srTodo Todo hi def link srConditional Conditional hi def link srBoolean Boolean hi def link srOperator Operator hi def link srFunction Function hi def link srConstant Constant let b:current_syntax = "sr"