#会计 #yaml #应用 #语法高亮 #ed #编辑器 #命令

app bookkeep

一个基于YAML的会计应用程序

2个不稳定版本

0.2.0 2023年11月26日
0.1.0 2023年11月26日

214文本编辑器

MIT 许可证

15KB
377

雇佣

日常使用的ed重写

在一次又一次地厌倦了emacs频繁崩溃,并得出结论认为vim也没有少一些怪物之后,我做出了合理的决定,开始使用ed。一开始有点令人沮丧,但后来变得相当不错。唯一真正缺少的功能就是语法高亮。经过一番研究,我没有找到任何具有语法高亮的ed分支或克隆,所以我再次做出了合理的决定,自己编写了它。所以,这就是它,带着所有的缺点和不足。欢迎任何和所有拉取请求。

核心概念

选择

原始的'ed'会跟踪一条你最近交互的行,并在没有命令给出时默认工作在那条行。这是对这个逻辑的扩展,使其成为一行跨度。我发现这更直观。(为了避免不愉快,一些命令不默认为选择,如'w'。如果你想为任何命令修改选择行为,请创建一个问题,我可能确实错过了一个。)

可用性

原始的'ed'在其输入编辑中功能非常有限。为了改进这一点,这次重写增加了在输入中移动行内和行间的功能。类似的特性也存在于命令输入中,并计划增加更多。

命令

有关命令的详细信息,请参阅add-ed存储库,其中包含解析和运行命令的库。

致谢

当然,该项目从它所依赖的所有crate中获益良多。特别是我想感谢regex和syntect帮助我解决各种程度的不良问题。

我还得到了'bat'的帮助,我也认为它是这个应用程序的一个优秀伴侣,因为它们处理16色终端。我的主题目前是从它们的存储库中复制的,并将始终基于它们的主题。

构建

git clone --recurse-submodules https://github.com/sidju/hired
cd hired
cargo build

注意事项

  • 在GitHub CLI(GitHub的CLI)中,使用gh repo clone sidju/hired -- --recurse-submodules而不是git clone
  • 如果省略了--recurse-submodules,则不会提供高亮显示

后端库

hired 是基于 ed 运行时的 add-ed 开发的。

如果您想使用 ed 语法构建自己的编辑器,建议您先了解一下。它允许替换 IO(文件和shell交互)以及 UI 实现,以更好地满足您的需求。

依赖关系

约 4MB
约 83K SLoC