ctlseqs - 一个 ECMA-35/ECMA-48 兼容的控制函数解析库

日期 : 2021-02-23 12:28:00作者 : 望京博格

背景

去年有段时间有需求做一个 TUI 应用程序,用到了 XTerm 的一些小众功能,而这些功能并不被 ncurses 之类的库支持,因此需要一个控制序列解析器。控制序列的语法非常简单,用正则表达式就可以轻松实现。但一方面为了稍微提升一下运行性能,另一方面,为了一个小功能引入正则库,显得有些过重。所以正则这个方案就 pass 掉。

ECMA-48 也已经有几十年的历史了,理论上轮子很多,但是我却搜不到满足我的需求的库。像是 libvte 这种库倒是有,但我需要的是一个通用的、只关注控制序列本身的解析,而不关注其具体含义的库。

于是 ctlseqs 这个库就产生了。现在为其补充文档、示例、测试用例,并将其基于 GPLv3+ 发布,从而方便其他有类似需求的开发者,不需要再造轮子了(虽然这轮子对于熟手来说可能一两个小时就能搞定)。

简介

ctlseqs 是一个 ECMA-35/ECMA-48 兼容的控制函数解析库。

备注

目前文档只写了一点。对于库函数的使用说明,可以先参考 man pages。后面会逐渐完善文档。

标签 :