Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
80 lines
1.3 KiB
Lua
80 lines
1.3 KiB
Lua
local M = {}
|
|
|
|
local log = require('git.log')
|
|
local argv_parser = require('spacevim.api.vim.argv')
|
|
|
|
local cmds = {
|
|
'add',
|
|
'blame',
|
|
'branch',
|
|
'checkout',
|
|
'config',
|
|
'cherry-pick',
|
|
'clean',
|
|
'commit',
|
|
'diff',
|
|
'fetch',
|
|
'log',
|
|
'merge',
|
|
'mv',
|
|
'pull',
|
|
'push',
|
|
'remote',
|
|
'reset',
|
|
'rm',
|
|
'reflog',
|
|
'shortlog',
|
|
'status',
|
|
'grep',
|
|
'rebase',
|
|
'stash',
|
|
'tag',
|
|
'update-index',
|
|
}
|
|
local supported_commands = {}
|
|
|
|
local function update_cmd()
|
|
for _, v in ipairs(cmds) do
|
|
supported_commands[v] = true
|
|
end
|
|
end
|
|
|
|
update_cmd()
|
|
|
|
|
|
function M.run(cmdline)
|
|
-- log.debug('cmdlien:' .. cmdline)
|
|
|
|
local argv = argv_parser.parser(cmdline)
|
|
|
|
-- log.debug('argvs:' .. vim.inspect(argv))
|
|
|
|
local command = table.remove(argv, 1)
|
|
|
|
if not supported_commands[command] then
|
|
vim.api.nvim_echo(
|
|
{ { ':Git ' .. command .. ' is not supported', 'WarningMsg' } },
|
|
false,
|
|
{}
|
|
)
|
|
return
|
|
end
|
|
|
|
local ok, cmd = pcall(require, 'git.command.' .. command)
|
|
if ok then
|
|
if type(cmd.run) == 'function' then
|
|
cmd.run(argv)
|
|
else
|
|
vim.api.nvim_echo(
|
|
{ { 'git.command.' .. command .. '.run is not function', 'WarningMsg' } },
|
|
false,
|
|
{}
|
|
)
|
|
end
|
|
else
|
|
error(cmd)
|
|
end
|
|
end
|
|
|
|
return M
|