diff options
| author | ZyX <kp-pav@yandex.ru> | 2017-12-03 16:49:30 +0300 |
|---|---|---|
| committer | ZyX <kp-pav@yandex.ru> | 2017-12-03 16:49:30 +0300 |
| commit | c49e22d3964d6c7ae1c24e8ad01b5fec4ca40b57 (patch) | |
| tree | b7e59c416d1435725c65f8952b6e55c70544d97e /runtime/ftplugin/qf.vim | |
| parent | 62108c3b0be46936c83f6d4c98b44ceb5e6f77fd (diff) | |
| parent | 27a577586eace687c47e7398845178208cae524a (diff) | |
| download | rneovim-c49e22d3964d6c7ae1c24e8ad01b5fec4ca40b57.tar.gz rneovim-c49e22d3964d6c7ae1c24e8ad01b5fec4ca40b57.tar.bz2 rneovim-c49e22d3964d6c7ae1c24e8ad01b5fec4ca40b57.zip | |
Merge branch 'master' into s-dash-stdin
Diffstat (limited to 'runtime/ftplugin/qf.vim')
| -rw-r--r-- | runtime/ftplugin/qf.vim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/runtime/ftplugin/qf.vim b/runtime/ftplugin/qf.vim index 98c8f932bc..80e86c4d16 100644 --- a/runtime/ftplugin/qf.vim +++ b/runtime/ftplugin/qf.vim @@ -14,3 +14,26 @@ 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 + +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 |