diff -r c89fc366bebd -r 0ffb41625592 editors/TextViewer.py --- a/editors/TextViewer.py Thu Sep 02 21:36:29 2021 +0200 +++ b/editors/TextViewer.py Thu Sep 02 22:18:14 2021 +0200 @@ -198,12 +198,20 @@ def Colourise(self, start, end): self.Editor.Colourise(start, end) - def StartStyling(self, pos, mask): - self.Editor.StartStyling(pos, mask) + def StartStyling(self, pos): + self.Editor.StartStyling(pos) + + INDIC0 = 0 + INDIC1 = 1 + INDIC2 = 2 def SetStyling(self, length, style): self.Editor.SetStyling(length, style) + def SetIndicatorCurrentFillRange(start, length, indic): + self.Editor.SetIndicatorCurrent(indic) + self.Editor.IndicatorFillRange(start, length) + def GetCurrentPos(self): return self.Editor.GetCurrentPos() @@ -559,7 +567,7 @@ start_pos = last_styled_pos = self.Editor.GetLineEndPosition(line_number - 1) + 1 self.RefreshLineFolding(line_number) end_pos = event.GetPosition() - self.StartStyling(start_pos, 0xff) + self.StartStyling(start_pos) current_context = self.Variables current_call = None @@ -594,9 +602,8 @@ else: self.SetStyling(current_pos - last_styled_pos, STC_PLC_EMPTY) if word not in ["]", ")"] and (self.GetCurrentPos() < last_styled_pos or self.GetCurrentPos() > current_pos): - self.StartStyling(last_styled_pos, wx.stc.STC_INDICS_MASK) - self.SetStyling(current_pos - last_styled_pos, wx.stc.STC_INDIC0_MASK) - self.StartStyling(current_pos, 0xff) + self.SetIndicatorCurrentFillRange(last_styled_pos, current_pos - last_styled_pos, self.INDIC0) + self.StartStyling(current_pos) else: self.SetStyling(current_pos - last_styled_pos, STC_PLC_EMPTY) last_styled_pos = current_pos @@ -697,9 +704,8 @@ else: self.SetStyling(current_pos - last_styled_pos, STC_PLC_EMPTY) if word not in ["]", ")"] and (self.GetCurrentPos() < last_styled_pos or self.GetCurrentPos() > current_pos): - self.StartStyling(last_styled_pos, wx.stc.STC_INDICS_MASK) - self.SetStyling(current_pos - last_styled_pos, wx.stc.STC_INDIC0_MASK) - self.StartStyling(current_pos, 0xff) + self.SetIndicatorCurrentFillRange(last_styled_pos, current_pos - last_styled_pos, self.INDIC0) + self.StartStyling(current_pos) if char == '.': if word != "]": if current_context is not None: @@ -955,8 +961,8 @@ else: highlight_end_pos = self.Editor.GetLineEndPosition(end[0] - 1) + end[1] - indent + 2 if highlight_start_pos < end_pos and highlight_end_pos > start_pos: - self.StartStyling(highlight_start_pos, 0xff) + self.StartStyling(highlight_start_pos) self.SetStyling(highlight_end_pos - highlight_start_pos, highlight_type) - self.StartStyling(highlight_start_pos, 0x00) + self.StartStyling(highlight_start_pos) until_end = max(0, len(self.Editor.GetText()) - highlight_end_pos) self.SetStyling(until_end, wx.stc.STC_STYLE_DEFAULT)