import { type Position } from "https://deno.land/x/vscode_languageserver_textdocument@v0.1.0/mod.ts";
Position in a text document expressed as zero-based line and character offset.
The offsets are based on a UTF-16 string representation. So a string of the form
a๐b
the character offset of the character a
is 0, the character offset of ๐
is 1 and the character offset of b is 3 since ๐
is represented using two code
units in UTF-16.
Positions are line end character agnostic. So you can not specify a position that
denotes \r|\n
or \n|
where |
represents the character offset.
Properties
Line position in a document (zero-based). If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document. If a line number is negative, it defaults to 0.
Character offset on a line in a document (zero-based). Assuming that the line is
represented as a string, the character
value represents the gap between the
character
and character + 1
.
If the character value is greater than the line length it defaults back to the line length. If a line number is negative, it defaults to 0.