refactor(pickers): extract shared picker state and cache helpers #527

Closed
opened 2026-04-29 02:09:38 +00:00 by barrettruth · 0 comments
barrettruth commented 2026-04-29 02:09:38 +00:00

At roughly 2198 lines, lua/forge/pickers.lua starts with a large block of shared picker plumbing before the kind-specific surfaces even begin.

That shared layer currently owns things like:

  • placeholder and load-more entries
  • scoped IDs and list-cache keys
  • cache invalidation and prefetch helpers
  • refresh and limit helpers
  • generic row mutation helpers
  • common actionability / toggle helpers

This issue is for extracting that shared state/cache/session support into dedicated internal modules so the picker surfaces stop depending on one giant file for both common plumbing and concrete UI flows.

The goal is to keep the current picker behavior while making future picker changes smaller and more local.

At roughly 2198 lines, `lua/forge/pickers.lua` starts with a large block of shared picker plumbing before the kind-specific surfaces even begin. That shared layer currently owns things like: - placeholder and load-more entries - scoped IDs and list-cache keys - cache invalidation and prefetch helpers - refresh and limit helpers - generic row mutation helpers - common actionability / toggle helpers This issue is for extracting that shared state/cache/session support into dedicated internal modules so the picker surfaces stop depending on one giant file for both common plumbing and concrete UI flows. The goal is to keep the current picker behavior while making future picker changes smaller and more local.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/forge.nvim#527
No description provided.