Home / Function/ byte_offset_to_line_and_column() — tailwindcss Function Reference

byte_offset_to_line_and_column() — tailwindcss Function Reference

Architecture documentation for the byte_offset_to_line_and_column() function in pre_processor.rs from the tailwindcss codebase.

Entity Profile

Relationship Graph

Source Code

crates/oxide/src/extractor/pre_processors/pre_processor.rs lines 165–186

fn byte_offset_to_line_and_column(input: &[u8], offset: usize) -> (usize, usize) {
    use unicode_width::UnicodeWidthStr;

    let mut line_start = 0;
    let mut line = 0;

    for (i, &b) in input.iter().enumerate() {
        if i >= offset {
            break;
        }
        if b == b'\n' {
            line += 1;
            line_start = i + 1;
        }
    }

    let slice = &input[line_start..offset];
    let column = std::str::from_utf8(slice).expect("Valid UTF-8");
    let column = UnicodeWidthStr::width(column);

    (line, column)
}

Domain

Subdomains

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free