From 7a29850ae926e8fabf18058061187582e04dedde Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Mon, 2 May 2016 10:50:59 +0200 Subject: Add plantuml syntax, closes #116 --- syntax/plantuml.vim | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 syntax/plantuml.vim (limited to 'syntax') diff --git a/syntax/plantuml.vim b/syntax/plantuml.vim new file mode 100644 index 00000000..9ecd90eb --- /dev/null +++ b/syntax/plantuml.vim @@ -0,0 +1,173 @@ +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\|ifdef\|define\|endif\)\s*.*/ contains=plantumlDir +syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained + +syntax keyword plantumlTypeKeyword namespace component package interface class interface enum object participant activity skinparam abstract +syntax keyword plantumlKeyword actor boundary control entity database partition title activate as deactivate note left right top bottom of end destroy +syntax keyword plantumlKeyword if then else endif + +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 /\%(<|\|<<\|<\|\*\|\