#line #column #col #no-alloc

no-std line-column

Simple calculate lines and columns of str index

4 releases

new 0.1.3 Mar 16, 2025
0.1.2 Mar 9, 2025
0.1.1 Nov 6, 2024
0.1.0 Nov 5, 2024

#146 in No standard library

Download history 1/week @ 2024-11-23 13/week @ 2024-12-07 1/week @ 2025-02-15 117/week @ 2025-03-08

118 downloads per month

MIT license

11KB
241 lines

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));

No runtime deps