neovim/runtime/syntax/mermaid.vim

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

156 lines
3.4 KiB
VimL
Raw Normal View History

" Vim syntax file
" Language: Mermaid
" Maintainer: Craig MacEahern <https://github.com/craigmac/vim-mermaid>
" 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: