summaryrefslogtreecommitdiffstats
path: root/syntax/plantuml.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/plantuml.vim')
-rw-r--r--syntax/plantuml.vim23
1 files changed, 15 insertions, 8 deletions
diff --git a/syntax/plantuml.vim b/syntax/plantuml.vim
index 7bcc9181..334cf5f8 100644
--- a/syntax/plantuml.vim
+++ b/syntax/plantuml.vim
@@ -20,7 +20,7 @@ let b:current_syntax = 'plantuml'
syntax sync minlines=100
-syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\)\s*.*/ contains=plantumlDir
+syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\|gantt\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\|gantt\)\s*.*/ contains=plantumlDir
syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained
" type
@@ -34,12 +34,16 @@ syntax keyword plantumlClassKeyword class interface
" Exclude 'top to bottom direction'
syntax keyword plantumlKeyword accross activate again allow_mixing allowmixing also alt as autonumber bottom
syntax keyword plantumlKeyword box break caption center create critical deactivate destroy down else elseif end
-syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left
+syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left in at are to the and
syntax keyword plantumlKeyword legend link loop mainframe namespace newpage note of on opt order over package
syntax keyword plantumlKeyword page par partition ref repeat return right rnote rotate show skin skinparam
syntax keyword plantumlKeyword start stop title top up while
" Not in 'java - jar plantuml.jar - language' output
syntax keyword plantumlKeyword then detach split sprite
+" gantt
+syntax keyword plantumlTypeKeyword project monday tuesday wednesday thursday friday saturday sunday
+syntax keyword plantumlKeyword starts ends start end closed day after colored lasts happens
+
syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained
syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/
@@ -136,6 +140,7 @@ syntax region plantumlText oneline matchgroup=plantumlSequenceDelay start=/^\.\{
" Usecase diagram
syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString
+
" Mindmap diagram
let s:mindmapHilightLinks = [
\ 'WarningMsg', 'Directory', 'Special', 'MoreMsg', 'Statement', 'Title',
@@ -143,18 +148,20 @@ let s:mindmapHilightLinks = [
\ 'Function', 'Todo'
\ ]
-syntax match plantumlMindmap1 /^[-+*][_<>]\?/ contained
-
let i = 1
let contained = []
while i < len(s:mindmapHilightLinks)
- execute "syntax match plantumlMindmap" . i . " /^\\%(\\s\\|[-+*]\\)\\{" . (i - 1) . "}[-+*][_<>]\\?/ contained"
- execute "highlight default link plantumlMindmap" . i . " " . s:mindmapHilightLinks[i - 1]
- call add(contained, "plantumlMindmap" . i)
+ execute 'syntax match plantumlMindmap' . i . ' /^\([-+*]\)\1\{' . (i - 1) . '}_\?\s\+/ contained'
+ execute 'syntax match plantumlMindmap' . i . ' /^\s\{' . (i - 1) . '}\*_\?\s\+/ contained'
+ execute 'highlight default link plantumlMindmap' . i . ' ' . s:mindmapHilightLinks[i - 1]
+ call add(contained, 'plantumlMindmap' . i)
let i = i + 1
endwhile
-execute "syntax region plantumlMindmap oneline start=/^\\s*[-+*]_\\?/ end=/$/ contains=" . join(contained, ',')
+execute 'syntax region plantumlMindmap oneline start=/^\([-+*]\)\1*_\?\s/ end=/$/ contains=' . join(contained, ',')
+" Markdown syntax
+execute 'syntax region plantumlMindmap oneline start=/^\s*\*_\?\s/ end=/$/ contains=' . join(contained, ',')
+
" Skinparam keywords
syntax case ignore