" Vim syntax file " Language: Mermaid " Maintainer: Craig MacEahern " Filenames: *.mmd " Last Change: 2022 Nov 22 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syntax iskeyword @,48-57,192-255,$,_,-,: syntax keyword mermaidKeyword \ _blank \ _self \ _parent \ _top \ ::icon \ accDescr \ accTitle \ actor \ activate \ alt \ and \ as \ autonumber \ branch \ break \ callback \ checkout \ class \ classDef \ classDiagram \ click \ commit \ commitgitGraph \ critical \ dataFormat \ dateFormat \ deactivate \ direction \ element \ else \ end \ erDiagram \ flowchart \ gantt \ gitGraph \ graph \ journey \ link \ LR \ TD \ TB \ RL \ loop \ merge \ mindmap root \ Note \ Note right of \ Note left of \ Note over \ note \ note right of \ note left of \ note over \ opt \ option \ par \ participant \ pie \ rect \ requirement \ rgb \ section \ sequenceDiagram \ state \ stateDiagram \ stateDiagram-v2 \ style \ subgraph \ title highlight link mermaidKeyword Keyword syntax match mermaidStatement "|" syntax match mermaidStatement "--\?[>x)]>\?+\?-\?" syntax match mermaidStatement "\~\~\~" syntax match mermaidStatement "--" syntax match mermaidStatement "---" syntax match mermaidStatement "-->" syntax match mermaidStatement "-\." syntax match mermaidStatement "\.->" syntax match mermaidStatement "-\.-" syntax match mermaidStatement "-\.\.-" syntax match mermaidStatement "-\.\.\.-" syntax match mermaidStatement "==" syntax match mermaidStatement "==>" syntax match mermaidStatement "===>" syntax match mermaidStatement "====>" syntax match mermaidStatement "&" syntax match mermaidStatement "--o" syntax match mermaidStatement "--x" syntax match mermaidStatement "x--x" syntax match mermaidStatement "-----" syntax match mermaidStatement "---->" syntax match mermaidStatement "===" syntax match mermaidStatement "====" syntax match mermaidStatement "=====" syntax match mermaidStatement ":::" syntax match mermaidStatement "<|--" syntax match mermaidStatement "\*--" syntax match mermaidStatement "o--" syntax match mermaidStatement "o--o" syntax match mermaidStatement "<--" syntax match mermaidStatement "<-->" syntax match mermaidStatement "\.\." syntax match mermaidStatement "<\.\." syntax match mermaidStatement "<|\.\." syntax match mermaidStatement "--|>" syntax match mermaidStatement "--\*" syntax match mermaidStatement "--o" syntax match mermaidStatement "\.\.>" syntax match mermaidStatement "\.\.|>" syntax match mermaidStatement "<|--|>" syntax match mermaidStatement "||--o{" highlight link mermaidStatement Statement syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?" highlight link mermaidIdentifier Identifier syntax match mermaidType "[\+-\#\~]\?\cint\>" syntax match mermaidType "[\+-\#\~]\?\cString\>" syntax match mermaidType "[\+-\#\~]\?\cbool\>" syntax match mermaidType "[\+-\#\~]\?\cBigDecimal\>" syntax match mermaidType "[\+-\#\~]\?\cList\~.\+\~" syntax match mermaidType "<<\w\+>>" highlight link mermaidType Type syntax match mermaidComment "%%.*$" highlight link mermaidComment Comment syntax region mermaidDirective start="%%{" end="\}%%" highlight link mermaidDirective PreProc syntax region mermaidString start=/"/ skip=/\\"/ end=/"/ highlight link mermaidString String let b:current_syntax = "mermaid" let &cpo = s:cpo_save unlet s:cpo_save " vim:set sw=2: