diff --git a/autoload/todo/txt.vim b/autoload/todo/txt.vim deleted file mode 100644 index bad8d37..0000000 --- a/autoload/todo/txt.vim +++ /dev/null @@ -1,123 +0,0 @@ -" File: todo.txt.vim -" Description: Todo.txt filetype detection -" Author: Leandro Freitas -" License: Vim license -" Website: http://github.com/freitass/todo.txt-vim -" Version: 0.4 - -" Export Context Dictionary for unit testing {{{1 -function! s:get_SID() - return matchstr(expand(''), '\d\+_') -endfunction -let s:SID = s:get_SID() -delfunction s:get_SID - -function! todo#txt#__context__() - return { 'sid': s:SID, 'scope': s: } -endfunction - -" Functions {{{1 -function! s:remove_priority() - :s/^(\w)\s\+//ge -endfunction - -function! s:get_current_date() - return strftime('%Y-%m-%d') -endfunction - -function! todo#txt#prepend_date() - execute 'normal! I' . s:get_current_date() . ' ' -endfunction - -function! todo#txt#replace_date() - let current_line = getline('.') - if (current_line =~ '^\(([A-Z]) \)\?\d\{2,4\}-\d\{2\}-\d\{2\} ') && - \ exists('g:todo_existing_date') && g:todo_existing_date == 'n' - return - endif - execute 's/^\(([A-Z]) \)\?\(\d\{2,4\}-\d\{2\}-\d\{2\} \)\?/\1' . s:get_current_date() . ' /' -endfunction - -function! todo#txt#mark_as_done() - call s:remove_priority() - call todo#txt#prepend_date() - normal! Ix -endfunction - -function! todo#txt#mark_all_as_done() - :g!/^x /:call todo#txt#mark_as_done() -endfunction - -function! s:append_to_file(file, lines) - let l:lines = [] - - " Place existing tasks in done.txt at the beggining of the list. - if filereadable(a:file) - call extend(l:lines, readfile(a:file)) - endif - - " Append new completed tasks to the list. - call extend(l:lines, a:lines) - - " Write to file. - call writefile(l:lines, a:file) -endfunction - -function! todo#txt#remove_completed() - " Check if we can write to done.txt before proceeding. - - let l:target_dir = expand('%:p:h') - let l:todo_file = expand('%:p') - let l:done_file = substitute(substitute(l:todo_file, 'todo.txt$', 'done.txt', ''), 'Todo.txt$', 'Done.txt', '') - if !filewritable(l:done_file) && !filewritable(l:target_dir) - echoerr "Can't write to file 'done.txt'" - return - endif - - let l:completed = [] - :g/^x /call add(l:completed, getline(line(".")))|d - call s:append_to_file(l:done_file, l:completed) -endfunction - -function! todo#txt#sort_by_context() range - execute a:firstline . "," . a:lastline . "sort /\\(^\\| \\)\\zs@[^[:blank:]]\\+/ r" -endfunction - -function! todo#txt#sort_by_project() range - execute a:firstline . "," . a:lastline . "sort /\\(^\\| \\)\\zs+[^[:blank:]]\\+/ r" -endfunction - -function! todo#txt#sort_by_date() range - let l:date_regex = "\\d\\{2,4\\}-\\d\\{2\\}-\\d\\{2\\}" - execute a:firstline . "," . a:lastline . "sort /" . l:date_regex . "/ r" - execute a:firstline . "," . a:lastline . "g!/" . l:date_regex . "/m" . a:lastline -endfunction - -function! todo#txt#sort_by_due_date() range - let l:date_regex = "due:\\d\\{2,4\\}-\\d\\{2\\}-\\d\\{2\\}" - execute a:firstline . "," . a:lastline . "sort /" . l:date_regex . "/ r" - execute a:firstline . "," . a:lastline . "g!/" . l:date_regex . "/m" . a:lastline -endfunction - -" Increment and Decrement The Priority -:set nf=octal,hex,alpha - -function! todo#txt#prioritize_increase() - normal! 0f)h -endfunction - -function! todo#txt#prioritize_decrease() - normal! 0f)h -endfunction - -function! todo#txt#prioritize_add(priority) - " Need to figure out how to only do this if the first visible letter in a line is not ( - :call todo#txt#prioritize_add_action(a:priority) -endfunction - -function! todo#txt#prioritize_add_action(priority) - execute 's/^\(([A-Z]) \)\?/(' . a:priority . ') /' -endfunction - -" Modeline {{{1 -" vim: tabstop=4 shiftwidth=4 softtabstop=4 expandtab foldmethod=marker