diff runtime/ftplugin/mermaid.vim @ 31200:a7801222c9c5

Update runtime files Commit: https://github.com/vim/vim/commit/b59ae59a58706e454ef8c78276f021b1f58466e7 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Nov 23 23:46:31 2022 +0000 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Thu, 24 Nov 2022 01:00:06 +0100
parents
children 57f25669bbed
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/mermaid.vim
@@ -0,0 +1,49 @@
+" Vim filetype plugin
+" Language:     Mermaid
+" Maintainer:   Craig MacEachern <https://github.com/craigmac/vim-mermaid>
+" 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 <silent><buffer> [[ :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR>
+  nnoremap <silent><buffer> ]] :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR>
+  xnoremap <silent><buffer> [[ :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR>
+  xnoremap <silent><buffer> ]] :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR>
+  let b:undo_ftplugin .= '|sil! nunmap <buffer> [[|sil! nunmap <buffer> ]]|sil! xunmap <buffer> [[|sil! xunmap <buffer> ]]'
+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: