From 9dda2491afb9cacf0d529d9791dbe48299801b07 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Sat, 29 Jul 2023 15:48:52 +0800 Subject: [PATCH] perf(git): display stderr on exit --- bundle/git.vim/lua/git/command/mv.lua | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/bundle/git.vim/lua/git/command/mv.lua b/bundle/git.vim/lua/git/command/mv.lua index ed99201c7..321c34dc6 100644 --- a/bundle/git.vim/lua/git/command/mv.lua +++ b/bundle/git.vim/lua/git/command/mv.lua @@ -3,28 +3,38 @@ local m = {} local job = require('spacevim.api.job') local nt = require('spacevim.api.notify') local log = require('git.log') +local stddata = {} local function on_exit(id, code, single) log.debug('git-mv exit code:' .. code .. ' single:' .. single) if code == 0 and single == 0 then nt.notify('git mv successfully') else - nt.notify('failed to run git mv', 'warningmsg') + nt.notify(table.concat(stddata, '\n'), 'warningmsg') + end +end + +local function on_std(id, data) + for _, v in ipairs(data) do + table.insert(stddata, v) end end function m.run(argv) - local cmd = {'git', 'mv'} + local cmd = { 'git', 'mv' } if vim.fn.index(argv, '%') ~= -1 then argv[vim.fn.index(argv, '%') + 1] = vim.fn.expand('%') end - for _, v in ipairs(argv) do table.insert(cmd, v) + for _, v in ipairs(argv) do + table.insert(cmd, v) end log.debug('git-mv cmd:' .. vim.inspect(cmd)) + stddata = {} job.start(cmd, { - on_exit = on_exit + on_exit = on_exit, + on_stdout = on_std, + on_stderr = on_std }) end return m -