public override string ToString() {
var line = Position.Position.GetContainingLine();
int col = Position.Position - line.Start + Position.VirtualSpaces;
if (Affinity == PositionAffinity.Predecessor)
return $"|({line.LineNumber + 1},{col + 1}) {Position} {TextViewLine.Extent}";
return $"({line.LineNumber + 1},{col + 1})| {Position} {TextViewLine.Extent}";
}
}