3个不稳定版本
0.2.1 | 2024年8月7日 |
---|---|
0.2.0 | 2024年7月30日 |
0.1.0 | 2024年6月18日 |
#254 在 编程语言 中
1,539 每月下载量
在 7 个crate(2个直接使用) 中使用
27KB
452 代码行
codesnake
codesnake 是一个Rust crate,用于显示代码块并标记其中的部分。它的名字来源于连接代码跨度与其对应标签的线条的蛇形外观。🐍 以下是它的输出示例
功能
- 使用
&str
作为代码输入和跨度字节位置 - 代码块内可包含多个跨度
- 跨度可以跨越多行
- 零依赖
虽然这个crate不支持开箱即用的彩色输出,但非常容易与其他crate(如 yansi
)集成以在终端(ANSI)和网页(HTML)中生成彩色输出。
相关crate
ariadne
:我使用ariadne有一段时间了,但至少有一个月它有 破坏了语义版本控制,导致我的一个项目的构建失败。此外,这个crate的核心是一个超过700行的函数,作者本人也表示这个函数 非常复杂,有错误并且需要重写。codesnake 可以被视为是 ariadne 的重写,重点关注其核心功能。codespan-reporting
:这似乎是 ariadne 的精神前辈,但看起来很不幸地没有维护,最后发布于2021年。miette
:这似乎是现在很受欢迎的代码范围报告库。然而,在我看来,它似乎很复杂,提供的功能远超我所需要。此外,它的最低支持的Rust版本(MSRV)比我想要的更高,依赖项也更多。但,对我来说真正的决定性因素是,根据其描述,它是“为我们这些普通人而设计,我们不是编译器黑客”。鉴于我认为自己是某种编译器黑客,我并不觉得自己是它的目标群体(尽管我可能不是黑客)。 :)