Skip to content

Commit a03647a

Browse files
authored
runtime(mermaid): Syntax fix (#13774)
* runtime(mermaid): Fix arrow syntax * runtime(mermaid): Disable syntax for identifier to avoid false match * runtime(mermaid): Add some C++ type syntax highlight * runtime(mermaid): Update last change time in header Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent 38bea30 commit a03647a

1 file changed

Lines changed: 14 additions & 38 deletions

File tree

runtime/syntax/mermaid.vim

Lines changed: 14 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
" Language: Mermaid
33
" Maintainer: Craig MacEahern <https://github.com/craigmac/vim-mermaid>
44
" Filenames: *.mmd
5-
" Last Change: 2022 Nov 22
5+
" Last Change: 2023 Dec 26
66

77
if exists("b:current_syntax")
88
finish
@@ -85,54 +85,30 @@ syntax keyword mermaidKeyword
8585
highlight link mermaidKeyword Keyword
8686

8787
syntax match mermaidStatement "|"
88-
syntax match mermaidStatement "--\?[>x)]>\?+\?-\?"
8988
syntax match mermaidStatement "\~\~\~"
9089
syntax match mermaidStatement "--"
91-
syntax match mermaidStatement "---"
92-
syntax match mermaidStatement "-->"
90+
syntax match mermaidStatement "\%(<|\|[<*o]\)\?\%(--\|\.\.\)\%(|>\|[>*o]\)\?"
91+
syntax match mermaidStatement "-\{2,4}[>ox-]"
92+
syntax match mermaidStatement "\.-[>ox]"
9393
syntax match mermaidStatement "-\."
94-
syntax match mermaidStatement "\.->"
95-
syntax match mermaidStatement "-\.-"
96-
syntax match mermaidStatement "-\.\.-"
97-
syntax match mermaidStatement "-\.\.\.-"
94+
syntax match mermaidStatement "-\.\{1,3}-"
9895
syntax match mermaidStatement "=="
99-
syntax match mermaidStatement "==>"
100-
syntax match mermaidStatement "===>"
101-
syntax match mermaidStatement "====>"
96+
syntax match mermaidStatement "=\{2,4}[>ox=]"
10297
syntax match mermaidStatement "&"
103-
syntax match mermaidStatement "--o"
104-
syntax match mermaidStatement "--x"
98+
syntax match mermaidStatement "--\?[>x)]>\?[+-]\?"
10599
syntax match mermaidStatement "x--x"
106-
syntax match mermaidStatement "-----"
107-
syntax match mermaidStatement "---->"
108-
syntax match mermaidStatement "==="
109-
syntax match mermaidStatement "===="
110-
syntax match mermaidStatement "====="
100+
syntax match mermaidStatement "o--o\?"
101+
syntax match mermaidStatement "<-->\?"
111102
syntax match mermaidStatement ":::"
112-
syntax match mermaidStatement "<|--"
113-
syntax match mermaidStatement "\*--"
114-
syntax match mermaidStatement "o--"
115-
syntax match mermaidStatement "o--o"
116-
syntax match mermaidStatement "<--"
117-
syntax match mermaidStatement "<-->"
118-
syntax match mermaidStatement "\.\."
119-
syntax match mermaidStatement "<\.\."
120-
syntax match mermaidStatement "<|\.\."
121-
syntax match mermaidStatement "--|>"
122-
syntax match mermaidStatement "--\*"
123-
syntax match mermaidStatement "--o"
124-
syntax match mermaidStatement "\.\.>"
125-
syntax match mermaidStatement "\.\.|>"
126-
syntax match mermaidStatement "<|--|>"
127103
syntax match mermaidStatement "||--o{"
128104
highlight link mermaidStatement Statement
129105

130-
syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?"
131-
highlight link mermaidIdentifier Identifier
106+
" FIXME: This unexpectedly matches flow chart node `id1(text)` or others.
107+
"syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?"
108+
"highlight link mermaidIdentifier Identifier
132109

133-
syntax match mermaidType "[\+-\#\~]\?\cint\>"
134-
syntax match mermaidType "[\+-\#\~]\?\cString\>"
135-
syntax match mermaidType "[\+-\#\~]\?\cbool\>"
110+
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*[\*&]\)*"
111+
syntax match mermaidType "[\+-\#\~]\?\c\%(const\s\+\|\*\s*\)*\%(double\|float\|String\|bool\)\>\%(\s\+const\|\s*[\*&]\)*"
136112
syntax match mermaidType "[\+-\#\~]\?\cBigDecimal\>"
137113
syntax match mermaidType "[\+-\#\~]\?\cList\~.\+\~"
138114
syntax match mermaidType "<<\w\+>>"

0 commit comments

Comments
 (0)