diff --git a/vimfiles.stefan/plugin/toptica.vim b/vimfiles.stefan/plugin/toptica.vim index 3a2421d..a253e07 100644 --- a/vimfiles.stefan/plugin/toptica.vim +++ b/vimfiles.stefan/plugin/toptica.vim @@ -386,7 +386,7 @@ function! s:ProjectSet(project_type, project_base_dir) if g:new_compiler let l:options .= ' --new-compiler' endif - execute "!invoke -e flash-and-run --target-ip ".g:DeviceIP.l:options + execute '!invoke -c ~/tools/invoke/'.g:project_type.'/tasks -e flash-and-run --target-ip '.g:DeviceIP.l:options elseif (g:project_type == 'dlcpro-can') call s:DeviceUpdateProgramLinux() elseif ((g:project_type == 'digifalc') || (g:project_type == 'servoboard') || (g:project_type == 'dl-motor') || (g:project_type == 'pfd')) @@ -467,13 +467,16 @@ endfunction function! s:Make(args, async_mode) call asyncrun#quickfix_toggle(10, 1) if s:use_invoke - " let l:makeprg = 'invoke -e build --project '.g:project_type - let l:makeprg = 'invoke -c ~/tools/invoke/'.g:project_type.'/tasks -e build' - if g:new_compiler - let l:makeprg .= ' --new-compiler' + let l:makeprg = 'invoke -c ~/tools/invoke/'.g:project_type.'/tasks -e' + let l:args = a:args + if l:args == '' + let l:args = 'build' " default + endif + if l:args =~ ' build ' && g:new_compiler + let l:args .= ' --new-compiler' endif let &makeprg = l:makeprg - execute 'AsyncRun -mode='.a:async_mode.' -save=2 -program=make @ '.a:args + execute 'AsyncRun -mode='.a:async_mode.' -save=2 -program=make @ '.l:args else let &makeprg = s:makeprg execute 'AsyncRun -mode='.a:async_mode.' -save=2 -program=make -cwd='.g:ProjectBuildDir. ' @ '.a:args