Commit graph

15 commits

Author SHA1 Message Date
Barrett Ruth
fa7cab89af
feat(picker): add multi-backend picker abstraction
Problem: all pickers were tightly coupled to fzf-lua via ANSI strings
and fzf-specific action tables, making it impossible to use telescope
or snacks.nvim.

Solution: introduce `forge.picker` dispatcher with `fzf`, `telescope`,
and `snacks` backends. Format functions now return `forge.Segment[]`
instead of ANSI strings. `pickers.lua` builds backend-agnostic
`forge.PickerEntry[]` and delegates to `forge.picker.pick()`. Backend
auto-detection tries fzf-lua, snacks, telescope in order. Commits,
branches, and worktree pickers remain fzf-only with graceful fallback.
2026-03-28 17:48:24 -04:00
Barrett Ruth
b468c68cda
ci: format 2026-03-28 15:06:17 -04:00
Barrett Ruth
8899838e15
feat: tests and better vim validate 2026-03-28 15:05:55 -04:00
Barrett Ruth
e7dd173bf4
ci: release workflow 2026-03-28 14:57:15 -04:00
Barrett Ruth
2af47b6cf4
feat: add capabilities system and per-forge compatibility
Problem: forge.nvim silently ignored unsupported features on
non-GitHub forges. Codeberg `pr_for_branch_cmd` blocked all PR
creation, CI picker had zero actions, `repo_info` was hardcoded,
and the compose buffer showed draft/reviewer fields that did nothing.

Solution: add `forge.Capabilities` declaration (`draft`, `reviewers`,
`per_pr_checks`, `ci_json`) to each source. Compose buffer hides
unsupported fields. Per-PR checks falls back to repo-wide CI with
a notification. Fix Codeberg `pr_for_branch_cmd` to filter by branch
via jq, implement `repo_info` and `list_runs_json_cmd` via Gitea API,
add `default_branch_cmd` fallback, and add yank notifications for
GitLab/Codeberg.
2026-03-28 14:36:32 -04:00
Barrett Ruth
9be38e3b00
ci: resolve lua typechecks 2026-03-28 12:46:12 -04:00
Barrett Ruth
4ae7439a75
feat: update helpdocs 2026-03-28 12:43:55 -04:00
Barrett Ruth
afb5d93853
feat: color schemes 2026-03-28 12:39:08 -04:00
Barrett Ruth
c677feee2f
feat: expand cli 2026-03-28 12:12:04 -04:00
Barrett Ruth
f96eaf5938
ci: typgin,e tc 2026-03-28 00:47:59 -04:00
Barrett Ruth
c9d271c7a6
ci: format 2026-03-28 00:25:05 -04:00
Barrett Ruth
5fcbcfcf99
feat: cli 2026-03-28 00:24:26 -04:00
Barrett Ruth
e31b2777f9
more tweaks 2026-03-27 18:08:42 -04:00
Barrett Ruth
5ee2cc567a
ci: format 2026-03-27 17:19:09 -04:00
Barrett Ruth
c4da2cda2a
feat: initial commit 2026-03-27 16:46:28 -04:00