Add vim command to open a plan file

This commit is contained in:
Michael Campagnaro 2021-02-08 15:40:32 -05:00
parent 944cc13055
commit ef9b9b6682

81
vimrc
View File

@ -6,13 +6,13 @@
" The config is chopped up into sections. These are the headings, which you " The config is chopped up into sections. These are the headings, which you
" can use to quickly jump to a particular section: " can use to quickly jump to a particular section:
" #0. GLOBALS " #0 GLOBALS
" #1. PLUGINS " #1 PLUGINS
" #2. BASE CONFIG " #2 BASE CONFIG
" #3. PLUGIN CONFIGS " #3 PLUGIN CONFIGS
" #4. VISUALS " #4 VISUALS
" #5. HELPER FUNCTIONS " #5 CUSTOM FUNCTIONS / COMMANDS
" #6. PERSONAL " #6 PERSONAL
" "
"################################################################################################### "###################################################################################################
@ -63,7 +63,7 @@ source ~/.vimrc.private
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#0. GLOBALS "#0 GLOBALS
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
@ -107,7 +107,7 @@ let g:campo_custom_ctags_args = ""
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#1. PLUGINS "#1 PLUGINS
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
@ -208,12 +208,11 @@ filetype plugin indent on
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#2. BASE CONFIG "#2 BASE CONFIG
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" BASIC EDITING CONFIGURATION " BASIC EDITING CONFIGURATION
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -572,7 +571,7 @@ inoremap <s-tab> <c-n>
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#3. PLUGIN CONFIGS "#3 PLUGIN CONFIGS
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
@ -665,6 +664,7 @@ let g:ctrlp_clear_cache_on_exit = 1 " No need to keep cache for now since I most
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" GIT " GIT
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map <leader>gb :Gblame -w<cr> map <leader>gb :Gblame -w<cr>
" Ignore whitespace changes; follow renames and copies. " Ignore whitespace changes; follow renames and copies.
command! -bar -bang -nargs=* Blame :Gblame<bang> -wCM <args> command! -bar -bang -nargs=* Blame :Gblame<bang> -wCM <args>
@ -735,7 +735,7 @@ set tags+=tags;$HOME
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#4. VISUALS "#4 VISUALS
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
@ -867,11 +867,17 @@ augroup END
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#5. HELPER FUNCTIONS "#5 CUSTOM FUNCTIONS / COMMANDS
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
function! PrintError(msg) abort
execute 'normal! \<Esc>'
echohl ErrorMsg
echomsg a:msg
echohl None
endfunction
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" BUILD COMMANDS " BUILD COMMANDS
@ -888,6 +894,7 @@ let errormarker_warningtext = "W"
" Thanks to https://forums.handmadehero.org/index.php/forum?view=topic&catid=4&id=704#3982 " Thanks to https://forums.handmadehero.org/index.php/forum?view=topic&catid=4&id=704#3982
" for the error message formats " for the error message formats
"
" Microsoft MSBuild errors " Microsoft MSBuild errors
set errorformat+=\\\ %#%f(%l\\\,%c):\ %m set errorformat+=\\\ %#%f(%l\\\,%c):\ %m
" Microsoft compiler: cl.exe " Microsoft compiler: cl.exe
@ -1020,7 +1027,7 @@ function! GlobalReplaceIt(confirm_replacement)
execute 'Ggrep '.l:term execute 'Ggrep '.l:term
execute 'Qargs | argdo %s/'.l:term.'/'.l:replacement.'/g'.l:confirm_opt execute 'Qargs | argdo %s/'.l:term.'/'.l:replacement.'/g'.l:confirm_opt
else else
echo "Unable to search since you're not in a git repo" PrintError "Unable to search since you're not in a git repo!"
endif endif
endfunction endfunction
map <leader>r :call GlobalReplaceIt(0)<cr> map <leader>r :call GlobalReplaceIt(0)<cr>
@ -1048,7 +1055,7 @@ map <leader>n :call RenameFile()<cr>
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
"#6. PERSONAL "#6 PERSONAL
"################################################################ "################################################################
"################################################################ "################################################################
"################################################################ "################################################################
@ -1061,3 +1068,45 @@ map <leader>pn :sp ~/.dev-scratchpad.md<cr>
"let g:autotagStopAt = "$HOME" "let g:autotagStopAt = "$HOME"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" PLAN FILE
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! OpenPlanFile(day = 0, month = 0, year = 0)
let l:year = a:year
let l:month = a:month
let l:day = a:day
if l:year == 0
let l:year = '' . strftime("%Y")
endif
if l:month == 0
let l:month = '' . strftime("%m")
endif
if l:day == 0
let l:day = '' . strftime("%d")
endif
let l:name = l:year . '-' . l:month . '-' . l:day . '.plan'
let l:path_base = ''
if !filereadable(l:name)
if isdirectory(l:year)
let l:path_base = l:year . '/'
elseif isdirectory('plan/' . l:year)
let l:path_base = 'plan/' . l:year . '/'
elseif isdirectory('notes/plan/' . l:year)
let l:path_base = 'notes/plan/' . l:year . '/'
elseif isdirectory('../plan/' . l:year)
let l:path_base = '../plan/' . l:year . '/'
elseif isdirectory('../notes/plan/' . l:year)
let l:path_base = '../notes/plan/' . l:year . '/'
else
call PrintError("Failed to find plan folder!")
return
endif
endif
execute 'tabe ' . l:path_base . l:name
endfunction
command -nargs=* Plan call OpenPlanFile(<f-args>)