Tags: entireio/cli
Tags
Merge pull request #1089 from entireio/update-migration-logs Clean up migration output
feat(search): unify TUI palette with activity, add markdown snippets … …and shell completions (#1053) * feat(search): unhide command and align TUI palette with activity Removes Hidden flag so `entire search` appears in `entire -h`, and swaps the search TUI's gray/amber palette for activity's dark-mode Tailwind 400 accents (orange-400 for primary, blue-400 for detail titles) so the two commands feel unified. Brightens field labels to 245 + Bold so they read against dark terminal backgrounds. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: a2ddca7e919f * feat(search): use purple-400 for detail title and card border Swaps the detail title from blue-400 to purple-400 and recolors the rounded card border to match, so the detail panel reads as a single purple-framed unit instead of fading into a gray border. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 30af91bb421e * feat(search): render checkpoint snippet as markdown via glamour v2 Adds charm.land/glamour/v2 and pipes the SNIPPET section through it in the full checkpoint detail page (Enter from the results list), so bold, code spans, and paragraph breaks render properly. The compact inline detail card keeps plain wrapping to stay readable inside the purple-bordered card. Falls back to wrapText on renderer errors or narrow widths. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 194a071caca8 * fix(search): make snippet glamour rendering theme-resilient and instant Two fixes for the glamour-rendered snippet on the checkpoint detail page: - Null out Document and Paragraph foreground colours so the snippet inherits the terminal's default text colour. Glamour's default LightStyleConfig hard-codes ANSI palette "234", which terminal themes remap to surprising colours (the user saw pink-on-cream). - Cache TermRenderer instances at package scope keyed by (width, dark) so repeat detail-page entries skip the goldmark + chroma init cost, and pre-warm the renderer in newSearchModel via a background goroutine so the first Enter is fast too. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 69aca4a26874 * fix(search): eliminate detail-page latency from glamour pre-warm path Two real causes of the perceived delay, neither helped by simple caching: - Pre-warm in newSearchModel used ss.width (capped at 80) but the actual render uses m.width, the bubbletea-reported full terminal width set by WindowSizeMsg. The cache key never matched, so first Enter still paid the cold goldmark + chroma init. Pre-warm now fires inside the WindowSizeMsg handler against msg.Width, gated by a per-model set so resize chatter doesn't spawn redundant goroutines. - termenv.HasDarkBackground was called on every renderSnippetMarkdown invocation. Inside bubbletea's alt-screen the OSC query races against bubbletea's own stdin reader and stalls. Detect once in newSearchModel before tea.NewProgram.Run, store on the model, and pass it through. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: e1f32c4460c2 * refactor(search): drop unsafe glamour cache, expand colour overrides Reviewer correctly flagged that *glamour.TermRenderer is not safe to share across Render() calls — ansi.RenderContext owns a mutable blockStack and table that two interleaved renders would corrupt. Construction is genuinely cheap (goldmark + ANSI option setup, no chroma until a fenced code block forces it), so just rebuild per call and ditch the cache, mutex, prewarmedWidths set, and the pre-warm goroutine that only constructed (never rendered) and therefore warmed nothing meaningful anyway. Also expands the foreground-colour nulling beyond Document and Paragraph to every text-bearing primitive (Strong, Emph, Heading family, BlockQuote, Item, Enumeration, Link, Strikethrough, Text, List), so a snippet with bold or a heading still inherits terminal default fg instead of theme-remapped ANSI palette numbers. Adds a comment in snippetMarkdownStyles spelling out the shallow-copy invariant: only re-assign pointer fields on the local StyleConfig; never deref-assign through them, since the underlying data is shared with the package-global glamourstyles var. The darkBg-once-before-bubbletea fix from the previous commit stays — that was the actual cause of the perceived stall. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 343da74715ed * feat(search): colour links inside snippet markdown blue-400 Underline alone was easy to miss inline. Re-introduces searchAccentBlue (#60a5fa, matches activity's gemini accent) and applies it to Link and LinkText. Explicit hex keeps it consistent across terminal themes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: a9756e4a13f8 * feat(search): add shell completion for --date flag Static completion of the two valid values (week, month) so shell tab-completion stops offering arbitrary file paths after --date. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 5b7e4271c3c4 * feat(search): shell completion for --repo backed by Entire API TAB after --repo now offers the user's accessible repositories from Client.ListRepositories (sorted recent-first), filtered to those with at least one checkpoint — searching a repo with no checkpoints would always be empty, so don't suggest it. "*" is always returned first so the wildcard works regardless of auth state. Errors are swallowed so completion never pollutes the user's tab-complete output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 6d67b84b713c * hide search from help --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PreviousNext