]>
git.madduck.net Git - etc/vim.git/blobdiff - ftplugin/mkd.vim
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
" For each level, contains the regexp that matches at that level only.
let s:levelRegexpDict = {
" 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.
\ }
" Maches any header level of any type.
- silent vimgrep /\(^\S.*\(\n[=-]\+ \)\@=\|^#\+\)/ %
+ silent lvimgrep /\(^\S.*\(\n[=-]\+\n \)\@=\|^#\+\)/ %
catch /E480/
echom "Toc: No headers."
return
endtry
if l:window_type ==# 'horizontal'
catch /E480/
echom "Toc: No headers."
return
endtry
if l:window_type ==# 'horizontal'
elseif l:window_type ==# 'vertical'
elseif l:window_type ==# 'vertical'
let &winwidth=(&columns/2)
elseif l:window_type ==# 'tab'
let &winwidth=(&columns/2)
elseif l:window_type ==# 'tab'
- %s/\v^([^|]*\|){2,2} #//
for i in range(1, line('$'))
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
" atx headers
if match(d.text, "^#") > -1
let l:level = len(matchstr(d.text, '#*', 'g'))-1
endfor
let l:numSubstitutions = s:SetexToAtx(a:line1, a:line2)
for l:level in range(replaceLevels[0], replaceLevels[1], -l:levelDelta)
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'