10个版本
0.3.0 | 2024年7月24日 |
---|---|
0.2.1 | 2024年5月21日 |
0.1.6 | 2024年2月27日 |
0.1.5 | 2023年11月13日 |
0.1.3 | 2023年10月22日 |
#670 in 文件系统
23,801 每月下载量
在 2 个Crates中使用(通过 ui_test)
10KB
240 代码行
为str
和&[u8]
提供简单的跨度处理
此crate公开了一些存在于str
或bstr
上的方法。如果您需要任何其他方法,请打开问题或PR。
基本用法是读取文件,然后使用这些方法修改它
let file = Spanned<String>::read_from_file(path)?;
for line in file.lines() {
if let Some(rest) = line.strip_prefix("cake:") {
println!("found a cake at {}: {}", rest.span.line_start, *rest);
}
}
任何Spanned
对象都将始终知道其文件、行和列信息,并在对子切片进行操作时正确保留这些信息。列信息以utf8字符的数量计算,这并不完全正确。如果您遇到这个问题,请打开一个问题。
依赖项
~5MB
~83K SLoC