#line-column #offset #convert-text #index #representation #flat #maps

line-index

将平面文本大小偏移量映射到/从(行,列)表示

3个版本

0.1.1 2023年12月12日
0.1.0 2023年7月3日
0.1.0-pre.12023年5月7日

#79文本处理

Download history 7443/week @ 2024-04-08 7611/week @ 2024-04-15 7108/week @ 2024-04-22 7003/week @ 2024-04-29 6579/week @ 2024-05-06 6452/week @ 2024-05-13 7504/week @ 2024-05-20 6884/week @ 2024-05-27 7495/week @ 2024-06-03 7854/week @ 2024-06-10 7927/week @ 2024-06-17 7478/week @ 2024-06-24 7058/week @ 2024-07-01 6995/week @ 2024-07-08 7906/week @ 2024-07-15 7189/week @ 2024-07-22

30,132 每月下载量
用于 16 个Crate(2个直接)

MIT/Apache

19KB
378

line-index

此Crate是作为 rust-analyzer 的一部分开发的。

line-index是一个库,用于在文本偏移量和相应的行/列坐标之间进行转换。

安装

要将此Crate添加到项目中,只需运行 cargo add line-index

使用

主要结构是 LineIndex

它使用UTF-8字符串构建,但也支持UTF-16和UTF-32偏移量。

示例

use line_index::LineIndex;

let line_index = LineIndex::new("This is a\nmulti-line\ntext.");
line_index.line_col(3.into()); // LineCol { line: 0, col: 3 }
line_index.line_col(13.into()); // LineCol { line: 1, col: 3 }
line_index.offset(LineCol { line: 2, col: 3 }); // Some (24)

SemVer

此Crate使用semver版本控制。


lib.rs:

LineIndex

依赖关系

~39KB