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 让你在升级前就能发现并修复这些问题,避免上线后才发现图标显示异常。


项目信息