codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: Mermaid3" Maintainer: Craig MacEahern <https://github.com/craigmac/vim-mermaid>4" Filenames: *.mmd5" Last Change: 2023 Dec 266 7if exists("b:current_syntax")8 finish9endif10 11let s:cpo_save = &cpo12set cpo&vim13 14syntax iskeyword @,48-57,192-255,$,_,-,:15syntax keyword mermaidKeyword16 \ _blank17 \ _self18 \ _parent19 \ _top20 \ ::icon21 \ accDescr22 \ accTitle23 \ actor24 \ activate25 \ alt26 \ and27 \ as28 \ autonumber29 \ branch30 \ break31 \ callback32 \ checkout33 \ class34 \ classDef35 \ classDiagram36 \ click37 \ commit38 \ commitgitGraph39 \ critical40 \ dataFormat41 \ dateFormat42 \ deactivate43 \ direction44 \ element45 \ else46 \ end47 \ erDiagram48 \ flowchart49 \ gantt50 \ gitGraph51 \ graph52 \ journey53 \ link54 \ LR55 \ TD56 \ TB57 \ RL58 \ loop59 \ merge60 \ mindmap root61 \ Note62 \ Note right of63 \ Note left of64 \ Note over65 \ note66 \ note right of67 \ note left of68 \ note over69 \ opt70 \ option71 \ par72 \ participant73 \ pie74 \ rect75 \ requirement76 \ rgb77 \ section78 \ sequenceDiagram79 \ state80 \ stateDiagram81 \ stateDiagram-v282 \ style83 \ subgraph84 \ title85highlight link mermaidKeyword Keyword86 87syntax match mermaidStatement "|"88syntax match mermaidStatement "\~\~\~"89syntax match mermaidStatement "--"90syntax match mermaidStatement "\%(<|\|[<*o]\)\?\%(--\|\.\.\)\%(|>\|[>*o]\)\?"91syntax match mermaidStatement "-\{2,4}[>ox-]"92syntax match mermaidStatement "\.-[>ox]"93syntax match mermaidStatement "-\."94syntax match mermaidStatement "-\.\{1,3}-"95syntax match mermaidStatement "=="96syntax match mermaidStatement "=\{2,4}[>ox=]"97syntax match mermaidStatement "&"98syntax match mermaidStatement "--\?[>x)]>\?[+-]\?"99syntax match mermaidStatement "x--x"100syntax match mermaidStatement "o--o\?"101syntax match mermaidStatement "<-->\?"102syntax match mermaidStatement ":::"103syntax match mermaidStatement "||--o{"104highlight link mermaidStatement Statement105 106" FIXME: This unexpectedly matches flow chart node `id1(text)` or others.107"syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?"108"highlight link mermaidIdentifier Identifier109 110syntax match mermaidType "[\+-\#\~]\?\c\%(const\s\+\|\*\s*\)*\%(unsigned\s\+\)\?\%(int\|u\?int\%(8\|16\|32\|64\)_t\|char\|long\|long\s\+long\)\>\%(\s\+const\|\s*[\*&]\)*"111syntax match mermaidType "[\+-\#\~]\?\c\%(const\s\+\|\*\s*\)*\%(double\|float\|String\|bool\)\>\%(\s\+const\|\s*[\*&]\)*"112syntax match mermaidType "[\+-\#\~]\?\cBigDecimal\>"113syntax match mermaidType "[\+-\#\~]\?\cList\~.\+\~"114syntax match mermaidType "<<\w\+>>"115highlight link mermaidType Type116 117syntax match mermaidComment "%%.*$"118highlight link mermaidComment Comment119 120syntax region mermaidDirective start="%%{" end="\}%%"121highlight link mermaidDirective PreProc122 123syntax region mermaidString start=/"/ skip=/\\"/ end=/"/124highlight link mermaidString String125 126let b:current_syntax = "mermaid"127 128let &cpo = s:cpo_save129unlet s:cpo_save130 131" vim:set sw=2:132 