You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.3 KiB
VimL
118 lines
4.3 KiB
VimL
" plugin to handle the TaskPaper to-do list format
|
|
" Language: Taskpaper (http://hogbaysoftware.com/projects/taskpaper)
|
|
" Maintainer: David O'Callaghan <david.ocallaghan@cs.tcd.ie>
|
|
" URL: https://github.com/davidoc/taskpaper.vim
|
|
" Last Change: 2012-02-20
|
|
|
|
if exists("b:did_ftplugin")
|
|
finish
|
|
endif
|
|
let b:did_ftplugin = 1
|
|
|
|
let s:save_cpo = &cpo
|
|
set cpo&vim
|
|
|
|
" Define a default date format
|
|
if !exists('g:task_paper_date_format')
|
|
let g:task_paper_date_format = "%Y-%m-%d"
|
|
endif
|
|
|
|
" Define a default archive project name
|
|
if !exists('g:task_paper_archive_project')
|
|
let g:task_paper_archive_project = "Archive"
|
|
endif
|
|
|
|
" When moving a task, should the cursor follow or stay in the same place
|
|
" (default: follow)
|
|
if !exists('g:task_paper_follow_move')
|
|
let g:task_paper_follow_move = 1
|
|
endif
|
|
|
|
" Hide @done tasks when searching tags
|
|
if !exists('g:task_paper_search_hide_done')
|
|
let g:task_paper_search_hide_done = 0
|
|
endif
|
|
|
|
" Add '@' to keyword character set so that we can complete contexts as keywords
|
|
setlocal iskeyword+=@-@
|
|
|
|
" Tab character has special meaning on TaskPaper
|
|
setlocal noexpandtab
|
|
|
|
" Change 'comments' and 'formatoptions' to continue to write a task item
|
|
setlocal comments=b:-
|
|
setlocal fo-=c fo+=rol
|
|
|
|
" Set 'autoindent' to maintain indent level
|
|
setlocal autoindent
|
|
|
|
" Set up mappings
|
|
if !exists("no_plugin_maps") && !exists("no_taskpaper_maps")
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperFoldProjects
|
|
\ :<C-u>call taskpaper#fold_projects()<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperFoldNotes
|
|
\ :<C-u>call taskpaper#search('\v^(\s*\|\t+-\s+.*\|.+:)$')<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperFocusProject
|
|
\ :<C-u>call taskpaper#focus_project()<CR>
|
|
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperSearchKeyword
|
|
\ :<C-u>call taskpaper#search()<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperSearchTag
|
|
\ :<C-u>call taskpaper#search_tag()<CR>
|
|
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperGoToProject
|
|
\ :<C-u>call taskpaper#go_to_project()<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperNextProject
|
|
\ :<C-u>call taskpaper#next_project()<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperPreviousProject
|
|
\ :<C-u>call taskpaper#previous_project()<CR>
|
|
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperArchiveDone
|
|
\ :<C-u>call taskpaper#archive_done()<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperShowToday
|
|
\ :<C-u>call taskpaper#search_tag('today')<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperShowCancelled
|
|
\ :<C-u>call taskpaper#search_tag('cancelled')<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperToggleCancelled
|
|
\ :call taskpaper#toggle_tag('cancelled', taskpaper#date())<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperToggleDone
|
|
\ :call taskpaper#toggle_tag('done', taskpaper#date())<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperToggleToday
|
|
\ :call taskpaper#toggle_tag('today', '')<CR>
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperMoveToProject
|
|
\ :call taskpaper#move_to_project()<CR>
|
|
|
|
nnoremap <silent> <buffer> <Plug>TaskPaperNewline
|
|
\ o<C-r>=taskpaper#newline()<CR>
|
|
inoremap <silent> <buffer> <Plug>TaskPaperNewline
|
|
\ <CR><C-r>=taskpaper#newline()<CR>
|
|
|
|
nmap <buffer> <Leader>tp <Plug>TaskPaperFoldProjects
|
|
nmap <buffer> <Leader>t. <Plug>TaskPaperFoldNotes
|
|
nmap <buffer> <Leader>tP <Plug>TaskPaperFocusProject
|
|
|
|
nmap <buffer> <Leader>t/ <Plug>TaskPaperSearchKeyword
|
|
nmap <buffer> <Leader>ts <Plug>TaskPaperSearchTag
|
|
|
|
nmap <buffer> <Leader>tg <Plug>TaskPaperGoToProject
|
|
nmap <buffer> <Leader>tj <Plug>TaskPaperNextProject
|
|
nmap <buffer> <Leader>tk <Plug>TaskPaperPreviousProject
|
|
|
|
nmap <buffer> <Leader>tD <Plug>TaskPaperArchiveDone
|
|
nmap <buffer> <Leader>tT <Plug>TaskPaperShowToday
|
|
nmap <buffer> <Leader>tX <Plug>TaskPaperShowCancelled
|
|
nmap <buffer> <Leader>td <Plug>TaskPaperToggleDone
|
|
nmap <buffer> <Leader>tt <Plug>TaskPaperToggleToday
|
|
nmap <buffer> <Leader>tx <Plug>TaskPaperToggleCancelled
|
|
nmap <buffer> <Leader>tm <Plug>TaskPaperMoveToProject
|
|
|
|
if mapcheck("o", "n") == ''
|
|
nmap <buffer> o <Plug>TaskPaperNewline
|
|
endif
|
|
if mapcheck("\<CR>", "i") == ''
|
|
imap <buffer> <CR> <Plug>TaskPaperNewline
|
|
endif
|
|
endif
|
|
|
|
let &cpo = s:save_cpo
|