| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:     Mermaid | 
					
						
							|  |  |  | " Maintainer:   Craig MacEahern <https://github.com/craigmac/vim-mermaid> | 
					
						
							|  |  |  | " Filenames:    *.mmd | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | " Last Change:  2023 Dec 26 | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 "\~\~\~" | 
					
						
							|  |  |  | syntax match mermaidStatement "--" | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | syntax match mermaidStatement "\%(<|\|[<*o]\)\?\%(--\|\.\.\)\%(|>\|[>*o]\)\?" | 
					
						
							|  |  |  | syntax match mermaidStatement "-\{2,4}[>ox-]" | 
					
						
							|  |  |  | syntax match mermaidStatement "\.-[>ox]" | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | syntax match mermaidStatement "-\." | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | syntax match mermaidStatement "-\.\{1,3}-" | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | syntax match mermaidStatement "==" | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | syntax match mermaidStatement "=\{2,4}[>ox=]" | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | syntax match mermaidStatement "&" | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | syntax match mermaidStatement "--\?[>x)]>\?[+-]\?" | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | syntax match mermaidStatement "x--x" | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | syntax match mermaidStatement "o--o\?" | 
					
						
							|  |  |  | syntax match mermaidStatement "<-->\?" | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | syntax match mermaidStatement ":::" | 
					
						
							|  |  |  | syntax match mermaidStatement "||--o{" | 
					
						
							|  |  |  | highlight link mermaidStatement Statement | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | " FIXME: This unexpectedly matches flow chart node `id1(text)` or others. | 
					
						
							|  |  |  | "syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?" | 
					
						
							|  |  |  | "highlight link mermaidIdentifier Identifier | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-28 03:02:35 +09:00
										 |  |  | syntax match mermaidType "[\+-\#\~]\?\c\%(const\s\+\|\*\s*\)*\%(unsigned\s\+\)\?\%(int\|u\?int\%(8\|16\|32\|64\)_t\|char\|long\|long\s\+long\)\>\%(\s\+const\|\s*[\*&]\)*" | 
					
						
							|  |  |  | syntax match mermaidType "[\+-\#\~]\?\c\%(const\s\+\|\*\s*\)*\%(double\|float\|String\|bool\)\>\%(\s\+const\|\s*[\*&]\)*" | 
					
						
							| 
									
										
										
										
											2022-11-23 23:46:31 +00:00
										 |  |  | 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: |