32 个版本
0.12.0 | 2023 年 9 月 9 日 |
---|---|
0.1.8 | 2024 年 8 月 21 日 |
0.1.3 | 2024 年 7 月 27 日 |
0.0.36 | 2024 年 3 月 14 日 |
0.0.28 | 2023 年 11 月 29 日 |
#782 in 命令行界面
每月 782 次下载
用于 2 crates
61KB
1.5K SLoC
科帕
科帕是 Alacritty 的 VTE 的分支,旨在通过自定义指令扩展 Paul Williams 的 ANSI 解析器状态机。
状态机不分配解析数据的含义,因此本身不足以编写终端模拟器。相反,预期将提供 Perform
特性的实现,该实现可以对解析数据进行一些有用的操作。 Parser
处理账目,而 Perform
则简单地处理操作。
有关更多信息,请参阅 ansicode.txt。
lib.rs
:
实现虚拟终端模拟器的解析器
Parser
根据保罗·威廉姆斯的 ANSI 解析器状态机实现。状态机不分配解析数据的含义,因此本身不足以编写终端模拟器。相反,预期将提供 Perform
的实现,该实现可以对解析数据进行一些有用的操作。 Parser
处理账目,而 Perform
则简单地处理操作。
示例
有关使用 Parser
的示例,请参阅示例文件夹。该示例中包含的示例仅记录所有 Perform
执行的操作。要查看其操作,可以将 vim
管道输入其中
cargo build --release --example parselog
vim | target/release/examples/parselog
只需输入 :q
即可退出。
与原始状态机描述的差异
- 输入的 UTF-8 支持
- OSC 字符串可以通过 0x07 终止
- 仅支持 7 位代码。一些 8 位代码仍然受到支持,但它们不再在所有状态下工作。
依赖关系
~96KB