From 2c2ed3c099dfed8efe635d37a1d08cdc3f819057 Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Wed, 7 Sep 2016 23:57:41 +0100 Subject: [PATCH] Improve markdown folding & syntax highlights --- after/ftplugin/markdown.vim | 30 ++++++++++++++++++++++++++++++ vimrc | 3 --- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/after/ftplugin/markdown.vim b/after/ftplugin/markdown.vim index 1c2bf6e..1228acd 100644 --- a/after/ftplugin/markdown.vim +++ b/after/ftplugin/markdown.vim @@ -3,6 +3,36 @@ if !has("win32") || has("gui_running") setlocal spell endif +setlocal foldmethod=expr +setlocal foldexpr=MarkdownFold(v:lnum) + +function! MarkdownFold(lnum) + let l:line = getline(a:lnum) + + if match(l:line, '^######.*$') == 0 + return '>6' + elseif match(l:line, '^#####.*$') == 0 + return '>5' + elseif match(l:line, '^####.*$') == 0 + return '>4' + elseif match(l:line, '^###.*$') == 0 + return '>3' + elseif match(l:line, '^##.*$') == 0 + return '>2' + elseif match(l:line, '^#.*$') == 0 + return '>1' + endif + + return '=' +endfunction + +hi link markdownCode Special +hi link markdownCodeDelimiter PreProc +hi link markdownHeadingDelimiter Statement +hi link markdownLinkDelimiter PreProc +hi link markdownLinkTextDelimiter PreProc +hi link markdownUrl Include + " Max 80 chars wide. setlocal textwidth=80 " Use tabwidth of 4 to be markdown complient. diff --git a/vimrc b/vimrc index c3e9794..ac2808a 100644 --- a/vimrc +++ b/vimrc @@ -157,9 +157,6 @@ let g:DoxygenToolkit_commentType="C++" " markdown live browser preview Plug 'suan/vim-instant-markdown' - -" markdown folding -Plug 'nelstrom/vim-markdown-folding' let g:markdown_fenced_languages=['cpp', 'c', 'cmake', 'sh', 'vim', 'python'] " SimplyFold - python folding