Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 1 | " Vim filetype plugin |
| 2 | " Language: Markdown |
| 3 | " Maintainer: Tim Pope <vimNOSPAM@tpope.org> |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 4 | " Last Change: 2016 Aug 29 |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 5 | |
| 6 | if exists("b:did_ftplugin") |
| 7 | finish |
| 8 | endif |
| 9 | |
| 10 | runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 11 | |
| 12 | setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s |
Bram Moolenaar | 543b7ef | 2013-06-01 14:50:56 +0200 | [diff] [blame] | 13 | setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 14 | setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]: |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 15 | |
Bram Moolenaar | f1568ec | 2011-12-14 21:17:39 +0100 | [diff] [blame] | 16 | if exists('b:undo_ftplugin') |
| 17 | let b:undo_ftplugin .= "|setl cms< com< fo< flp<" |
| 18 | else |
| 19 | let b:undo_ftplugin = "setl cms< com< fo< flp<" |
| 20 | endif |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 21 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 22 | function! MarkdownFold() |
| 23 | let line = getline(v:lnum) |
| 24 | |
| 25 | " Regular headers |
| 26 | let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=') |
| 27 | if depth > 0 |
| 28 | return ">" . depth |
| 29 | endif |
| 30 | |
| 31 | " Setext style headings |
| 32 | let nextline = getline(v:lnum + 1) |
| 33 | if (line =~ '^.\+$') && (nextline =~ '^=\+$') |
| 34 | return ">1" |
| 35 | endif |
| 36 | |
| 37 | if (line =~ '^.\+$') && (nextline =~ '^-\+$') |
| 38 | return ">2" |
| 39 | endif |
| 40 | |
| 41 | return "=" |
| 42 | endfunction |
| 43 | |
| 44 | if has("folding") && exists("g:markdown_folding") |
| 45 | setlocal foldexpr=MarkdownFold() |
| 46 | setlocal foldmethod=expr |
| 47 | let b:undo_ftplugin .= " foldexpr< foldmethod<" |
| 48 | endif |
| 49 | |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 50 | " vim:set sw=2: |