diff runtime/syntax/wsml.vim @ 754:3a779b47f235 v7.0223

updated for version 7.0223
author vimboss
date Mon, 13 Mar 2006 22:18:45 +0000
parents
children 8cd729851562
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/wsml.vim
@@ -0,0 +1,125 @@
+" Vim syntax file
+" Language:     WSML
+" Maintainer:   Thomas Haselwanter <thomas.haselwanter@deri.org>
+" URL:		none
+" Last Change:  2006 Mar 13
+
+" Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" WSML
+syn keyword wsmlHeader		wsmlVariant
+syn keyword wsmlNamespace	namespace 
+syn keyword wsmlTopLevel	concept instance relationInstance ofType usesMediator usesService relation sharedVariables importsOntology 
+syn keyword wsmlOntology	hasValue memberOf ofType impliesType subConceptOf 
+syn keyword wsmlAxiom		axiom definedBy
+syn keyword wsmlService		assumption effect postcondition precondition capability interface
+syn keyword wsmlTopLevel	ooMediator wwMediator wgMediator ggMediator
+syn keyword wsmlMediation	usesService source target
+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
+syn keyword wsmlTopLevel	goal webService ontology
+syn keyword wsmlKeywordsInsideLEs	true false memberOf hasValue subConceptOf ofType impliesType and or implies impliedBy equivalent neg naf forall exists
+syn keyword wsmlNFP		nfp endnfp nonFunctionalProperties endNonFunctionalProperties
+syn region wsmlNFPregion	start="nfp\|nonFunctionalProperties" end="endnfp\|endNonFunctionalProperties" contains=ALL
+syn region wsmlNamespace	start="namespace" end="}" contains=wsmlIdentifier
+syn match wsmlOperator		"!=\|:=:\|=<\|>=\|=\|+\|\*\|/\|<->\|->\|<-\|:-\|!-\|-\|<\|>"
+syn match wsmlBrace		"(\|)\|\[\|\]\|{\|}"
+syn match wsmlIdentifier	+_"\S*"+
+syn match wsmlIdentifier	"_#\d*"
+syn match wsmlSqName		"[0-9A-Za-z]\+#[0-9A-Za-z]\+"
+syn match wsmlVariable		"?[0-9A-Za-z]\+"
+
+" ASM-specific code
+syn keyword wsmlBehavioral	choreography orchestration transitionRules
+syn keyword wsmlChoreographyPri	stateSignature in out shared static controlled 
+syn keyword wsmlChoreographySec with do withGrounding forall endForall choose if then endIf
+syn match wsmlChoreographyTer   "\(\s\|\_^\)\(add\|delete\|update\)\s*(.*)" contains=wsmlKeywordsInsideLEs,wsmlIdentifier,wsmlSqName,wsmlString,wsmlNumber,wsmlDataTypes,wsmlVariable
+
+" Comments
+syn keyword wsmlTodo		 contained TODO
+syn keyword wsmlFixMe		 contained FIXME
+if exists("wsml_comment_strings")
+  syn region  wsmlCommentString    contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=wsmlSpecial,wsmlCommentStar,wsmlSpecialChar,@Spell
+  syn region  wsmlComment2String   contained start=+"+  end=+$\|"+  contains=wsmlSpecial,wsmlSpecialChar,@Spell
+  syn match   wsmlCommentCharacter contained "'\\[^']\{1,6\}'" contains=wsmlSpecialChar
+  syn match   wsmlCommentCharacter contained "'\\''" contains=wsmlSpecialChar
+  syn match   wsmlCommentCharacter contained "'[^\\]'"
+  syn cluster wsmlCommentSpecial add=wsmlCommentString,wsmlCommentCharacter,wsmlNumber
+  syn cluster wsmlCommentSpecial2 add=wsmlComment2String,wsmlCommentCharacter,wsmlNumber
+endif
+
+syn region  wsmlComment		 start="/\*"  end="\*/" contains=@wsmlCommentSpecial,wsmlTodo,wsmlFixMe,@Spell
+syn match   wsmlCommentStar      contained "^\s*\*[^/]"me=e-1
+syn match   wsmlCommentStar      contained "^\s*\*$"
+syn match   wsmlLineComment      "//.*" contains=@wsmlCommentSpecial2,wsmlTodo,@Spell
+
+syn cluster wsmlTop add=wsmlComment,wsmlLineComment
+
+"match the special comment /**/
+syn match   wsmlComment		 "/\*\*/"
+
+" Strings
+syn region  wsmlString		start=+"+ end=+"+ contains=wsmlSpecialChar,wsmlSpecialError,@Spell
+syn match   wsmlCharacter	 "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
+syn match   wsmlCharacter	 "'\\''" contains=javaSpecialChar
+syn match   wsmlCharacter	 "'[^\\]'"
+syn match   wsmlNumber		 "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+syn match   wsmlNumber		 "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+syn match   wsmlNumber		 "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+syn match   wsmlNumber		 "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+
+" unicode characters
+syn match   wsmlSpecial "\\u\d\{4\}"
+
+syn cluster wsmlTop add=wsmlString,wsmlCharacter,wsmlNumber,wsmlSpecial,wsmlStringError
+
+" Define the default highlighting.
+" " For version 5.7 and earlier: only when not done already
+" " For version 5.8 and later: only when an item doesn't have highlighting yet
+ if version >= 508 || !exists("did_wsml_syn_inits")
+   if version < 508
+       let did_wsml_syn_inits = 1
+       command -nargs=+ HiLink hi link <args>
+   else
+       command -nargs=+ HiLink hi def link <args>
+   endif              
+   HiLink wsmlHeader			TypeDef
+   HiLink wsmlNamespace			TypeDef
+   HiLink wsmlOntology			Statement
+   HiLink wsmlAxiom			TypeDef
+   HiLink wsmlService			TypeDef
+   HiLink wsmlNFP			TypeDef
+   HiLink wsmlTopLevel			TypeDef
+   HiLink wsmlMediation			TypeDef 
+   HiLink wsmlBehavioral		TypeDef
+   HiLink wsmlChoreographyPri		TypeDef
+   HiLink wsmlChoreographySec		Operator
+   HiLink wsmlChoreographyTer		Special
+   HiLink wsmlString			String
+   HiLink wsmlIdentifier		Normal 
+   HiLink wsmlSqName                     Normal
+   HiLink wsmlVariable			Define
+   HiLink wsmlKeywordsInsideLEs		Operator
+   HiLink wsmlOperator			Operator
+   HiLink wsmlBrace			Operator
+   HiLink wsmlCharacter			Character
+   HiLink wsmlNumber			Number
+   HiLink wsmlDataTypes			Special
+   HiLink wsmlComment			Comment
+   HiLink wsmlDocComment		Comment
+   HiLink wsmlLineComment		Comment
+   HiLink wsmlTodo			Todo
+   HiLink wsmlFixMe			Error
+   HiLink wsmlCommentTitle		SpecialComment
+   HiLink wsmlCommentStar		wsmlComment
+ endif
+
+delcommand HiLink
+
+let b:current_syntax = "wsml"
+let b:spell_options="contained"
+