ci: format

This commit is contained in:
Barrett Ruth 2026-03-28 00:25:05 -04:00
parent 5fcbcfcf99
commit c9d271c7a6
No known key found for this signature in database
GPG key ID: A6C96C9349D2FC81
3 changed files with 89 additions and 22 deletions

View file

@ -19,9 +19,26 @@ local DEFAULTS = {
}, },
}, },
picker_keys = { picker_keys = {
pr = { checkout = 'default', diff = 'ctrl-d', worktree = 'ctrl-w', checks = 'ctrl-t', browse = 'ctrl-x', manage = 'ctrl-e', create = 'ctrl-a', toggle = 'ctrl-o', refresh = 'ctrl-r' }, pr = {
checkout = 'default',
diff = 'ctrl-d',
worktree = 'ctrl-w',
checks = 'ctrl-t',
browse = 'ctrl-x',
manage = 'ctrl-e',
create = 'ctrl-a',
toggle = 'ctrl-o',
refresh = 'ctrl-r',
},
issue = { browse = 'default', close_reopen = 'ctrl-s', toggle = 'ctrl-o', refresh = 'ctrl-r' }, issue = { browse = 'default', close_reopen = 'ctrl-s', toggle = 'ctrl-o', refresh = 'ctrl-r' },
checks = { log = 'default', browse = 'ctrl-x', failed = 'ctrl-f', passed = 'ctrl-p', running = 'ctrl-n', all = 'ctrl-a' }, checks = {
log = 'default',
browse = 'ctrl-x',
failed = 'ctrl-f',
passed = 'ctrl-p',
running = 'ctrl-n',
all = 'ctrl-a',
},
ci = { log = 'default', browse = 'ctrl-x', refresh = 'ctrl-r' }, ci = { log = 'default', browse = 'ctrl-x', refresh = 'ctrl-r' },
commits = { checkout = 'default', diff = 'ctrl-d', browse = 'ctrl-x', yank = 'ctrl-y' }, commits = { checkout = 'default', diff = 'ctrl-d', browse = 'ctrl-x', yank = 'ctrl-y' },
branches = { diff = 'ctrl-d', browse = 'ctrl-x' }, branches = { diff = 'ctrl-d', browse = 'ctrl-x' },
@ -547,7 +564,12 @@ function M.format_check(check)
end end
end end
end end
return ('%s%s\27[0m %s \27[2m%s\27[0m'):format(color, icon, pad_or_truncate(name, widths.name), elapsed) return ('%s%s\27[0m %s \27[2m%s\27[0m'):format(
color,
icon,
pad_or_truncate(name, widths.name),
elapsed
)
end end
---@param run forge.CIRun ---@param run forge.CIRun

View file

@ -134,16 +134,23 @@ local function pr_actions(f, num)
local wt_path = vim.fs.normalize(root .. '/../' .. branch) local wt_path = vim.fs.normalize(root .. '/../' .. branch)
forge_mod.log_now(('fetching %s #%s into worktree...'):format(kind, num)) forge_mod.log_now(('fetching %s #%s into worktree...'):format(kind, num))
vim.system(fetch_cmd, { text = true }, function() vim.system(fetch_cmd, { text = true }, function()
vim.system({ 'git', 'worktree', 'add', wt_path, branch }, { text = true }, function(result) vim.system(
{ 'git', 'worktree', 'add', wt_path, branch },
{ text = true },
function(result)
vim.schedule(function() vim.schedule(function()
if result.code == 0 then if result.code == 0 then
vim.notify(('[forge]: worktree at %s'):format(wt_path)) vim.notify(('[forge]: worktree at %s'):format(wt_path))
else else
vim.notify('[forge]: ' .. cmd_error(result, 'worktree failed'), vim.log.levels.ERROR) vim.notify(
'[forge]: ' .. cmd_error(result, 'worktree failed'),
vim.log.levels.ERROR
)
end end
vim.cmd.redraw() vim.cmd.redraw()
end) end)
end) end
)
end) end)
end, end,
}, },

View file

@ -10,19 +10,39 @@ if cfg.keys ~= false then
end end
if k.next_qf then if k.next_qf then
vim.keymap.set('n', k.next_qf, require('forge.review').nav('cnext'), { desc = 'next quickfix entry' }) vim.keymap.set(
'n',
k.next_qf,
require('forge.review').nav('cnext'),
{ desc = 'next quickfix entry' }
)
end end
if k.prev_qf then if k.prev_qf then
vim.keymap.set('n', k.prev_qf, require('forge.review').nav('cprev'), { desc = 'prev quickfix entry' }) vim.keymap.set(
'n',
k.prev_qf,
require('forge.review').nav('cprev'),
{ desc = 'prev quickfix entry' }
)
end end
if k.next_loc then if k.next_loc then
vim.keymap.set('n', k.next_loc, require('forge.review').nav('lnext'), { desc = 'next loclist entry' }) vim.keymap.set(
'n',
k.next_loc,
require('forge.review').nav('lnext'),
{ desc = 'next loclist entry' }
)
end end
if k.prev_loc then if k.prev_loc then
vim.keymap.set('n', k.prev_loc, require('forge.review').nav('lprev'), { desc = 'prev loclist entry' }) vim.keymap.set(
'n',
k.prev_loc,
require('forge.review').nav('lprev'),
{ desc = 'prev loclist entry' }
)
end end
if k.fugitive ~= false then if k.fugitive ~= false then
@ -423,9 +443,21 @@ end
local function complete(arglead, cmdline, _) local function complete(arglead, cmdline, _)
local parts = vim.split(vim.trim(cmdline), '%s+') local parts = vim.split(vim.trim(cmdline), '%s+')
local subcmds = { 'pr', 'issue', 'ci', 'commit', 'branch', 'worktree', 'browse', 'yank', 'review', 'cache' } local subcmds =
{ 'pr', 'issue', 'ci', 'commit', 'branch', 'worktree', 'browse', 'yank', 'review', 'cache' }
local sub_actions = { local sub_actions = {
pr = { 'checkout', 'diff', 'worktree', 'checks', 'browse', 'manage', 'create', '--state=open', '--state=closed', '--state=all' }, pr = {
'checkout',
'diff',
'worktree',
'checks',
'browse',
'manage',
'create',
'--state=open',
'--state=closed',
'--state=all',
},
issue = { 'browse', 'close', 'reopen', '--state=open', '--state=closed', '--state=all' }, issue = { 'browse', 'close', 'reopen', '--state=open', '--state=closed', '--state=all' },
ci = { '--all' }, ci = { '--all' },
commit = { 'checkout', 'diff', 'browse' }, commit = { 'checkout', 'diff', 'browse' },
@ -438,7 +470,9 @@ local function complete(arglead, cmdline, _)
local create_flags = { '--draft', '--fill', '--web' } local create_flags = { '--draft', '--fill', '--web' }
if #parts <= 2 then if #parts <= 2 then
return vim.tbl_filter(function(s) return s:find(arglead, 1, true) == 1 end, subcmds) return vim.tbl_filter(function(s)
return s:find(arglead, 1, true) == 1
end, subcmds)
end end
local sub = parts[2] local sub = parts[2]
if #parts == 3 or (#parts == 4 and sub == 'pr' and parts[3] == 'create') then if #parts == 3 or (#parts == 4 and sub == 'pr' and parts[3] == 'create') then
@ -446,10 +480,14 @@ local function complete(arglead, cmdline, _)
if sub == 'pr' and #parts >= 3 and parts[3] == 'create' then if sub == 'pr' and #parts >= 3 and parts[3] == 'create' then
candidates = create_flags candidates = create_flags
end end
return vim.tbl_filter(function(s) return s:find(arglead, 1, true) == 1 end, candidates) return vim.tbl_filter(function(s)
return s:find(arglead, 1, true) == 1
end, candidates)
end end
if sub == 'pr' and parts[3] == 'create' then if sub == 'pr' and parts[3] == 'create' then
return vim.tbl_filter(function(s) return s:find(arglead, 1, true) == 1 end, create_flags) return vim.tbl_filter(function(s)
return s:find(arglead, 1, true) == 1
end, create_flags)
end end
return {} return {}
end end