Repository navigation
Conversation
This was referenced Oct 15, 2026
Open
axisrow
force-pushed
the
fix/powerline-font-detection
branch
from
October 15, 2026 03:14
bf8d2bb to
d621a3b
Compare
Merged
3 tasks done
checkPowerlineFonts() scanned only the top level of the font folders and
required a spaced "nerd font" pattern, so common layouts were reported as
missing: Nerd Fonts v3 file names have no spaces
("JetBrainsMonoNerdFont-Regular.ttf"), the short "NF" form exists
("JetBrainsMonoNF-Regular.ttf"), and font managers nest fonts in
subfolders ("NerdFonts/", "TTF/", Debian's
/usr/share/fonts/opentype/PowerlineSymbols.otf).
Match "nerd ?font" and an "NF" token, and scan the font folders
recursively with a depth cap.
Co-Authored-By: Claude Code <noreply@anthropic.com>
axisrow
force-pushed
the
fix/powerline-font-detection
branch
from
October 31, 2026 20:28
77af91b to
51ac69e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #738.
checkPowerlineFonts()missed three common layouts:JetBrainsMonoNerdFont-Regular.ttfJetBrainsMonoNF-Regular.ttf~/.local/share/fonts/NerdFonts/..., Debian/usr/share/fonts/opentype/PowerlineSymbols.otfThe same font file is detected under its old v2 name (
JetBrains Mono Regular Nerd Font Complete.ttf) and reported missing under its v3 name — only the name differs (repro and screenshot in #738).Changes, all around
checkPowerlineFonts(src/utils/powerline.ts):/nerd font/ibecomes/nerd ?font/i, plus anNFtoken check (nffollowed by a separator, digit, or end of name). All existing patterns are untouched.powerlineFontPatterns,fontFolderHasPowerlineFont); the walk recurses into subfolders withreaddirSync(..., { withFileTypes: true }), hidden entries skipped, depth-capped at 5.checkPowerlineFontskeeps its platform path list and just asks the helper.This also matters for the font-safe separator fallback discussed in #604: any fallback keyed on this detection would misfire for these setups, replacing working glyphs with
|.Terminals with built-in Powerline glyphs (Ghostty, kitty, WezTerm) stay out of scope here — see the follow-up note in #738.
Test plan
src/utils/__tests__/powerline-font-detection.test.tsdrives the exported scanner against real temporary directories (no module mocks): every layout above is detected, the spaced v2 name still is, hidden subfolders and unrelated fonts are not. On the pre-fix code the file fails to import (fontFolderHasPowerlineFontis new).bun run lintis clean.bun test: 3175 pass, 1 fail — a pre-existing flaky timeout inusage-fetch.test.ts(a real-subprocess probe that hit its 5s budget under load; unrelated to this PR).🤖 Generated with Claude Code