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 命令行界面

Download history 122/week @ 2024-05-01 7/week @ 2024-05-08 7/week @ 2024-05-15 203/week @ 2024-05-22 16/week @ 2024-05-29 123/week @ 2024-06-05 153/week @ 2024-06-12 29/week @ 2024-06-19 11/week @ 2024-06-26 1/week @ 2024-07-10 97/week @ 2024-07-17 257/week @ 2024-07-24 127/week @ 2024-07-31 225/week @ 2024-08-07 163/week @ 2024-08-14

每月 782 次下载
用于 2 crates

Apache-2.0 OR MIT

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