2 个版本
0.10.1 | 2023年7月1日 |
---|---|
0.10.0 | 2023年7月1日 |
#20 在 #适配
100KB
2K SLoC
rhis:McFly 的修改版本
这是 McFly 0.8.1 的修改版本。
rhis 中简化了 McFly 的几个功能
- 只包含 Init/Add/Search 子命令,其余两个子命令已被移除。
- 只支持已实现
bind-x
的 bash 版本,其他 shell 不再受支持。 - 不再支持 vim/emacs 键绑定,唯一支持的是上/下键(太多绑定让我困惑 :) )。
- 通过命令行仅支持暗/亮主题和 UI 位置(顶部/底部)的设置。所有其他设置不再受支持,并已删除所有自定义环境变量。
- 数据库将不再无限扩展。因此,
nn_rank
函数不再支持overlap_factor
和immediate_overlap_factor
参数,并将它们强制设置为 0.0。因此,候选列表与 McFly 可能存在一些差异。除了这两个参数外,所有其他参数应保持不变。
由于这些简化以及某些代码调整,rhis 的代码库大约是 McFly 的一半大小。
以下是某些功能增强
- 不再使用磁盘上的临时文件,仅使用 bash 内置命令进行 bash 注入脚本。
- 与 McFly 相比,UI 刷屏应该减少,并且候选列表中不再存在命令和时间戳之间的填充。
- UI 渲染不再留下痕迹,窗口在调整大小时将正确重绘。长输入命令不会与候选列表重叠(尽管现在输入命令有一个最大长度限制)。
- 支持当候选列表超出窗口大小时进行滚动。
- 数据库将不再无限扩展,消除潜在的性能问题。
- 在 Add/Search 子命令中遇到错误时,rhis 避免恐慌并中断用户的 shell,尽管这还没有完全实现。
- 避免添加不存在于 typo 的命令,在尝试查找命令是否存在且可执行时,支持与 bash 相同的引号和转义规则。
用法
在 .bashrc 中,添加以下代码到末尾
eval "$(rhis init --light --bottom)"
或仅禁用浅色主题和底部位置
eval "$(rhis init)"
依赖项
~28–38MB
~627K SLoC