diff --git a/Components/ScintEdit.pas b/Components/ScintEdit.pas index 9822f0fd8..47ac88d85 100644 --- a/Components/ScintEdit.pas +++ b/Components/ScintEdit.pas @@ -480,7 +480,7 @@ function ScintRawStringIsBlank(const S: TScintRawString): Boolean; implementation uses - ShellAPI, RTLConsts, UITypes, GraphUtil, ScintStylerInnoSetup; + ShellAPI, RTLConsts, UITypes, GraphUtil; function ScintRawStringIsBlank(const S: TScintRawString): Boolean; begin @@ -760,6 +760,7 @@ procedure TScintEdit.EndUndoAction; procedure TScintEdit.EnsureLineVisible(const Line: Integer); begin + FLines.CheckIndexRange(Line); Call(SCI_ENSUREVISIBLE, Line, 0); end; @@ -1328,7 +1329,7 @@ procedure TScintEdit.SelectAndEnsureVisible(const Range: TScintRange); begin CheckPosRange(Range.StartPos, Range.EndPos); - { If the range is in a collapsed section, expand it } + { If the range is in a contracted section, expand it } var StartLine := GetLineFromPosition(Range.StartPos); var EndLine := GetLineFromPosition(Range.EndPos); for var Line := StartLine to EndLine do @@ -1827,7 +1828,7 @@ procedure TScintEdit.StyleNeeded(const EndPos: Integer); if FoldHeader then FoldLevel := FoldLevel or SC_FOLDLEVELHEADERFLAG; { Setting SC_FOLDLEVELWHITEFLAG on empty lines causes a problem: when - Scintilla auto expands a collapsed section (for example after removing ']' + Scintilla auto expands a contracted section (for example after removing ']' from a section header) all the empty lines stay invisible, even any which are in the middle of the section. } diff --git a/Components/ScintStylerInnoSetup.pas b/Components/ScintStylerInnoSetup.pas index 9b3755856..978468c07 100644 --- a/Components/ScintStylerInnoSetup.pas +++ b/Components/ScintStylerInnoSetup.pas @@ -21,7 +21,7 @@ interface type TInnoSetupStylerSection = ( - scNone, { Not inside a section (start of file, or previous section was closed with ) + scNone, { Not inside a section (start of file, or previous section was closed ) Section tags themselves are not associated with any section! } scUnknown, { Inside an unrecognized section } scThirdParty, { Inside a '_' section (reserved for third-party tools) } @@ -950,7 +950,7 @@ procedure TInnoSetupStyler.GetFoldLevel(const LineState: TScintLineState; followed by a section line. Did notice an issue (Scintilla automatic folding bug?): Add a section with - some lines. Collapse it. Break the section header for example by removing ']'. + some lines. Contract it. Break the section header for example by removing ']'. Scintialla now auto expands the section and removes the fold mark. Retype the ']'. Scintilla now displays the old fold mark to expand the section but it's already expanded. } diff --git a/Projects/Src/CompForm.pas b/Projects/Src/CompForm.pas index 8b2c74bfe..c4f8fb642 100644 --- a/Projects/Src/CompForm.pas +++ b/Projects/Src/CompForm.pas @@ -1983,7 +1983,7 @@ procedure TCompileForm.SyncEditorOptions; begin for Memo in FMemos do begin Memo.UseStyleAttributes := FOptions.UseSyntaxHighlighting; - Memo.Call(SCI_INDICSETSTYLE, inSquiggly, SquigglyStyles[FOptions.UnderlineErrors]); + Memo.Call(SCI_INDICSETSTYLE, minSquiggly, SquigglyStyles[FOptions.UnderlineErrors]); if FOptions.CursorPastEOL then Memo.VirtualSpaceOptions := [svsRectangularSelection, svsUserAccessible, svsNoWrapLineStart] @@ -3326,7 +3326,7 @@ procedure TCompileForm.UpdateOccurrenceIndicators(const AMemo: TCompScintEdit); { Don't add indicators on lines which have a line marker } var Line := AMemo.GetLineFromPosition(FoundRange.StartPos); var Markers := AMemo.GetMarkers(Line); - if Markers * [mmLineError, mmLineBreakpointBad, mmLineStep] <> [] then + if Markers * [mlmError, mlmBreakpointBad, mlmStep] <> [] then Continue; { Add indicator while making sure it does not overlap any regular selection @@ -3368,7 +3368,7 @@ procedure TCompileForm.UpdateOccurrenceIndicators(const AMemo: TCompScintEdit); FindTextAndAddRanges(AMemo, TextToIndicate, GetWordOccurrenceFindOptions, SelectionRanges, IndicatorRanges); end; end; - AMemo.UpdateIndicators(IndicatorRanges, inWordAtCursorOccurrence); + AMemo.UpdateIndicators(IndicatorRanges, minWordAtCursorOccurrence); IndicatorRanges.Clear; if FOptions.HighlightSelTextOccurrences and MainSelNotEmpty and MainSelSingleLine then begin @@ -3377,7 +3377,7 @@ procedure TCompileForm.UpdateOccurrenceIndicators(const AMemo: TCompScintEdit); AMemo.GetSelections(SelectionRanges); FindTextAndAddRanges(AMemo, TextToIndicate, GetSelTextOccurrenceFindOptions,SelectionRanges, IndicatorRanges); end; - AMemo.UpdateIndicators(IndicatorRanges, inSelTextOccurrence); + AMemo.UpdateIndicators(IndicatorRanges, minSelTextOccurrence); finally SelectionRanges.Free; IndicatorRanges.Free; @@ -3484,13 +3484,13 @@ procedure TCompileForm.UpdateMarginsIcons; var BitmapInfo := CreateBitmapInfo(ImageList.Width, -ImageList.Height, 32); var NamedMarkers := [ - NM(mmIconHasEntry, 'debug-stop-filled'), - NM(mmIconEntryProcessed, 'debug-stop-filled_2'), - NM(mmIconBreakpoint, 'debug-breakpoint-filled'), - NM(mmIconBreakpointBad, 'debug-breakpoint-filled-cancel-2'), - NM(mmIconBreakpointGood, 'debug-breakpoint-filled-ok-2'), - NM(mmIconStep, 'symbol-arrow-right'), - NM(mmIconBreakpointStep, 'debug-breakpoint-filled-ok2-symbol-arrow-right'), + NM(mimHasEntry, 'debug-stop-filled'), + NM(mimEntryProcessed, 'debug-stop-filled_2'), + NM(mimBreakpoint, 'debug-breakpoint-filled'), + NM(mimBreakpointBad, 'debug-breakpoint-filled-cancel-2'), + NM(mimBreakpointGood, 'debug-breakpoint-filled-ok-2'), + NM(mimStep, 'symbol-arrow-right'), + NM(mimBreakpointStep, 'debug-breakpoint-filled-ok2-symbol-arrow-right'), NM(SC_MARKNUM_FOLDER, 'symbol-add'), NM(SC_MARKNUM_FOLDEROPEN, 'symbol-remove')]; @@ -3855,7 +3855,7 @@ procedure TCompileForm.MoveCaretAndActivateMemo(AMemo: TCompScintEdit; const Lin else Pos := AMemo.CaretPosition; { Not actually moving caret - it's already were we want it} - { If the line is in a collapsed section, expand it } + { If the line is in a contracted section, expand it } AMemo.EnsureLineVisible(AMemo.GetLineFromPosition(Pos)); { If the line isn't in view, scroll so that it's in the center } @@ -4241,9 +4241,9 @@ procedure TCompileForm.MemoUpdateUI(Sender: TObject; Updated: TScintEditUpdates) Pos := AMemo.CaretPosition; Value := False; if AMemo.CaretVirtualSpace = 0 then begin - Value := AMemo.GetIndicatorAtPosition(inPendingSquiggly, Pos); + Value := AMemo.GetIndicatorAtPosition(minPendingSquiggly, Pos); if not Value and (Pos > 0) then - Value := AMemo.GetIndicatorAtPosition(inPendingSquiggly, Pos-1); + Value := AMemo.GetIndicatorAtPosition(minPendingSquiggly, Pos-1); end; if FOnPendingSquiggly <> Value then begin FOnPendingSquiggly := Value; @@ -6710,18 +6710,18 @@ procedure TCompileForm.UpdateLineMarkers(const AMemo: TCompScintFileEdit; const NewMarker := -1; if AMemo.BreakPoints.IndexOf(Line) <> -1 then begin if AMemo.LineState = nil then - NewMarker := mmIconBreakpoint + NewMarker := mimBreakpoint else if (Line < AMemo.LineStateCount) and (AMemo.LineState[Line] <> lnUnknown) then - NewMarker := IfThen(StepLine, mmIconBreakpointStep, mmIconBreakpointGood) + NewMarker := IfThen(StepLine, mimBreakpointStep, mimBreakpointGood) else - NewMarker := mmIconBreakpointBad; + NewMarker := mimBreakpointBad; end else if StepLine then - NewMarker := mmIconStep + NewMarker := mimStep else begin if Line < AMemo.LineStateCount then begin case AMemo.LineState[Line] of - lnHasEntry: NewMarker := mmIconHasEntry; - lnEntryProcessed: NewMarker := mmIconEntryProcessed; + lnHasEntry: NewMarker := mimHasEntry; + lnEntryProcessed: NewMarker := mimEntryProcessed; end; end; end; @@ -6735,11 +6735,11 @@ procedure TCompileForm.UpdateLineMarkers(const AMemo: TCompScintFileEdit; const AMemo.AddMarker(Line, NewMarker); if StepLine then - AMemo.AddMarker(Line, mmLineStep) + AMemo.AddMarker(Line, mlmStep) else if AMemo.ErrorLine = Line then - AMemo.AddMarker(Line, mmLineError) - else if NewMarker = mmIconBreakpointBad then - AMemo.AddMarker(Line, mmLineBreakpointBad); + AMemo.AddMarker(Line, mlmError) + else if NewMarker = mimBreakpointBad then + AMemo.AddMarker(Line, mlmBreakpointBad); end; procedure TCompileForm.UpdateAllMemoLineMarkers(const AMemo: TCompScintFileEdit); diff --git a/Projects/Src/CompScintEdit.pas b/Projects/Src/CompScintEdit.pas index 2bb2836f0..e50b0872c 100644 --- a/Projects/Src/CompScintEdit.pas +++ b/Projects/Src/CompScintEdit.pas @@ -15,32 +15,38 @@ interface Windows, Graphics, Classes, Generics.Collections, ScintInt, ScintEdit, ModernColors; const - { Memo marker numbers } - mmIconHasEntry = 0; { grey dot } - mmIconEntryProcessed = 1; { green dot } - mmIconBreakpoint = 2; { stop sign } - mmIconBreakpointGood = 3; { stop sign + check } - mmIconBreakpointBad = 4; { stop sign + X } - mmLineError = 10; { maroon line highlight } - mmLineBreakpointBad = 11; { ugly olive line highlight } - mmLineStep = 12; { blue line highlight } - mmIconStep = 13; { blue arrow } - mmIconBreakpointStep = 14; { blue arrow on top of a stop sign + check } - mmIconsMask = (1 shl mmIconHasEntry) or (1 shl mmIconEntryProcessed) or - (1 shl mmIconBreakpoint) or (1 shl mmIconBreakpointGood) or - (1 shl mmIconBreakpointBad) or (1 shl mmIconStep) or - (1 shl mmIconBreakpointStep); + { Memo margin numbers } + mmLineNumbers = 0; + mmIcons = 1; + mmChangeHistory = 2; + mmFolding = 3; + + { Memo icon and line marker numbers } + mimHasEntry = 0; { grey dot } + mimEntryProcessed = 1; { green dot } + mimBreakpoint = 2; { stop sign } + mimBreakpointGood = 3; { stop sign + check } + mimBreakpointBad = 4; { stop sign + X } + mlmError = 10; { maroon line highlight } + mlmBreakpointBad = 11; { ugly olive line highlight } + mlmStep = 12; { blue line highlight } + mimStep = 13; { blue arrow } + mimBreakpointStep = 14; { blue arrow on top of a stop sign + check } + mimMask = (1 shl mimHasEntry) or (1 shl mimEntryProcessed) or + (1 shl mimBreakpoint) or (1 shl mimBreakpointGood) or + (1 shl mimBreakpointBad) or (1 shl mimStep) or + (1 shl mimBreakpointStep); { Memo indicator numbers - Note: inSquiggly and inPendingSquiggly are 0 and 1 in ScintStylerInnoSetup and must be first and second here. Also note: even though inSquiggly and inPendingSquiggly are exclusive we still need 2 indicators (instead of 1 indicator with 2 values) because inPendingSquiggly is always hidden and in inSquiggly is not. } - inSquiggly = INDICATOR_CONTAINER; - inPendingSquiggly = INDICATOR_CONTAINER+1; - inWordAtCursorOccurrence = INDICATOR_CONTAINER+2; - inSelTextOccurrence = INDICATOR_CONTAINER+3; - inMax = inSelTextOccurrence; + minSquiggly = INDICATOR_CONTAINER; + minPendingSquiggly = INDICATOR_CONTAINER+1; + minWordAtCursorOccurrence = INDICATOR_CONTAINER+2; + minSelTextOccurrence = INDICATOR_CONTAINER+3; + minMax = minSelTextOccurrence; { Just some invalid value used to indicate an unknown/uninitialized compiler FileIndex value } UnknownCompilerFileIndex = -2; @@ -50,7 +56,7 @@ interface PLineStateArray = ^TLineStateArray; TLineStateArray = array[0..0] of TLineState; TSaveEncoding = (seAuto, seUTF8WithBOM, seUTF8WithoutBOM); - TCompScintIndicatorNumber = 0..inMax; + TCompScintIndicatorNumber = 0..minMax; TCompScintEdit = class(TScintEdit) private @@ -191,47 +197,47 @@ procedure TCompScintEdit.CreateWnd; Call(SCI_SETSCROLLWIDTH, 1024 * CallStr(SCI_TEXTWIDTH, 0, 'X'), 0); - Call(SCI_INDICSETSTYLE, inSquiggly, INDIC_SQUIGGLE); { Overwritten by TCompForm.SyncEditorOptions } - Call(SCI_INDICSETFORE, inSquiggly, clRed); { May be overwritten by UpdateThemeColorsAndStyleAttributes } - Call(SCI_INDICSETSTYLE, inPendingSquiggly, INDIC_HIDDEN); + Call(SCI_INDICSETSTYLE, minSquiggly, INDIC_SQUIGGLE); { Overwritten by TCompForm.SyncEditorOptions } + Call(SCI_INDICSETFORE, minSquiggly, clRed); { May be overwritten by UpdateThemeColorsAndStyleAttributes } + Call(SCI_INDICSETSTYLE, minPendingSquiggly, INDIC_HIDDEN); - Call(SCI_INDICSETSTYLE, inWordAtCursorOccurrence, INDIC_STRAIGHTBOX); - Call(SCI_INDICSETFORE, inWordAtCursorOccurrence, clSilver); { May be overwritten by UpdateThemeColorsAndStyleAttributes } - Call(SCI_INDICSETALPHA, inWordAtCursorOccurrence, SC_ALPHA_OPAQUE); - Call(SCI_INDICSETOUTLINEALPHA, inWordAtCursorOccurrence, SC_ALPHA_OPAQUE); - Call(SCI_INDICSETUNDER, inWordAtCursorOccurrence, 1); + Call(SCI_INDICSETSTYLE, minWordAtCursorOccurrence, INDIC_STRAIGHTBOX); + Call(SCI_INDICSETFORE, minWordAtCursorOccurrence, clSilver); { May be overwritten by UpdateThemeColorsAndStyleAttributes } + Call(SCI_INDICSETALPHA, minWordAtCursorOccurrence, SC_ALPHA_OPAQUE); + Call(SCI_INDICSETOUTLINEALPHA, minWordAtCursorOccurrence, SC_ALPHA_OPAQUE); + Call(SCI_INDICSETUNDER, minWordAtCursorOccurrence, 1); - Call(SCI_INDICSETSTYLE, inSelTextOccurrence, INDIC_STRAIGHTBOX); - Call(SCI_INDICSETFORE, inSelTextOccurrence, clSilver); { May be overwritten by UpdateThemeColorsAndStyleAttributes } - Call(SCI_INDICSETALPHA, inSelTextOccurrence, SC_ALPHA_OPAQUE); - Call(SCI_INDICSETOUTLINEALPHA, inSelTextOccurrence, SC_ALPHA_OPAQUE); - Call(SCI_INDICSETUNDER, inSelTextOccurrence, 1); + Call(SCI_INDICSETSTYLE, minSelTextOccurrence, INDIC_STRAIGHTBOX); + Call(SCI_INDICSETFORE, minSelTextOccurrence, clSilver); { May be overwritten by UpdateThemeColorsAndStyleAttributes } + Call(SCI_INDICSETALPHA, minSelTextOccurrence, SC_ALPHA_OPAQUE); + Call(SCI_INDICSETOUTLINEALPHA, minSelTextOccurrence, SC_ALPHA_OPAQUE); + Call(SCI_INDICSETUNDER, minSelTextOccurrence, 1); { Set up the gutter column with line numbers - avoid Scintilla's 'reverse arrow' cursor which is not a standard Windows cursor so is just confusing, especially because the line numbers are clickable to select lines. Note: width of the column is set up for us by TScintEdit.UpdateLineNumbersWidth. } - Call(SCI_SETMARGINCURSORN, 0, SC_CURSORARROW); + Call(SCI_SETMARGINCURSORN, mmLineNumbers, SC_CURSORARROW); { Set up the gutter column with breakpoint etc symbols } - Call(SCI_SETMARGINTYPEN, 1, SC_MARGIN_SYMBOL); - Call(SCI_SETMARGINMASKN, 1, mmIconsMask); - Call(SCI_SETMARGINSENSITIVEN, 1, 1); { Makes it send SCN_MARGIN(RIGHT)CLICK instead of selecting lines } - Call(SCI_SETMARGINCURSORN, 1, SC_CURSORARROW); + Call(SCI_SETMARGINTYPEN, mmIcons, SC_MARGIN_SYMBOL); + Call(SCI_SETMARGINMASKN, mmIcons, mimMask); + Call(SCI_SETMARGINSENSITIVEN, mmIcons, 1); { Makes it send SCN_MARGIN(RIGHT)CLICK instead of selecting lines } + Call(SCI_SETMARGINCURSORN, mmIcons, SC_CURSORARROW); { Set up the gutter column with change history. Note: width of the column is set up by UpdateMarginsAndSquigglyWidths. Also see https://scintilla.org/ChangeHistory.html } - Call(SCI_SETMARGINTYPEN, 2, SC_MARGIN_SYMBOL); - Call(SCI_SETMARGINMASKN, 2, not (SC_MASK_FOLDERS or mmIconsMask)); - Call(SCI_SETMARGINCURSORN, 2, SC_CURSORARROW); + Call(SCI_SETMARGINTYPEN, mmChangeHistory, SC_MARGIN_SYMBOL); + Call(SCI_SETMARGINMASKN, mmChangeHistory, not (SC_MASK_FOLDERS or mimMask)); + Call(SCI_SETMARGINCURSORN, mmChangeHistory, SC_CURSORARROW); { Set up the gutter column with folding markers. Note: width of the column is set up by UpdateMarginsAndSquigglyWidths. } - Call(SCI_SETMARGINTYPEN, 3, SC_MARGIN_SYMBOL); - Call(SCI_SETMARGINMASKN, 3, LPARAM(SC_MASK_FOLDERS)); - Call(SCI_SETMARGINCURSORN, 3, SC_CURSORARROW); - Call(SCI_SETMARGINSENSITIVEN, 3, 1); + Call(SCI_SETMARGINTYPEN, mmFolding, SC_MARGIN_SYMBOL); + Call(SCI_SETMARGINMASKN, mmFolding, LPARAM(SC_MASK_FOLDERS)); + Call(SCI_SETMARGINCURSORN, mmFolding, SC_CURSORARROW); + Call(SCI_SETMARGINSENSITIVEN, mmFolding, 1); Call(SCI_SETAUTOMATICFOLD, SC_AUTOMATICFOLD_SHOW or SC_AUTOMATICFOLD_CLICK or SC_AUTOMATICFOLD_CHANGE, 0); Call(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPEN, SC_MARK_ARROWDOWN); Call(SCI_MARKERDEFINE, SC_MARKNUM_FOLDER, SC_MARK_ARROW); @@ -242,15 +248,15 @@ procedure TCompScintEdit.CreateWnd; Call(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY); { Set up the line markers } - Call(SCI_MARKERDEFINE, mmLineError, SC_MARK_BACKFORE); - Call(SCI_MARKERSETFORE, mmLineError, clWhite); - Call(SCI_MARKERSETBACK, mmLineError, clMaroon); - Call(SCI_MARKERDEFINE, mmLineBreakpointBad, SC_MARK_BACKFORE); - Call(SCI_MARKERSETFORE, mmLineBreakpointBad, clLime); - Call(SCI_MARKERSETBACK, mmLineBreakpointBad, clOlive); - Call(SCI_MARKERDEFINE, mmLineStep, SC_MARK_BACKFORE); - Call(SCI_MARKERSETFORE, mmLineStep, clWhite); - Call(SCI_MARKERSETBACK, mmLineStep, clBlue); { May be overwritten by UpdateThemeColorsAndStyleAttributes } + Call(SCI_MARKERDEFINE, mlmError, SC_MARK_BACKFORE); + Call(SCI_MARKERSETFORE, mlmError, clWhite); + Call(SCI_MARKERSETBACK, mlmError, clMaroon); + Call(SCI_MARKERDEFINE, mlmBreakpointBad, SC_MARK_BACKFORE); + Call(SCI_MARKERSETFORE, mlmBreakpointBad, clLime); + Call(SCI_MARKERSETBACK, mlmBreakpointBad, clOlive); + Call(SCI_MARKERDEFINE, mlmStep, SC_MARK_BACKFORE); + Call(SCI_MARKERSETFORE, mlmStep, clWhite); + Call(SCI_MARKERSETBACK, mlmStep, clBlue); { May be overwritten by UpdateThemeColorsAndStyleAttributes } end; procedure TCompScintEdit.SetUseFolding(const Value: Boolean); @@ -310,27 +316,27 @@ procedure TCompScintEdit.UpdateMarginsAndSquigglyWidths(const IconMarkersWidth, BaseChangeHistoryWidth, BaseFolderMarkersWidth, LeftBlankMarginWidth, RightBlankMarginWidth, SquigglyWidth: Integer); begin - Call(SCI_SETMARGINWIDTHN, 1, IconMarkersWidth); + Call(SCI_SETMARGINWIDTHN, mmIcons, IconMarkersWidth); var ChangeHistoryWidth: Integer; if ChangeHistory then ChangeHistoryWidth := BaseChangeHistoryWidth else ChangeHistoryWidth := 0; { Current this is just the preprocessor output memo } - Call(SCI_SETMARGINWIDTHN, 2, ChangeHistoryWidth); + Call(SCI_SETMARGINWIDTHN, mmChangeHistory, ChangeHistoryWidth); var FolderMarkersWidth: Integer; if FUseFolding then FolderMarkersWidth := BaseFolderMarkersWidth else FolderMarkersWidth := 0; - Call(SCI_SETMARGINWIDTHN, 3, FolderMarkersWidth); + Call(SCI_SETMARGINWIDTHN, mmFolding, FolderMarkersWidth); { Note: the first parameter is unused so the value '0' doesn't mean anything below } Call(SCI_SETMARGINLEFT, 0, LeftBlankMarginWidth); Call(SCI_SETMARGINRIGHT, 0, RightBlankMarginWidth); - Call(SCI_INDICSETSTROKEWIDTH, inSquiggly, SquigglyWidth); + Call(SCI_INDICSETSTROKEWIDTH, minSquiggly, SquigglyWidth); end; procedure TCompScintEdit.UpdateThemeColorsAndStyleAttributes; @@ -346,14 +352,14 @@ procedure TCompScintEdit.UpdateThemeColorsAndStyleAttributes; Call(SCI_SETELEMENTCOLOUR, SC_ELEMENT_SELECTION_INACTIVE_BACK, SelBackColor); Call(SCI_SETELEMENTCOLOUR, SC_ELEMENT_SELECTION_INACTIVE_ADDITIONAL_BACK, SelBackColor); - Call(SCI_SETFOLDMARGINCOLOUR, 1, FTheme.Colors[tcBack]); - Call(SCI_SETFOLDMARGINHICOLOUR, 1, FTheme.Colors[tcBack]); + Call(SCI_SETFOLDMARGINCOLOUR, Ord(True), FTheme.Colors[tcBack]); + Call(SCI_SETFOLDMARGINHICOLOUR, Ord(True), FTheme.Colors[tcBack]); - Call(SCI_INDICSETFORE, inSquiggly, FTheme.Colors[tcRed]); - Call(SCI_INDICSETFORE, inWordAtCursorOccurrence, FTheme.Colors[tcWordAtCursorOccurrenceBack]); - Call(SCI_INDICSETFORE, inSelTextOccurrence, FTheme.Colors[tcSelTextOccurrenceBack]); - - Call(SCI_MARKERSETBACK, mmLineStep, FTheme.Colors[tcBlue]); + Call(SCI_INDICSETFORE, minSquiggly, FTheme.Colors[tcRed]); + Call(SCI_INDICSETFORE, minWordAtCursorOccurrence, FTheme.Colors[tcWordAtCursorOccurrenceBack]); + Call(SCI_INDICSETFORE, minSelTextOccurrence, FTheme.Colors[tcSelTextOccurrenceBack]); + + Call(SCI_MARKERSETBACK, mlmStep, FTheme.Colors[tcBlue]); Call(SCI_MARKERSETFORE, SC_MARKNUM_HISTORY_REVERTED_TO_ORIGIN, FTheme.Colors[tcBlue]); { To reproduce: open a file, press enter, save, undo } Call(SCI_MARKERSETBACK, SC_MARKNUM_HISTORY_REVERTED_TO_ORIGIN, FTheme.Colors[tcBlue]);