From 83882ba74f209fab47f78346b35a4e0b194e87a2 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Sat, 22 Apr 2017 15:42:01 +0800 Subject: [PATCH] Fix build cwd option catch --- autoload/SpaceVim/api/job.vim | 8 ++++++++ autoload/SpaceVim/plugins/manager.vim | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/autoload/SpaceVim/api/job.vim b/autoload/SpaceVim/api/job.vim index f4538fdfb..b65f1d587 100644 --- a/autoload/SpaceVim/api/job.vim +++ b/autoload/SpaceVim/api/job.vim @@ -95,7 +95,15 @@ function! s:self.start(argv, ...) abort else let opts = {} endif + if has_key(opts, 'cwd') + let old_wd = getcwd() + let cwd = expand(opts.cwd, 1) + exe 'cd' fnameescape(cwd) + endif let output = self.vim_co.systemlist(a:argv) + if exists('old_wd') + exe 'cd' fnameescape(old_wd) + endif let id = -1 if v:shell_error if has_key(opts,'on_stderr') diff --git a/autoload/SpaceVim/plugins/manager.vim b/autoload/SpaceVim/plugins/manager.vim index 240e86cfa..a99231044 100644 --- a/autoload/SpaceVim/plugins/manager.vim +++ b/autoload/SpaceVim/plugins/manager.vim @@ -396,7 +396,8 @@ function! s:build(repo) abort call s:msg_on_build_start(a:repo.name) redraw! call s:JOB.start(argv,{ - \ 'on_exit' : function('s:on_build_exit') + \ 'on_exit' : function('s:on_build_exit'), + \ 'cwd' : a:repo.path, \ }) endif