Function line_span::find_line_range [−][src]
pub fn find_line_range(text: &str, index: usize) -> Range<usize>
Expand description
Find the start and end (byte index) of the line, which index
is within.
Note the end is the last character, excluding \n
and \r\n
.
See also
find_line_start
to find only the start of the line.find_line_end
to find only the end of the line.find_next_line_range
to find the start and end of the next line.find_prev_line_range
to find the start and end of the previous line.
Panics
Panics if index
is out of bounds.
Example
let text = "foo\nbar\nbaz";
let i = 5; // 'a'
let range = line_span::find_line_range(text, i);
assert_eq!(range, 4..7);
let line = &text[range];
assert_eq!(line, "bar");