summaryrefslogtreecommitdiff
path: root/nvim/after/ftplugin/vim/folding.vim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/after/ftplugin/vim/folding.vim')
-rw-r--r--nvim/after/ftplugin/vim/folding.vim25
1 files changed, 25 insertions, 0 deletions
diff --git a/nvim/after/ftplugin/vim/folding.vim b/nvim/after/ftplugin/vim/folding.vim
new file mode 100644
index 0000000..1454cbe
--- /dev/null
+++ b/nvim/after/ftplugin/vim/folding.vim
@@ -0,0 +1,25 @@
+function! VimFolds()
+ let thisline = getline(v:lnum)
+ if match(thisline,'^"" ') >= 0
+ return ">1"
+ elseif match(thisline,'^" ') >=0
+ return ">1"
+ else
+ return "="
+ endif
+endfunction
+
+function! VimFoldText()
+ let startline = getline(v:foldstart)
+ if match(startline,'^"" ') >= 0
+ let title = substitute(startline,'^"" \(.*\)$','\1',"")
+ return '# ' . title
+ elseif match(startline,'^" ') >=0
+ let title = substitute(startline,'^" \(.*\)$','\1',"")
+ return ' ## ' .title
+ endif
+endfunction
+
+setlocal foldmethod=expr
+setlocal foldexpr=VimFolds()
+setlocal foldtext=VimFoldText()