Add daybook functions

This commit is contained in:
Andrew Miner
2026-09-20 10:35:59 -06:00
parent 28f0851c61
commit 0cf3b02e07
+46 -1
View File
@@ -222,6 +222,51 @@ function! InsertDivider()
call cursor(line('.'), len(indent) + len(leader) + 1) call cursor(line('.'), len(indent) + len(leader) + 1)
endfunction endfunction
function! StartDailyReview()
let today = strftime('%d')
let yesterday = strftime('%d', localtime() - 86400)
if today == '01'
throw 'You need to perform a monthly review today.'
endif
let todayLog = fnameescape($'log/{today}-daily.md')
let yesterdayLog = fnameescape($'log/{yesterday}-daily.md')
execute $'edit {yesterdayLog}'
vsplit
set nowrap
wincmd n
edit log/future.md
set nowrap
wincmd l
vertical resize 107
execute $'edit {todayLog}'
:0r templates/daily.md
endfunction
function! CopyTriggerFiles()
let day = strftime('%d')
let month = strftime('%m')
let year = strftime('%Y')
let dayName = tolower(strftime('%A'))
let triggerFiles = [
\ $'triggers/once/{year}/{month}/{day}-trigger.md',
\ $'triggers/weekly/{dayName}-trigger.md',
\ $'triggers/monthly/{day}-trigger.md',
\ $'triggers/yearly/{month}/{day}-trigger.md',
\ ]
for fileName in triggerFiles
let fileName = fnameescape(fileName)
if filereadable(fileName)
execute $'read {fileName}'
normal! k
endif
endfor
endfunction
" Key Mappings ##################################################################################### " Key Mappings #####################################################################################
nnoremap <F1> :NERDTreeToggle \| wincmd p \| vertical resize 111 \| wincmd p<CR> nnoremap <F1> :NERDTreeToggle \| wincmd p \| vertical resize 111 \| wincmd p<CR>
@@ -234,7 +279,7 @@ nnoremap <F6> :set hlsearch!<CR>
nnoremap <F7> :cp<CR> nnoremap <F7> :cp<CR>
nnoremap <F9> :cn<CR> nnoremap <F9> :cn<CR>
nnoremap <F10> :copen<CR> nnoremap <F10> :copen<CR>
nnoremap <F11> :vsplit \| set nowrap \| wincmd p \| vertical resize 107<CR> nnoremap <F11> <Esc>:call StartDailyReview()<CR>
nnoremap <Leader>c :ALEGoToTypeDefinition<CR> nnoremap <Leader>c :ALEGoToTypeDefinition<CR>
nnoremap <Leader>d :ALEGoToDefinition<CR> nnoremap <Leader>d :ALEGoToDefinition<CR>