X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c451b411134f97b9cbfc7bea57b034d28e29d351..0c61f835a73119eb80e68d27cf95136c36aa092b:/ftplugin/mkd.vim?ds=sidebyside diff --git a/ftplugin/mkd.vim b/ftplugin/mkd.vim index 41787f0..312c2a4 100644 --- a/ftplugin/mkd.vim +++ b/ftplugin/mkd.vim @@ -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. @@ -319,10 +319,9 @@ function! s:Markdown_Toc(...) lopen endif set modifiable - %s/\v^([^|]*\|){2,2} #// for i in range(1, line('$')) - " this is the quickfix data for the current item - let d = getqflist()[i-1] + " this is the location-list data for the current item + let d = getloclist(0)[i-1] " atx headers if match(d.text, "^#") > -1 let l:level = len(matchstr(d.text, '#*', 'g'))-1 @@ -392,7 +391,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