diff options
Diffstat (limited to 'mnv/runtime/ftplugin/mermaid.mnv')
| -rw-r--r-- | mnv/runtime/ftplugin/mermaid.mnv | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/mnv/runtime/ftplugin/mermaid.mnv b/mnv/runtime/ftplugin/mermaid.mnv new file mode 100644 index 0000000000..fc2cd5e833 --- /dev/null +++ b/mnv/runtime/ftplugin/mermaid.mnv @@ -0,0 +1,50 @@ +" MNV filetype plugin +" Language: Mermaid +" Maintainer: Craig MacEachern <https://github.com/craigmac/mnv-mermaid> +" Last Change: 2022 Oct 13 +" 2024 Jul 18 by MNV Project (adjust comments) + +if exists("b:did_ftplugin") + finish +endif + +let s:keepcpo= &cpo +set cpo&mnv + +" Use mermaid live editor's style +setlocal expandtab +setlocal shiftwidth=2 +setlocal softtabstop=-1 +setlocal tabstop=4 + +setlocal comments=:%% +setlocal commentstring=%%\ %s +" TODO: comments, formatlist stuff, based on what? +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 + +" mnv:set sw=2: |
