" Vim filetype plugin " Language: Mermaid " Maintainer: Craig MacEachern " Last Change: 2022 Oct 13 if exists("b:did_ftplugin") finish endif let s:keepcpo= &cpo set cpo&vim " Use mermaid live editor's style setlocal expandtab setlocal shiftwidth=2 setlocal softtabstop=-1 setlocal tabstop=4 " TODO: comments, formatlist stuff, based on what? setlocal comments=b:#,fb:- setlocal commentstring=#\ %s setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:\\&^.\\{4\\} if exists('b:undo_ftplugin') let b:undo_ftplugin .= "|setl cms< com< fo< flp< et< ts< sts< sw<" else let b:undo_ftplugin = "setl cms< com< fo< flp< et< ts< sts< sw<" endif if !exists("g:no_plugin_maps") && !exists("g:no_markdown_maps") nnoremap [[ :call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW") nnoremap ]] :call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW") xnoremap [[ :exe "normal! gv"call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW") xnoremap ]] :exe "normal! gv"call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW") let b:undo_ftplugin .= '|sil! nunmap [[|sil! nunmap ]]|sil! xunmap [[|sil! xunmap ]]' endif " if has("folding") && get(g:, "markdown_folding", 0) " setlocal foldexpr=MarkdownFold() " setlocal foldmethod=expr " setlocal foldtext=MarkdownFoldText() " let b:undo_ftplugin .= "|setl foldexpr< foldmethod< foldtext<" " endif let &cpo = s:keepcpo unlet s:keepcpo " vim:set sw=2: