fix highlight

This commit is contained in:
2021-10-26 11:09:45 +02:00
parent 3b330b2fca
commit b592bada90

View File

@@ -29,19 +29,21 @@ class HighlightSelection(Highlight):
start_byte_in_line = begin - line.byte_offset()
else:
start_byte_in_line = 0
start_char = line.byte_index_to_char_index(start_byte_in_line)
if line.includes_byte(end):
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:
# renders the highlighting to the end of the line
# this is how selections usually behave
length_in_bytes = Settings.max_line_length() - start_byte_in_line
start_char = line.byte_index_to_char_index(start_byte_in_line)
end_char = line.byte_index_to_char_index(start_byte_in_line+length_in_bytes)
length_in_chars = end_char - start_char
# note: this mixes chars and bytes, but that should not matter, because
# it just means that we render the highlight into the invisible range on the right
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)]
else: