From 44c7833193fb4e851e8c1788855e7abb62a03347 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 27 Dec 2023 19:03:37 +0100 Subject: [PATCH] vim-patch:a03647acc313 runtime(mermaid): Syntax fix (vim/vim#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 https://github.com/vim/vim/commit/a03647acc313edfcc4f9cde07efe388762ada436 Co-authored-by: KSR-Yasuda <31273423+KSR-Yasuda@users.noreply.github.com> --- runtime/syntax/mermaid.vim | 52 ++++++++++---------------------------- 1 file changed, 14 insertions(+), 38 deletions(-) diff --git a/runtime/syntax/mermaid.vim b/runtime/syntax/mermaid.vim index afdbcc3d62..5a9a217337 100644 --- a/runtime/syntax/mermaid.vim +++ b/runtime/syntax/mermaid.vim @@ -2,7 +2,7 @@ " Language: Mermaid " Maintainer: Craig MacEahern " Filenames: *.mmd -" Last Change: 2022 Nov 22 +" Last Change: 2023 Dec 26 if exists("b:current_syntax") finish @@ -85,54 +85,30 @@ syntax keyword mermaidKeyword 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 "\%(<|\|[<*o]\)\?\%(--\|\.\.\)\%(|>\|[>*o]\)\?" +syntax match mermaidStatement "-\{2,4}[>ox-]" +syntax match mermaidStatement "\.-[>ox]" syntax match mermaidStatement "-\." -syntax match mermaidStatement "\.->" -syntax match mermaidStatement "-\.-" -syntax match mermaidStatement "-\.\.-" -syntax match mermaidStatement "-\.\.\.-" +syntax match mermaidStatement "-\.\{1,3}-" syntax match mermaidStatement "==" -syntax match mermaidStatement "==>" -syntax match mermaidStatement "===>" -syntax match mermaidStatement "====>" +syntax match mermaidStatement "=\{2,4}[>ox=]" syntax match mermaidStatement "&" -syntax match mermaidStatement "--o" -syntax match mermaidStatement "--x" +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 "o--o\?" +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 +" FIXME: This unexpectedly matches flow chart node `id1(text)` or others. +"syntax match mermaidIdentifier "[\+-]\?\w\+(.*)[\$\*]\?" +"highlight link mermaidIdentifier Identifier -syntax match mermaidType "[\+-\#\~]\?\cint\>" -syntax match mermaidType "[\+-\#\~]\?\cString\>" -syntax match mermaidType "[\+-\#\~]\?\cbool\>" +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*[\*&]\)*" syntax match mermaidType "[\+-\#\~]\?\cBigDecimal\>" syntax match mermaidType "[\+-\#\~]\?\cList\~.\+\~" syntax match mermaidType "<<\w\+>>"