fix highlight
This commit is contained in:
@@ -29,19 +29,21 @@ class HighlightSelection(Highlight):
|
|||||||
start_byte_in_line = begin - line.byte_offset()
|
start_byte_in_line = begin - line.byte_offset()
|
||||||
else:
|
else:
|
||||||
start_byte_in_line = 0
|
start_byte_in_line = 0
|
||||||
|
start_char = line.byte_index_to_char_index(start_byte_in_line)
|
||||||
|
|
||||||
if line.includes_byte(end):
|
if line.includes_byte(end):
|
||||||
length_in_bytes = end - line.byte_offset() - start_byte_in_line
|
length_in_bytes = end - line.byte_offset() - start_byte_in_line
|
||||||
|
end_char = line.byte_index_to_char_index(start_byte_in_line + length_in_bytes)
|
||||||
else:
|
else:
|
||||||
# renders the highlighting to the end of the line
|
# renders the highlighting to the end of the line
|
||||||
# this is how selections usually behave
|
# this is how selections usually behave
|
||||||
length_in_bytes = Settings.max_line_length() - start_byte_in_line
|
length_in_bytes = Settings.max_line_length() - start_byte_in_line
|
||||||
|
|
||||||
start_char = line.byte_index_to_char_index(start_byte_in_line)
|
# note: this mixes chars and bytes, but that should not matter, because
|
||||||
end_char = line.byte_index_to_char_index(start_byte_in_line+length_in_bytes)
|
# it just means that we render the highlight into the invisible range on the right
|
||||||
length_in_chars = end_char - start_char
|
end_char = start_char + length_in_bytes
|
||||||
|
|
||||||
#print("selected: %s" % (line.substr(start_char, length_in_chars)))
|
length_in_chars = end_char - start_char
|
||||||
|
|
||||||
return [HighlightedRange(start_char, length_in_chars, brush=QBrush(QColor(156, 215, 255)), pen=Qt.PenStyle.NoPen)]
|
return [HighlightedRange(start_char, length_in_chars, brush=QBrush(QColor(156, 215, 255)), pen=Qt.PenStyle.NoPen)]
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user