" Vim syntax file " Language: Slag " Maintainer: Abe Pralle " URL: " Last Change: 2007.08.05 " Quit when a syntax file was already loaded if !exists("main_syntax") if exists("b:current_syntax") finish endif " we define it here so that included files can test for it let main_syntax='slag' endif " keyword definitions syn keyword slagClassDecl class endClass aspect endAspect compound enum endEnum syn keyword slagClassDecl augment endAugment syn keyword slagMember CLASS_PROPERTIES CLASS_VARS CLASS_METHODS PROPERTIES VARS METHODS syn keyword slagMember BASE_TYPES CATEGORIES syn match slagError "\" syn match slagNumber "\<0b[01]\+\(\.[01]\+\)\=\>" syn match slagNumber "\<0x\x\+\(\.\x\+\)\=\>" syn match slagStatement "underlying$" syn match slagStatement "underlying *$" syn match slagStatement "underlying *[(;]"me=e-1 syn match slagStorageClass "underlying *\w"me=e-1 "syn match slagIdentifier "\h\w*" "syn match slagUserLabelRef ".\k\+" syn keyword slagStatement require ensure assert syn keyword slagOperator and or xor not syn keyword slagOperator instanceOf is isNot notInstanceOf duplicate "syn match slagOperator "\.\.\<" "syn match slagOperator "\.\.\>" "syn match slagOperator "\.\." "syn keyword slagOperator == != <= >= "syn keyword slagOperator + - * / = ^ % "syn match slagOperator "+" "syn match slagOperator "-" "syn match slagOperator "\*" "syn match slagOperator "/" "syn match slagOperator "=" "syn match slagOperator "^" "syn match slagOperator "%" "syn match slagType ":" "syn match slagType ";" "syn match slagOperator "<[^<]"me=e-1 "syn match slagOperator ">[^>]"me=e-1 syn keyword slagFuncDef method syn match slagLineComment "#.*" syn region slagLineComment start="#(" end=")#" syn region slagString start=+"+ skip=+\\"+ end=+"+ syn region slagString start=+\/\/+ skip=+\\\/+ end=+\/\/+ "syn match slagString "\"\([^"]\|\\\"\)*[^\\]\"" syn match slagString "'.'" syn match slagString "'\\.'" "syn region slagFuncDef start=+^.*method+ end=+[:;]+ "syn match slagBraces "([{}])" hi def link slagIdentifier Identifier hi def link slagFuncDef Function hi def link slagMember Special hi def link slagVarArg Function hi def link slagBraces Function hi def link slagBranch Conditional hi def link slagUserLabelRef slagUserLabel hi def link slagLabel Label hi def link slagUserLabel Label hi def link slagConditional Conditional hi def link slagLoop Repeat hi def link slagExceptions Exception hi def link slagStorageClass StorageClass hi def link slagMethodDecl slagStorageClass hi def link slagClassDecl slagStorageClass hi def link slagScopeDecl slagStorageClass hi def link slagBoolean Boolean hi def link slagSpecial Special hi def link slagSpecialError Error hi def link slagSpecialCharError Error hi def link slagString String hi def link slagCharacter Character hi def link slagSpecialChar SpecialChar hi def link slagNumber Number hi def link slagError Error hi def link slagStringError Error hi def link slagStatement Statement "hi def link slagOperator Operator hi def link slagComment Comment hi def link slagDocComment Comment hi def link slagLineComment Comment hi def link slagConstant Constant hi def link slagTypedef Typedef hi def link slagTodo Todo hi def link slagPreProc PreProc hi def link slagCommentTitle SpecialComment hi def link slagDocTags Special hi def link slagDocParam Function hi def link slagDocSeeTagParam Function hi def link slagCommentStar slagComment hi def link slagType Type hi def link slagExternal Include hi def link htmlComment Special hi def link htmlCommentPart Special hi def link slagSpaceError Error let b:current_syntax = "slag" if main_syntax == 'slag' unlet main_syntax endif let b:spell_options="contained" " vim: ts=8