if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == -1 " Vim syntax file " Language: PlantUML " Maintainer: Anders Thøgersen " Last Change: 03-Apr-2011 " Version: 0.2 " TODO: There are some bugs, add << >> " if exists("b:current_syntax") finish endif if version < 600 syntax clear endif let s:cpo_orig=&cpo set cpo&vim let b:current_syntax = "plantuml" syntax sync minlines=100 syntax match plantumlPreProc /\%(^@startuml\|^@enduml\)\|!\%(include\|define\|undev\|ifdef\|endif\|ifndef\)\s*.*/ contains=plantumlDir syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained syntax keyword plantumlTypeKeyword actor participant usecase interface abstract enum component state object artifact folder rect node frame cloud database storage agent boundary control entity card syntax keyword plantumlKeyword as also autonumber caption title newpage box alt opt loop par break critical note rnote hnote legend group left right of on link over end activate deactivate destroy create footbox hide show skinparam skin top bottom syntax keyword plantumlKeyword package namespace page up down if else elseif endif partition footer header center rotate ref return is repeat start stop while endwhile fork again kill syntax keyword plantumlKeyword then detach syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/ " Arrows - Differentiate between horizontal and vertical arrows syntax match plantumlHorizontalArrow /\%([-\.]\%(|>\|>\|\*\|o\>\|\\\\\|\\\|\/\/\|\/\|\.\|-\)\|\%(<|\|<\|\*\|\\|>>\|>\|\*\|o\>\|\\\\\|\\\|\/\/\|\/\|\.\|-\)\%(\[[^\]]*\]\)\?/ contains=plantumlLabel syntax match plantumlDirectedOrVerticalArrowRL /\%(<|\|<<\|<\|\*\|\