wsml.vim (5400B)
1 " Vim syntax file 2 " Language: WSML 3 " Maintainer: Thomas Haselwanter <thomas.haselwanter@deri.org> 4 " URL: none 5 " Last Change: 2006 Apr 30 6 7 " quit when a syntax file was already loaded 8 if exists("b:current_syntax") 9 finish 10 endif 11 12 " WSML 13 syn keyword wsmlHeader wsmlVariant 14 syn keyword wsmlNamespace namespace 15 syn keyword wsmlTopLevel concept instance relationInstance ofType usesMediator usesService relation sharedVariables importsOntology 16 syn keyword wsmlOntology hasValue memberOf ofType impliesType subConceptOf 17 syn keyword wsmlAxiom axiom definedBy 18 syn keyword wsmlService assumption effect postcondition precondition capability interface 19 syn keyword wsmlTopLevel ooMediator wwMediator wgMediator ggMediator 20 syn keyword wsmlMediation usesService source target 21 syn match wsmlDataTypes "\( _string\| _decimal\| _integer\| _float\| _double\| _iri\| _sqname\| _boolean\| _duration\| _dateTime\| _time\| _date\| _gyearmonth\| _gyear\| _gmonthday\| _gday\| _gmonth\| _hexbinary\| _base64binary\)\((\S*)\)\?" contains=wsmlString,wsmlNumber,wsmlCharacter 22 syn keyword wsmlTopLevel goal webService ontology 23 syn keyword wsmlKeywordsInsideLEs true false memberOf hasValue subConceptOf ofType impliesType and or implies impliedBy equivalent neg naf forall exists 24 syn keyword wsmlNFP nfp endnfp nonFunctionalProperties endNonFunctionalProperties 25 syn region wsmlNFPregion start="nfp\|nonFunctionalProperties" end="endnfp\|endNonFunctionalProperties" contains=ALL 26 syn region wsmlNamespace start="namespace" end="}" contains=wsmlIdentifier 27 syn match wsmlOperator "!=\|:=:\|=<\|>=\|=\|+\|\*\|/\|<->\|->\|<-\|:-\|!-\|-\|<\|>" 28 syn match wsmlBrace "(\|)\|\[\|\]\|{\|}" 29 syn match wsmlIdentifier +_"\S*"+ 30 syn match wsmlIdentifier "_#\d*" 31 syn match wsmlSqName "[0-9A-Za-z]\+#[0-9A-Za-z]\+" 32 syn match wsmlVariable "?[0-9A-Za-z]\+" 33 34 " ASM-specific code 35 syn keyword wsmlBehavioral choreography orchestration transitionRules 36 syn keyword wsmlChoreographyPri stateSignature in out shared static controlled 37 syn keyword wsmlChoreographySec with do withGrounding forall endForall choose if then endIf 38 syn match wsmlChoreographyTer "\(\s\|\_^\)\(add\|delete\|update\)\s*(.*)" contains=wsmlKeywordsInsideLEs,wsmlIdentifier,wsmlSqName,wsmlString,wsmlNumber,wsmlDataTypes,wsmlVariable 39 40 " Comments 41 syn keyword wsmlTodo contained TODO 42 syn keyword wsmlFixMe contained FIXME 43 if exists("wsml_comment_strings") 44 syn region wsmlCommentString contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=wsmlSpecial,wsmlCommentStar,wsmlSpecialChar,@Spell 45 syn region wsmlComment2String contained start=+"+ end=+$\|"+ contains=wsmlSpecial,wsmlSpecialChar,@Spell 46 syn match wsmlCommentCharacter contained "'\\[^']\{1,6\}'" contains=wsmlSpecialChar 47 syn match wsmlCommentCharacter contained "'\\''" contains=wsmlSpecialChar 48 syn match wsmlCommentCharacter contained "'[^\\]'" 49 syn cluster wsmlCommentSpecial add=wsmlCommentString,wsmlCommentCharacter,wsmlNumber 50 syn cluster wsmlCommentSpecial2 add=wsmlComment2String,wsmlCommentCharacter,wsmlNumber 51 endif 52 53 syn region wsmlComment start="/\*" end="\*/" contains=@wsmlCommentSpecial,wsmlTodo,wsmlFixMe,@Spell 54 syn match wsmlCommentStar contained "^\s*\*[^/]"me=e-1 55 syn match wsmlCommentStar contained "^\s*\*$" 56 syn match wsmlLineComment "//.*" contains=@wsmlCommentSpecial2,wsmlTodo,@Spell 57 58 syn cluster wsmlTop add=wsmlComment,wsmlLineComment 59 60 "match the special comment /**/ 61 syn match wsmlComment "/\*\*/" 62 63 " Strings 64 syn region wsmlString start=+"+ end=+"+ contains=wsmlSpecialChar,wsmlSpecialError,@Spell 65 syn match wsmlCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError 66 syn match wsmlCharacter "'\\''" contains=javaSpecialChar 67 syn match wsmlCharacter "'[^\\]'" 68 syn match wsmlNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" 69 syn match wsmlNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" 70 syn match wsmlNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" 71 syn match wsmlNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" 72 73 " unicode characters 74 syn match wsmlSpecial "\\u\d\{4\}" 75 76 syn cluster wsmlTop add=wsmlString,wsmlCharacter,wsmlNumber,wsmlSpecial,wsmlStringError 77 78 " Define the default highlighting. 79 " Only when an item doesn't have highlighting yet 80 hi def link wsmlHeader TypeDef 81 hi def link wsmlNamespace TypeDef 82 hi def link wsmlOntology Statement 83 hi def link wsmlAxiom TypeDef 84 hi def link wsmlService TypeDef 85 hi def link wsmlNFP TypeDef 86 hi def link wsmlTopLevel TypeDef 87 hi def link wsmlMediation TypeDef 88 hi def link wsmlBehavioral TypeDef 89 hi def link wsmlChoreographyPri TypeDef 90 hi def link wsmlChoreographySec Operator 91 hi def link wsmlChoreographyTer Special 92 hi def link wsmlString String 93 hi def link wsmlIdentifier Normal 94 hi def link wsmlSqName Normal 95 hi def link wsmlVariable Define 96 hi def link wsmlKeywordsInsideLEs Operator 97 hi def link wsmlOperator Operator 98 hi def link wsmlBrace Operator 99 hi def link wsmlCharacter Character 100 hi def link wsmlNumber Number 101 hi def link wsmlDataTypes Special 102 hi def link wsmlComment Comment 103 hi def link wsmlDocComment Comment 104 hi def link wsmlLineComment Comment 105 hi def link wsmlTodo Todo 106 hi def link wsmlFixMe Error 107 hi def link wsmlCommentTitle SpecialComment 108 hi def link wsmlCommentStar wsmlComment 109 110 111 let b:current_syntax = "wsml" 112 let b:spell_options="contained"