sather.vim (3489B)
1 " Vim syntax file 2 " Language: Sather/pSather 3 " Maintainer: Claudio Fleiner <claudio@fleiner.com> 4 " URL: http://www.fleiner.com/vim/syntax/sather.vim 5 " Last Change: 2003 May 11 6 7 " Sather is a OO-language developed at the International Computer Science 8 " Institute (ICSI) in Berkeley, CA. pSather is a parallel extension to Sather. 9 " Homepage: http://www.icsi.berkeley.edu/~sather 10 " Sather files use .sa as suffix 11 12 " quit when a syntax file was already loaded 13 if exists("b:current_syntax") 14 finish 15 endif 16 17 " keyword definitions 18 syn keyword satherExternal extern 19 syn keyword satherBranch break continue 20 syn keyword satherLabel when then 21 syn keyword satherConditional if else elsif end case typecase assert with 22 syn match satherConditional "near$" 23 syn match satherConditional "far$" 24 syn match satherConditional "near *[^(]"he=e-1 25 syn match satherConditional "far *[^(]"he=e-1 26 syn keyword satherSynchronize lock guard sync 27 syn keyword satherRepeat loop parloop do 28 syn match satherRepeat "while!" 29 syn match satherRepeat "break!" 30 syn match satherRepeat "until!" 31 syn keyword satherBoolValue true false 32 syn keyword satherValue self here cluster 33 syn keyword satherOperator new "== != & ^ | && || 34 syn keyword satherOperator and or not 35 syn match satherOperator "[#!]" 36 syn match satherOperator ":-" 37 syn keyword satherType void attr where 38 syn match satherType "near *("he=e-1 39 syn match satherType "far *("he=e-1 40 syn keyword satherStatement return 41 syn keyword satherStorageClass static const 42 syn keyword satherExceptions try raise catch 43 syn keyword satherMethodDecl is pre post 44 syn keyword satherClassDecl abstract value class include 45 syn keyword satherScopeDecl public private readonly 46 47 48 syn match satherSpecial contained "\\\d\d\d\|\\." 49 syn region satherString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=satherSpecial 50 syn match satherCharacter "'[^\\]'" 51 syn match satherSpecialCharacter "'\\.'" 52 syn match satherNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" 53 syn match satherCommentSkip contained "^\s*\*\($\|\s\+\)" 54 syn region satherComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+$\|"+ contains=satherSpecial 55 syn match satherComment "--.*" contains=satherComment2String,satherCharacter,satherNumber 56 57 58 syn sync ccomment satherComment 59 60 " Define the default highlighting. 61 " Only when an item doesn't have highlighting yet 62 63 hi def link satherBranch satherStatement 64 hi def link satherLabel satherStatement 65 hi def link satherConditional satherStatement 66 hi def link satherSynchronize satherStatement 67 hi def link satherRepeat satherStatement 68 hi def link satherExceptions satherStatement 69 hi def link satherStorageClass satherDeclarative 70 hi def link satherMethodDecl satherDeclarative 71 hi def link satherClassDecl satherDeclarative 72 hi def link satherScopeDecl satherDeclarative 73 hi def link satherBoolValue satherValue 74 hi def link satherSpecial satherValue 75 hi def link satherString satherValue 76 hi def link satherCharacter satherValue 77 hi def link satherSpecialCharacter satherValue 78 hi def link satherNumber satherValue 79 hi def link satherStatement Statement 80 hi def link satherOperator Statement 81 hi def link satherComment Comment 82 hi def link satherType Type 83 hi def link satherValue String 84 hi def link satherString String 85 hi def link satherSpecial String 86 hi def link satherCharacter String 87 hi def link satherDeclarative Type 88 hi def link satherExternal PreCondit 89 90 let b:current_syntax = "sather" 91 92 " vim: ts=8