mirror of
https://github.com/freitass/todo.txt-vim.git
synced 2025-11-15 21:33:46 -05:00
Fixes #37. Replacing existing date
This commit is contained in:
@@ -26,7 +26,10 @@ function! s:get_current_date()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! todo#txt#prepend_date()
|
function! todo#txt#prepend_date()
|
||||||
execute 's/^\(([a-zA-Z]) \)\?/\1' . s:get_current_date() . ' /'
|
if exists('g:todo_existing_date') && g:todo_existing_date == 'n'
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
execute 's/^\(([a-zA-Z]) \)\?\(\d\{2,4\}-\d\{2\}-\d\{2\} \)\?/\1' . s:get_current_date() . ' /'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! todo#txt#mark_as_done()
|
function! todo#txt#mark_as_done()
|
||||||
|
|||||||
20
doc/todo.txt
20
doc/todo.txt
@@ -1,5 +1,11 @@
|
|||||||
*todo.txt*
|
*todo.txt*
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
CONTENTS *todo-contents*
|
||||||
|
|
||||||
|
1. Commands ........................... |todo-commands|
|
||||||
|
2. Options ............................ |todo-options|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
COMMANDS *todo-commands*
|
COMMANDS *todo-commands*
|
||||||
|
|
||||||
@@ -32,3 +38,17 @@ COMMANDS *todo-commands*
|
|||||||
`<localleader>-D` : Move completed tasks to done.txt
|
`<localleader>-D` : Move completed tasks to done.txt
|
||||||
|
|
||||||
See :h <localleader> for more information about the commands' prefix.
|
See :h <localleader> for more information about the commands' prefix.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
OPTIONS *todo-options*
|
||||||
|
|
||||||
|
*'g:todo_existing_date'*
|
||||||
|
Specify the behavior of date insertion functions when the task already has a
|
||||||
|
date of creation: >
|
||||||
|
let g:todo_existing_date = 'n'
|
||||||
|
<
|
||||||
|
r - replace existing date (default)
|
||||||
|
n - do nothing
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
vim:ft=help:et:ts=2:sw=2:sts=2:norl
|
||||||
|
|||||||
@@ -10,3 +10,15 @@ example task
|
|||||||
(A) Call Mom
|
(A) Call Mom
|
||||||
(B) Call Dad
|
(B) Call Dad
|
||||||
# end_date_after_priority_visual
|
# end_date_after_priority_visual
|
||||||
|
|
||||||
|
# existing_date_no_priority
|
||||||
|
2014-05-06 example task
|
||||||
|
# end_existing_date_no_priority
|
||||||
|
|
||||||
|
# existing_date_after_priority
|
||||||
|
(A) 2014-05-06 Call Mom
|
||||||
|
# end_existing_date_after_priority
|
||||||
|
|
||||||
|
# existing_date_do_nothing
|
||||||
|
2014-05-06 example task
|
||||||
|
# end_existing_date_do_nothing
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ let s:DATE_INSERTED_AFTER_PRIORITY_VISUAL = [
|
|||||||
\ '(B) ' . s:TODAY . ' Call Dad',
|
\ '(B) ' . s:TODAY . ' Call Dad',
|
||||||
\ ]
|
\ ]
|
||||||
|
|
||||||
|
let s:DATE_INSERTED_DO_NOTHING = [
|
||||||
|
\ '2014-05-06 example task',
|
||||||
|
\ ]
|
||||||
|
|
||||||
function! s:tc.test_insert_date_normal_mode()
|
function! s:tc.test_insert_date_normal_mode()
|
||||||
call self.data.goto('lorem_ipsum')
|
call self.data.goto('lorem_ipsum')
|
||||||
call todo#txt#prepend_date()
|
call todo#txt#prepend_date()
|
||||||
@@ -49,4 +53,21 @@ function! s:tc.test_insert_date_after_priority_visual_mode()
|
|||||||
call self.assert_equal(s:DATE_INSERTED_AFTER_PRIORITY_VISUAL, self.data.get('date_after_priority_visual'))
|
call self.assert_equal(s:DATE_INSERTED_AFTER_PRIORITY_VISUAL, self.data.get('date_after_priority_visual'))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:tc.test_insert_with_existing_date()
|
||||||
|
call self.data.execute('call todo#txt#prepend_date()', 'existing_date_no_priority')
|
||||||
|
call self.assert_equal(s:DATE_INSERTED, self.data.get('existing_date_no_priority'))
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:tc.test_insert_with_existing_date_and_priority()
|
||||||
|
call self.data.execute('call todo#txt#prepend_date()', 'existing_date_after_priority')
|
||||||
|
call self.assert_equal(s:DATE_INSERTED_AFTER_PRIORITY, self.data.get('existing_date_after_priority'))
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:tc.test_insert_with_existing_date_and_priority()
|
||||||
|
let g:todo_existing_date = 'n'
|
||||||
|
call self.data.execute('call todo#txt#prepend_date()', 'existing_date_do_nothing')
|
||||||
|
call self.assert_equal(s:DATE_INSERTED_DO_NOTHING, self.data.get('existing_date_do_nothing'))
|
||||||
|
unlet g:todo_existing_date
|
||||||
|
endfunction
|
||||||
|
|
||||||
unlet s:tc
|
unlet s:tc
|
||||||
|
|||||||
Reference in New Issue
Block a user