diff options
Diffstat (limited to 'public/nvim/.nvim/plugin')
-rw-r--r-- | public/nvim/.nvim/plugin/qf-dd.vim | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/public/nvim/.nvim/plugin/qf-dd.vim b/public/nvim/.nvim/plugin/qf-dd.vim deleted file mode 100644 index 385c0c7..0000000 --- a/public/nvim/.nvim/plugin/qf-dd.vim +++ /dev/null @@ -1,30 +0,0 @@ -" https://stackoverflow.com/questions/42905008/quickfix-list-how-to-add-and-remove-entries -" When using `dd` in the quickfix list, remove the item from the quickfix list. -function! RemoveQFItem(mode) range abort - let l:qf_list = getqflist() - - " distinguish mode for getting delete index and delete count - if a:mode == 'v' - let l:del_qf_idx = getpos("'<")[1] - 1 - let l:del_ct = getpos("'>")[1] - l:del_qf_idx - else - let l:del_qf_idx = line('.') - 1 - let l:del_ct = v:count > 1 ? v:count : 1 - endif - - " delete lines and update quickfix - for item in range(l:del_ct) - call remove(l:qf_list, l:del_qf_idx) - endfor - call setqflist(l:qf_list, 'r') - - if len(l:qf_list) > 0 - execute l:del_qf_idx + 1 . 'cfirst' - copen - else - cclose - endif -endfunction - -autocmd FileType qf nmap <buffer> dd :call RemoveQFItem('n')<cr> -autocmd FileType qf vmap <buffer> dd :call RemoveQFItem('v')<cr> |