From: Ciro Santilli Date: Sat, 30 Aug 2014 14:22:30 +0000 (+0200) Subject: Merge pull request #110 from cirosantilli/fix-header-increase X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/9a3b3126eeb98a1bf5a327912b2ff0bf591ccec2?hp=-c Merge pull request #110 from cirosantilli/fix-header-increase Fix header increase and decrease. --- 9a3b3126eeb98a1bf5a327912b2ff0bf591ccec2 diff --combined ftplugin/mkd.vim index 41787f0,dfb5546..057947b --- a/ftplugin/mkd.vim +++ b/ftplugin/mkd.vim @@@ -47,12 -47,12 +47,12 @@@ " For each level, contains the regexp that matches at that level only. let s:levelRegexpDict = { - \ 1: '\v^(#[^#]|.+\n\=+$)', - \ 2: '\v^(##[^#]|.+\n-+$)', - \ 3: '\v^###[^#]', - \ 4: '\v^####[^#]', - \ 5: '\v^#####[^#]', - \ 6: '\v^######[^#]' + \ 1: '\v^(#[^#]@=|.+\n\=+$)', + \ 2: '\v^(##[^#]@=|.+\n-+$)', + \ 3: '\v^###[^#]@=', + \ 4: '\v^####[^#]@=', + \ 5: '\v^#####[^#]@=', + \ 6: '\v^######[^#]@=' \ } " Maches any header level of any type. @@@ -302,21 -302,21 +302,21 @@@ function! s:Markdown_Toc(... endif try - silent vimgrep /\(^\S.*\(\n[=-]\+\n\)\@=\|^#\+\)/ % + silent lvimgrep /\(^\S.*\(\n[=-]\+\n\)\@=\|^#\+\)/ % catch /E480/ echom "Toc: No headers." return endtry if l:window_type ==# 'horizontal' - copen + lopen elseif l:window_type ==# 'vertical' - vertical copen + vertical lopen let &winwidth=(&columns/2) elseif l:window_type ==# 'tab' - tab copen + tab lopen else - copen + lopen endif set modifiable %s/\v^([^|]*\|){2,2} #// @@@ -392,7 -392,7 +392,7 @@@ function! s:HeaderDecrease(line1, line2 endfor let l:numSubstitutions = s:SetexToAtx(a:line1, a:line2) for l:level in range(replaceLevels[0], replaceLevels[1], -l:levelDelta) - execute 'silent! ' . a:line1 . ',' . (a:line2 - l:numSubstitutions) . 'substitute/' . s:levelRegexpDict[l:level] . '/' . repeat('#', l:level + l:levelDelta) . '\1/g' + execute 'silent! ' . a:line1 . ',' . (a:line2 - l:numSubstitutions) . 'substitute/' . s:levelRegexpDict[l:level] . '/' . repeat('#', l:level + l:levelDelta) . '/g' endfor endfunction