nerdfix: Nerd Font アイコンの互換性を救う

nerdfix は、Nerd Font の古くなったアイコンを検出・修正するためのコマンドラインツールです。Nerd Fonts のバージョンアップに伴い、一部のアイコン codepoint が変更されます(例:mdi-* シリーズは v2.3.3 以降廃止予定)。プロジェクト内のアイコンを手動で確認するのは面倒で見落としもありがちですが、nerdfix は公式 cheat sheet をインデックス化し、コードベースを自動スキャンして置換案を提示します。


主な機能

機能説明
古いアイコン検出ファイルをスキャンして廃止されたNerd Fontアイコンを特定
スマート置換提案類似度順に新しいアイコンを推奨
インタラクティブ修正ファジー検索と対話式選択をサポート
一括置換プレフィックス置換や自動書き込みに対応
JSON出力CI/CD連携に便利な構造化出力

インストール

# ソースからインストール
cargo install --git https://github.com/loichyan/nerdfix.git

# または Nix を使用
nix run github:loichyan/nerdfix

# プリコンパイル済みバイナリは Release ページから

使用例

古いアイコンの検出

nerdfix check src/

出力例:

warning: Found obsolete icon U+F752
 ┌─ src/config.lua:15:8

15 │ icon = ""
 │         ^ Icon 'mdi-folder_multiple' is marked as obsolete

 = You could replace it with:
 1. 󰉓 U+F0253 md-folder_multiple
 2. 󱏓 U+F13D3 md-folder_star_multiple

インタラクティブ修正

nerdfix fix --write src/

ツールが古いアイコンを順番に表示し、推奨置換項の選択や手動での新アイコン名入力が可能です。

プレフィックスの一括置換

# mdi- プレフィックスを全て md- に置換
nerdfix fix --sub prefix:mdi-/md-/ src/

なぜ必要なのか?

Nerd Fonts v3 では大量の旧版アイコンが削除されています。設定ファイルやターミナルツールが古い codepoint を使用している場合、フォントアップグレード後にアイコンが欠落したり四角の文字になったりします。nerdfix を使えば、アップグレード前にこれらの問題を発見・修正でき、リリース後にアイコン表示異常に気づくリスクを減らせます。


プロジェクト情報