diff --git a/ftplugin/quicktask.vim b/ftplugin/quicktask.vim index 1196490..11d3893 100755 --- a/ftplugin/quicktask.vim +++ b/ftplugin/quicktask.vim @@ -23,6 +23,17 @@ let s:cpo_save = &cpo set cpo&vim +" Boilerplate for ftplugins. {{{1 +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +if !exists('b:undo_ftplugin') + let b:undo_ftplugin = '' +endif +let b:undo_ftplugin .= '|setlocal comments< formatoptions< spell< wrap< textwidth< expandtab< shiftwidth< tabstop< iskeyword< foldmethod< foldexpr< fillchars< foldtext<' + " Set all buffer-local settings: {{{1 setlocal comments=b:#,f:-,f:* setlocal formatoptions=qnwta @@ -1044,28 +1055,32 @@ nmap FindIncompleteTimestamps :call FindIncompleteTimestamps nmap OpenSnipUnderCursor :call OpenSnip() " Public mappings {{{1 -if ! g:quicktask_no_mappings - nmap tv SelectTask - nmap tD TaskComplete - nmap ta ShowActiveTasksOnly - nmap tw ShowWatchedTasksOnly - nmap ty ShowTodayTasksOnly - nmap ts AddNextTimeToTask - nmap tO AddTaskAbove - nmap to AddTaskBelow - nmap tn AddNoteToTask - nmap tc AddChildTask - nmap tu MoveTaskUp - nmap td MoveTaskDown - nmap tS AddSnipToTask - nmap tfi FindIncompleteTimestamps - nmap OpenSnipUnderCursor +if ! g:quicktask_no_mappings && ! exists('b:quicktask_did_mappings') + nmap tv SelectTask + nmap tD TaskComplete + nmap ta ShowActiveTasksOnly + nmap tw ShowWatchedTasksOnly + nmap ty ShowTodayTasksOnly + nmap ts AddNextTimeToTask + nmap tO AddTaskAbove + nmap to AddTaskBelow + nmap tn AddNoteToTask + nmap tc AddChildTask + nmap tu MoveTaskUp + nmap td MoveTaskDown + nmap tS AddSnipToTask + nmap tfi FindIncompleteTimestamps + nmap OpenSnipUnderCursor + let b:quicktask_did_mappings = 1 endif " ============================================================================ " Autocommands {{{1 if g:quicktask_autosave - autocmd BufLeave,FocusLost * call SaveOnFocusLost() + augroup quicktask + au! + autocmd BufLeave,FocusLost * call SaveOnFocusLost() + augroup END endif " ============================================================================