4 个版本

0.2.1 2020 年 8 月 11 日
0.2.0 2020 年 7 月 18 日
0.1.1 2020 年 7 月 13 日
0.1.0 2020 年 7 月 13 日

#358缓存

Download history 4717/week @ 2024-03-14 4660/week @ 2024-03-21 5710/week @ 2024-03-28 5353/week @ 2024-04-04 5441/week @ 2024-04-11 5176/week @ 2024-04-18 4914/week @ 2024-04-25 4854/week @ 2024-05-02 4674/week @ 2024-05-09 4951/week @ 2024-05-16 3742/week @ 2024-05-23 5081/week @ 2024-05-30 5278/week @ 2024-06-06 4498/week @ 2024-06-13 4498/week @ 2024-06-20 3219/week @ 2024-06-27

18,350 每月下载量
34 crate 中使用 (12 个直接使用)

MIT 许可证

11KB
110

line-col

Crates.io version shield Docs.rs shield Crates.io license shield Crates.io downloads shield

一个用于计算字符串切片基于 1 的行/列号的简单 crate。

示例

use line_col::LineColLookup;

let text = "One\nTwo";
let lookup = LineColLookup::new(text);
assert_eq!(lookup.get(0), (1, 1)); // 'O' (line 1, col 1)
assert_eq!(lookup.get(1), (1, 2)); // 'n' (line 1, col 2)
assert_eq!(lookup.get(2), (1, 3)); // 'e' (line 1, col 3)
assert_eq!(lookup.get(4), (2, 1)); // 'T' (line 2, col 1)
assert_eq!(lookup.get(5), (2, 2)); // 'w' (line 2, col 2)
assert_eq!(lookup.get(6), (2, 3)); // 'o' (line 2, col 3)
assert_eq!(lookup.get(7), (2, 4)); // <end> (line 2, col 4)

列计算方法

此 crate 提供两种计算列号的方法。

LineColLookup::get 方法计算从行首开始的字节数(加一)。然而,这并不考虑图形簇(例如,复杂的重音字符,emoji 等)。如果您想根据图形簇的数量来计算列,请启用 grapheme-clusters 功能并使用 LineColLookup::get_by_cluster

变更日志

0.2.1

  • LineColLookup 现在将行头表生成延迟到第一次查找

0.2.0

  • 将特定于集群的 LineColLookup::get 实现移动到其自己的方法,LineColLookup::get_by_cluster
  • 删除某些测试中的不必要的功能过滤器

0.1.1

  • 修复了文档中的错误
  • 使用扩展的图形簇

0.1.0

初始版本

依赖关系

~140KB