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