Crates.io | hydroper_source_text |
lib.rs | hydroper_source_text |
version | 1.0.3 |
source | src |
created_at | 2024-04-08 19:40:37.007368 |
updated_at | 2024-04-09 10:58:44.736515 |
description | Source text containing line locations. |
homepage | |
repository | https://github.com/hydroper/rust-source-text |
max_upload_size | |
id | 1201031 |
size | 14,460 |
Library for storing efficient line offset and column from std::string::String
. It processes lines only once at the first invokation of any of the retrieval methods.
Here is a basic example:
// offset 5 = "bar"
let text = SourceText::new("foo\r\nbar\r\nqux".into());
assert_eq!(0, text.get_column(5));
assert_eq!(2, text.get_line_number(5));
assert_eq!(5, text.get_line_offset(2).unwrap());
assert_eq!(5, text.get_line_offset_from_offset(7));