From a178d143fa3060822365665f15ad5b2d7950313c Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Wed, 7 Aug 2024 10:26:20 +0800 Subject: Update --- vim/init/config.vim | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'vim/init/config.vim') diff --git a/vim/init/config.vim b/vim/init/config.vim index 3870ac4..281caf5 100644 --- a/vim/init/config.vim +++ b/vim/init/config.vim @@ -137,7 +137,6 @@ augroup InitFileTypes if has_key(shebangMatch, l:filetype) let l:filetype = shebangMatch[l:filetype] endif - echo "filetype from shebang: ".l:filetype execute "set filetype=".l:filetype endif endfunc @@ -151,6 +150,8 @@ augroup InitFileTypes au FileType markdown call InitMarkdownFile() function! InitMarkdownFile() setlocal wrap sw=2 ts=2 + let g:markdown_apply_heading_level = 0 + nnoremap \fl :let markdown_apply_heading_level = !markdown_apply_heading_levelzX let b:in_frontmatter = 0 setlocal foldexpr=MarkdownLevel() foldmethod=expr @@ -159,7 +160,7 @@ augroup InitFileTypes call MarkdownHighlights() endfunc - function MarkdownHighlights() + function! MarkdownHighlights() syn match MarkdownHtmlDetails '^
' conceal cchar=▶ syn match MarkdownHtmlSummary '' conceal cchar= syn match MarkdownHtmlSummaryEnd '' conceal @@ -184,8 +185,9 @@ augroup InitFileTypes " Fold for heading and the following contents let hash_num = matchstr(getline(v:lnum), '^#\+') if !empty(hash_num) + let foldlevel = g:markdown_apply_heading_level ? len(hash_num) - 1 : 1 " HEADING - return len(hash_num) == 1 ? 0 : '>1' + return len(hash_num) == 1 ? 0 : '>'.foldlevel else " Contents return "=" @@ -201,7 +203,7 @@ augroup InitFileTypes " For heading, foltext() let origin = split(MarkdownFoldText()[2:], ' ') let heading = substitute(join(origin[:-3], ' '), '\#', ' ', 'g') - let lines = join(origin[-2:], ' ')[1:-2] + let lines = origin[-2][1:] let fills = repeat('.', 48 - strwidth(heading) - len(lines)) return heading.." "..fills.." "..lines endfunc -- cgit v1.2.3-70-g09d2