Files
Jan De DobbeleerandJan De Dobbeleer 3b63012568 refactor(cli)!: give fonts a list and an install command
Choosing a font was a five-stage terminal UI: fetch the list, scroll it,
download, unzip, install. It pulled bubbletea, lipgloss, bubbles and a
fuzzy matcher for what amounted to a non-filtering list of names with
one highlighted - and Go runs a linked package's init before main
whether or not the subcommand was invoked, so everyone typing at a
prompt paid for it on every render.

A CLI already has a way to answer "which fonts are there": print them.

  oh-my-posh font list
  oh-my-posh font install Meslo

The list can be grepped, piped and scripted, none of which a picker
allows, and install is what it always was underneath - resolve, fetch,
unzip - now reporting on a status line and a progress bar.

Removes 20 modules including go-runewidth, whose package init built a
2.2MB lookup table nothing in the prompt path ever read. The
atotto/clipboard fork this repo carried goes with them: bubbletea was
the only thing that needed it.

Binary 17,330,176 to 15,981,056 bytes (-7.8%). Init, median of 11 runs,
39.3ms to 6.8ms - on every invocation, prompt renders included.

BREAKING CHANGE: `oh-my-posh font install` now requires a font name; run
`oh-my-posh font list` to see them. The interactive picker is gone, and
with it the --headless flag, which existed to skip it.

Entire-Checkpoint: ef231d69c9bf
2026-07-30 19:44:41 +02:00
..
2026-07-30 19:44:41 +02:00
2022-05-13 08:19:35 +02:00
2023-01-27 14:30:26 +01:00
2025-09-09 19:31:32 +02:00