123456789101112131415161718192021222324252627282930313233343536373839404142 |
- " Vim filetype plugin file
- " Language: Vim's quickfix window
- " Maintainer: Lech Lorens <Lech.Lorens@gmail.com>
- " Last Change: 2019 Jul 15
- if exists("b:did_ftplugin")
- finish
- endif
- " Don't load another plugin for this buffer
- let b:did_ftplugin = 1
- if !get(g:, 'qf_disable_statusline')
- let b:undo_ftplugin = "set stl<"
- " Display the command that produced the list in the quickfix window:
- setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}\ %=%-15(%l,%c%V%)\ %P
- endif
- function! s:setup_toc() abort
- if get(w:, 'quickfix_title') !~# '\<TOC$' || &syntax != 'qf'
- return
- endif
- let list = getloclist(0)
- if empty(list)
- return
- endif
- let bufnr = list[0].bufnr
- setlocal modifiable
- silent %delete _
- call setline(1, map(list, 'v:val.text'))
- setlocal nomodifiable nomodified
- let &syntax = getbufvar(bufnr, '&syntax')
- endfunction
- augroup qf_toc
- autocmd!
- autocmd Syntax <buffer> call s:setup_toc()
- augroup END
|