" minpac
function! s:minpac_init() abort
  packadd minpac | call minpac#init() | source $MYVIMRC
endfunction
command! PackUpdate call s:minpac_init() | call minpac#update('', {'do': 'call minpac#status()'})
command! PackStatus call s:minpac_init() | call minpac#status()
command! PackClean call s:minpac_init() | call minpac#clean()

" Sort Python Imports
command! ISort call do#isort()

" Strip white space from right of all lines.
" TODO: Make RStripLines work on a range
command! RStripLines call do#rstrip_lines()

" TODO: Strip white space from left of all lines, retains relative indentation.

" Set tab width
command! -nargs=1 TabWidth call do#set_tab_width(<f-args>)

" Toggle Checkbox
command! ToggleCheckbox call do#toggle_checkbox()

" Show highlight groups under the cursor
command! CursorHighlightGroups call do#cursor_highlight_groups()

" Setup and invoke a :TermdebugCommand
command! -nargs=+ -complete=file Debug call do#debug(<f-args>)

" Find all TODO items in the current file and populate the location list
command! TodoFile lvimgrep /todo/ %

" Change build directory
command! -nargs=? -complete=dir BuildDir call build#dir(<f-args>)
command! -nargs=* -complete=custom,build#targets Build call build#run(<f-args>)