diff --git a/README.md b/README.md index f9f89bf..eb3ea80 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,26 @@ Simple date formating for notes go get github.com/vbatts/freezing-octo-hipster/cmd/next-note +### Usage + + next-note -h + Usage of next-note: + -c=false: print current week's filename + -d=false: print current date + -dir="": Base directory for tasks + -p=false: print previous week's filename + +### vim + +Copy ./cmd/next-note/next-note.vim to ~/.vim/plugin/ + +This provides commands, like: + +* `:Nd` - append the date to the current buffer +* `:Nc` - to open a tabe for current week's notes file +* `:Np` - to open a tabe for previous week's notes file +* `:Nn` - to open a tabe for next week's notes file + ## find-todos Look through your notes directory for TODO items. diff --git a/cmd/next-note/next-note.vim b/cmd/next-note/next-note.vim new file mode 100644 index 0000000..8797a17 --- /dev/null +++ b/cmd/next-note/next-note.vim @@ -0,0 +1,59 @@ + +if exists("loaded_next_note") + finish +endif +let loaded_next_note = 1 + +function! s:AppendDatetime() + let lines = [system("next-note -d")] + call append( line('$'), lines ) +endfunction + +function! s:OpenPrevWeeksNote() + let cmd_output = system("next-note -p") + if cmd_output == "" + echohl WarningMsg | + \ echomsg "Warning: next note already exists" | + \ echohl None + return + endif + execute "tabe " . cmd_output + execute "tabm +1" +endfunction + +function! s:OpenCurrentWeeksNote() + let cmd_output = system("next-note -c") + if cmd_output == "" + echohl WarningMsg | + \ echomsg "Warning: next note already exists" | + \ echohl None + return + endif + execute "tabe " . cmd_output + execute "tabm 1" +endfunction + +function! s:OpenNextWeeksNote() + let cmd_output = system("next-note") + if cmd_output == "" + echohl WarningMsg | + \ echomsg "Warning: next note already exists" | + \ echohl None + return + endif + execute "tabe " . cmd_output + execute "tabm 1" +endfunction + +command! Ndate + \ call s:AppendDatetime() + +command! Nprev + \ call s:OpenPrevWeeksNote() + +command! Nnext + \ call s:OpenNextWeeksNote() + +command! Ncurr + \ call s:OpenCurrentWeeksNote() +