neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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"