From 1f2653346532489a8cb4c352d0257efb6278c411 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 4 Feb 2014 06:21:04 +0100 Subject: [PATCH 1/5] Add boilerplate for ftplugins This prevents the file from being sourced multiple times. This is good for performance and fixes possible errors because of the ` Date: Tue, 4 Feb 2014 09:03:34 +0100 Subject: [PATCH 2/5] Append to b:undo_ftplugin --- ftplugin/quicktask.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ftplugin/quicktask.vim b/ftplugin/quicktask.vim index 06b9314..15dc6c2 100755 --- a/ftplugin/quicktask.vim +++ b/ftplugin/quicktask.vim @@ -29,7 +29,10 @@ if exists("b:did_ftplugin") endif let b:did_ftplugin = 1 -let b:undo_ftplugin = 'setlocal comments< formatoptions< spell< wrap< textwidth< expandtab< shiftwidth< tabstop< iskeyword< foldmethod< foldexpr< fillchars< foldtext<' +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:* From 0d77b1312238d925c7865c1b352102689edaae0e Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 4 Feb 2014 09:05:45 +0100 Subject: [PATCH 3/5] Use b:quicktask_did_mappings to prevent mapping errors --- ftplugin/quicktask.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ftplugin/quicktask.vim b/ftplugin/quicktask.vim index 15dc6c2..28acae2 100755 --- a/ftplugin/quicktask.vim +++ b/ftplugin/quicktask.vim @@ -1055,7 +1055,7 @@ nmap FindIncompleteTimestamps :call FindIncompleteTimestamps nmap OpenSnipUnderCursor :call OpenSnip() " Public mappings {{{1 -if ! g:quicktask_no_mappings +if ! g:quicktask_no_mappings && ! exists('b:quicktask_did_mappings') nmap tv SelectTask nmap tD TaskComplete nmap ta ShowActiveTasksOnly @@ -1071,6 +1071,7 @@ if ! g:quicktask_no_mappings nmap tS AddSnipToTask nmap tfi FindIncompleteTimestamps nmap OpenSnipUnderCursor + let b:quicktask_did_mappings = 1 endif " ============================================================================ From ac058c379cbdb3cc21ec05345a92ebc2a7978ac4 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 4 Feb 2014 09:06:33 +0100 Subject: [PATCH 4/5] Use `` for mappings --- ftplugin/quicktask.vim | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/ftplugin/quicktask.vim b/ftplugin/quicktask.vim index 28acae2..c66a3ca 100755 --- a/ftplugin/quicktask.vim +++ b/ftplugin/quicktask.vim @@ -1056,21 +1056,21 @@ nmap OpenSnipUnderCursor :call OpenSnip() " Public mappings {{{1 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 + 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 From fb719b5c14036f9f096448a356f9659fbd09a0af Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 4 Feb 2014 09:07:46 +0100 Subject: [PATCH 5/5] Use `augroup` and `au!` around `autocmd` setup --- ftplugin/quicktask.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ftplugin/quicktask.vim b/ftplugin/quicktask.vim index c66a3ca..11d3893 100755 --- a/ftplugin/quicktask.vim +++ b/ftplugin/quicktask.vim @@ -1077,7 +1077,10 @@ endif " ============================================================================ " Autocommands {{{1 if g:quicktask_autosave - autocmd BufLeave,FocusLost * call SaveOnFocusLost() + augroup quicktask + au! + autocmd BufLeave,FocusLost * call SaveOnFocusLost() + augroup END endif " ============================================================================