Crate line_column

Source
Expand description

Simple calculate lines and columns of str index

Use LF (0x0A) to split newline, also compatible with CRLF (0x0D 0x0A)

Newline char line number is current line

§Examples

use line_column::line_column;

assert_eq!(line_column("", 0),       (1, 1));
assert_eq!(line_column("a", 0),      (1, 1));
assert_eq!(line_column("a", 1),      (1, 2));
assert_eq!(line_column("ab", 1),     (1, 2));
assert_eq!(line_column("a\n", 1),    (1, 2));
assert_eq!(line_column("a\n", 2),    (2, 1));
assert_eq!(line_column("a\nb", 2),   (2, 1));
assert_eq!(line_column("a\r\nb", 2), (1, 3));
assert_eq!(line_column("a\r\nb", 3), (2, 1));

Functions§

char_index
Get str char index of line and column
index
Get str index of line and column
line_column
Get tuple of line and column
line_columns
Get multiple sets of lines and columns may be faster
line_columns_unchecked
Get multiple of lines and columns may be faster