From b13db3116d84b0fc474f193baf2514bc66d5580c Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 21 Mar 2020 23:11:25 +0100 Subject: Don't save search history when running substitution commands Our substitution commands would save the search pattern into search history, intervening with user search history. Use the `keeppatterns` command to prevent this. --- autoload/todo.vim | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'autoload') diff --git a/autoload/todo.vim b/autoload/todo.vim index 758d0d5..8cfa986 100644 --- a/autoload/todo.vim +++ b/autoload/todo.vim @@ -1,3 +1,39 @@ +function! todo#MarkComplete() + let view = winsaveview() + + keeppatterns s/\v^(\s*)[-_!xS] /\1v / + + call winrestview(view) +endfunction + + +function! todo#MarkDeleted() + let view = winsaveview() + + keeppatterns s/\v^(\s*)[-_!vS] /\1x / + + call winrestview(view) +endfunction + + +function! todo#MarkPartiallyCompleted() + let view = winsaveview() + + keeppatterns s/\v^(\s*)[-_!xv] /\1S / + + call winrestview(view) +endfunction + + +function! todo#RemoveOldTodos() + let view = winsaveview() + + keeppatterns g/^\s*[vx] /d + + call winrestview(view) +endfunction + + function! todo#Escalate() let todo = getline('.') -- cgit v1.2.3