From 88b0ac5dbb8fdd591da1a0235b4d77f8ec86210c Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Sat, 29 Jul 2023 14:59:11 +0800 Subject: [PATCH] feat(git): add `:Git clean` command --- bundle/git.vim/lua/git/command/clean.lua | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 bundle/git.vim/lua/git/command/clean.lua diff --git a/bundle/git.vim/lua/git/command/clean.lua b/bundle/git.vim/lua/git/command/clean.lua new file mode 100644 index 000000000..c27aa171e --- /dev/null +++ b/bundle/git.vim/lua/git/command/clean.lua @@ -0,0 +1,26 @@ +local M = {} + +local job = require('spacevim.api.job') +local nt = require('spacevim.api.notify') +local log = require('git.log') + +local function on_exit(id, code, single) + log.debug('git-clean exit code:' .. code .. ' single:' .. single) + if code == 0 and single == 0 then + nt.notify('git clean successfully') + else + nt.notify('failed to run git clean', 'WarningMsg') + end +end + +function M.run(argv) + local cmd = {'git', 'clean'} + for _, v in ipairs(argv) do table.insert(cmd, v) + end + log.debug('git-clean cmd:' .. vim.inspect(cmd)) + job.start(cmd, { + on_exit = on_exit + }) +end + +return M