Claude 6157a41398 fix(config): widen heuristic scan to all config texts, stabilize fingerprints
Two review findings on the template-derived fetch fallback:

The heuristic scanned only the unanalyzable segment's own templates and
options, but unanalyzability can be caused by a text OUTSIDE the
segment - another segment laundering a cross-reference through a
variable, or a global template. In that shape the field name that
defeated the analysis was never scanned, the probe stayed off, and
with the fetch options gone there was no user-side fix. ResolveFieldSets
now assembles the whole-config text corpus (every segment's templates
and templated options plus the global nil-context strings) once and
stamps it on each unanalyzable segment; the fallback scan covers it
all. The stamp gained a field, so fieldSetAnalysisVersion bumps.

templatedOptionValues iterated option maps in Go's randomized order,
and the collected sources feed the unanalyzable cache-key fingerprint:
any segment with two or more templated option values got a fresh key
per process, so its snapshots never hit and stale entries piled up.
Collection now sorts map keys recursively, making the delivered order -
and the fingerprint - stable across parses.

Also strips the removed fetch_* keys from the src/test fixtures and
updates the segment-docs skill's worked example off the deleted
FetchStatus const.

Acknowledged default changes now stated in the git segment docs'
migration note: the default config's statusline derives the upstream
icon its old explicit fetch_upstream_icon: false suppressed; the svn,
mercurial and jujutsu default templates fetch status by default; and
jujutsu's default rendering requires the jj binary.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M4RA9ZrP7vuqVSR7nddNiQ
2026-08-18 21:00:31 +00:00
2026-07-10 16:43:37 +02:00
2025-09-11 11:23:29 +02:00
2026-07-13 16:30:38 +02:00
2024-09-19 08:29:35 +02:00
2026-08-03 07:50:10 +02:00
2026-08-03 13:27:25 +02:00
2026-02-16 16:26:51 +01:00
2026-08-09 12:08:05 +02:00
2026-07-15 09:05:39 +02:00
2022-02-28 07:48:03 +01:00
2023-10-05 11:41:05 +02:00

Oh My Posh logo – Prompt theme engine for any shell

MIT license badge

Build Status badge

Release version number badge

Documentation link badge ohmyposh.dev

Number of GitHub Downloads badge

This repo was made with love using GitKraken.

GitKraken shield

Sponsors

CodeRabbit J

Want to become a sponsor?

Join the community

Mastodon badge

Discord badge

What started as the offspring of oh-my-posh2 for PowerShell resulted in a cross platform, highly customizable and extensible prompt theme engine. After 4 years of working on oh-my-posh, a modern and more efficient tool was needed to suit my personal needs.

❤️ Support ❤️

Swag - Show your love with a t-shirt!

GitHub - One time support, or a recurring donation?

Ko-Fi - No coffee, no code.

Features

  • Shell and platform agnostic
  • Easily configurable
  • The most configurable prompt utility
  • Fast
  • Secondary prompt
  • Right prompt
  • Transient prompt

Documentation

Documentation

Reviews

Thanks

S
Description
The most customisable and low-latency cross platform/shell prompt renderer
Readme
159 MiB
Languages
Go 66.1%
MDX 19.2%
JavaScript 9%
PowerShell 2%
Shell 1.7%
Other 1.7%