Skip to content

v0.3.2

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Aug 21:00
· 124 commits to main since this release

🚀 v0.3.2

发布日期:2026-08-31

修复版,外加一个降噪开关。两条修复都是 v0.3.1 里就存在的、能在正常使用中撞到的
问题——其中大写搜索会让 TUI 直接崩掉,建议装了 v0.3.1 的都升一下。

🐛 修复

  • 💥 含大写字母的搜索会崩掉 TUI。 查询长度 ≥2 且含大写字母时(VS、Jd、
    Do 这类),只要撞上特定候选路径就 panic 退出——是否触发取决于当前列表里有哪些路径,
    所以表现为「偶发」。高亮走的 Matcher::fuzzy_indices 要求 needle 预先小写化,
    而未小写化的大写 needle 能通过 prefilter,随后触发 nucleo 内部
    should have been caught by prefilter 断言,在渲染中途 abort。
    全小写查询、以及只有单个字符的查询不受影响。
    改为复用过滤器同一个 Pattern::parse,顺带让高亮的大小写与模糊语法和过滤结果对齐。
  • 🔤 Emoji ZWJ 序列会被光标切断。 搜索框里的 👩‍💻、👨‍👩‍👧‍👦 这类由零宽连接符
    拼成的字形,此前按 char 移动光标和截断,会从中间断开并留下孤立的 U+200D,
    于是显示宽度和终端实际渲染不一致,输入区跟着溢出。现在按字形簇(grapheme cluster)
    走。组合符(é)和区域指示符(🇨🇳)此前是碰巧安全的,ZWJ 序列不是。

✨ 新增

  • 🙈 Ctrl+H / F5 临时过滤隐藏目录。 一键隐藏路径里含隐藏目录段的候选
    (~/.cache/pip、~/.git 这类),再按一次全部回来。只作用于本次会话,不写任何文件——
    长期降噪仍然用 Ctrl+D 排除清单。判定按路径分段做,只看 / 分出的每一段是否以 .
    开头,所以 ~/workspace/dot.config 不会被误判;WSL 上 /mnt 打头的路径同样准确。
    部分终端把 Ctrl+H 编码成 ASCII BS,这一路(Ctrl+Backspace)也一并接受。

🧰 构建支持

  • ✅ Linux: x86_64-unknown-linux-gnu
  • ✅ macOS: x86_64-apple-darwin / aarch64-apple-darwin

💡 安装方式

curl -fsSL https://github.com/xianyudd/cdh/releases/download/v0.3.2/cdh-v0.3.2-x86_64-unknown-linux-gnu.tar.gz \
  | tar -xz
cd cdh-v0.3.2-x86_64-unknown-linux-gnu
bash --noprofile --norc install.sh