diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2014-04-15 01:05:44 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2014-04-15 01:05:44 +0200 |
commit | 610f4c570123510f2d6f4c5799d880d8581126cf (patch) | |
tree | a2bbc1de1fbdd22e2b2eb4d4d2447b3cc8467fba /ftplugin/markdown.vim | |
parent | f3833f5a39b91f1e42f12e45a2e61e351218c495 (diff) | |
download | vim-polyglot-610f4c570123510f2d6f4c5799d880d8581126cf.tar.gz vim-polyglot-610f4c570123510f2d6f4c5799d880d8581126cf.zip |
Update
Diffstat (limited to 'ftplugin/markdown.vim')
-rw-r--r-- | ftplugin/markdown.vim | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim index 5d6ebecd..ae3bd262 100644 --- a/ftplugin/markdown.vim +++ b/ftplugin/markdown.vim @@ -19,4 +19,32 @@ else let b:undo_ftplugin = "setl cms< com< fo< flp<" endif +function! MarkdownFold() + let line = getline(v:lnum) + + " Regular headers + let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=') + if depth > 0 + return ">" . depth + endif + + " Setext style headings + let nextline = getline(v:lnum + 1) + if (line =~ '^.\+$') && (nextline =~ '^=\+$') + return ">1" + endif + + if (line =~ '^.\+$') && (nextline =~ '^-\+$') + return ">2" + endif + + return "=" +endfunction + +if has("folding") && exists("g:markdown_folding") + setlocal foldexpr=MarkdownFold() + setlocal foldmethod=expr + let b:undo_ftplugin .= " foldexpr< foldmethod<" +endif + " vim:set sw=2: |