diff options
| -rw-r--r-- | autoload/todo.vim | 14 | ||||
| -rw-r--r-- | ftplugin/todo.vim | 5 | 
2 files changed, 19 insertions, 0 deletions
| diff --git a/autoload/todo.vim b/autoload/todo.vim index 926f1e7..758d0d5 100644 --- a/autoload/todo.vim +++ b/autoload/todo.vim @@ -1,4 +1,18 @@  function! todo#Escalate() +	let todo = getline('.') + +	" First non-whitespace character +	let col = match(todo, '\S') + +	let priority = todo[col] + +	if priority ==# '_' +		let todo = substitute(todo, '_', '-', '') +	elseif priority ==# '-' +		let todo = substitute(todo, '-', '!', '') +	endif + +	call setline(line('.'), todo)  endfunction diff --git a/ftplugin/todo.vim b/ftplugin/todo.vim index 85b2b66..f392c94 100644 --- a/ftplugin/todo.vim +++ b/ftplugin/todo.vim @@ -10,6 +10,7 @@ nnoremap <silent> <buffer> <Plug>TwodoMarkComplete m`:<c-u>s/\v^(\s*)[-_!xS] /\1  nnoremap <silent> <buffer> <Plug>TwodoMarkDeleted m`:<c-u>s/\v^(\s*)[-_!vS] /\1x / \| nohlsearch<cr>``  nnoremap <silent> <buffer> <Plug>TwodoMarkPartiallyCompleted m`:<c-u>s/\v^(\s*)[-_!xv] /\1S / \| nohlsearch<cr>``  nnoremap <silent> <buffer> <Plug>TwodoRemoveOldTodos :<c-u>g/^\s*[vx] /d \| nohlsearch<cr> +nnoremap <silent> <buffer> <Plug>TwodoEscalate :<c-u>call todo#Escalate()<cr>  nnoremap <silent> <buffer> <Plug>TwodoDescalate :<c-u>call todo#Descalate()<cr>  if !hasmapto('<Plug>TwodoNewTodoBelow') || !maparg('<leader>n', 'n') @@ -36,6 +37,10 @@ if !hasmapto('<Plug>TwodoRemoveOldTodos') || !maparg('<leader>R', 'n')  	nmap <silent> <buffer> <leader>R <Plug>TwodoRemoveOldTodos  endif +if !hasmapto('<Plug>TwodoEscalate') || !maparg('<leader>=', 'n') +	nmap <silent> <buffer> <leader>= <Plug>TwodoEscalate +endif +  if !hasmapto('<Plug>TwodoDescalate') || !maparg('<leader>-', 'n')  	nmap <silent> <buffer> <leader>- <Plug>TwodoDescalate  endif | 
