A struct representing a character position within the original text buffer.
Line and column numbers are 1-based and offsets are 0-based, which matches
how most editors and command-line tools work. Also, columns measure
positions in terms of characters while offsets measure by bytes; this is
because the offset field is often used to pull out a particular region of
text (which in most languages that bind to C implies pointer arithmetic on a
buffer of bytes), while the column field is often used to reference a
particular column on a printable display, which nowadays is usually UTF-8.
A struct representing a character position within the original text buffer. Line and column numbers are 1-based and offsets are 0-based, which matches how most editors and command-line tools work. Also, columns measure positions in terms of characters while offsets measure by bytes; this is because the offset field is often used to pull out a particular region of text (which in most languages that bind to C implies pointer arithmetic on a buffer of bytes), while the column field is often used to reference a particular column on a printable display, which nowadays is usually UTF-8.