Skip to content

Commit dc5e4db

Browse files
committed
feature/auto-completar-parcial
1 parent 7b05d29 commit dc5e4db

15 files changed

+163
-302
lines changed

Package/DelphiAIDeveloper.dpk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ contains
111111
DelphiAIDev.IDE.OTAIDENotifier in '..\Src\IDE\OTAIDENotifier\DelphiAIDev.IDE.OTAIDENotifier.pas',
112112
DelphiAIDev.IDE.OTAEditorNotifier in '..\Src\IDE\OTAEditorNotifier\DelphiAIDev.IDE.OTAEditorNotifier.pas',
113113
DelphiAIDev.IDE.NTAEditViewNotifier in '..\Src\IDE\NTAEditViewNotifier\DelphiAIDev.IDE.NTAEditViewNotifier.pas',
114-
DelphiAIDev.CodeCompletion.Search in '..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.Search.pas';
114+
DelphiAIDev.CodeCompletion.Search in '..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.Search.pas',
115+
DelphiAIDev.Test.Client in '..\Src\Test\DelphiAIDev.Test.Client.pas';
115116

116117
end.

Package/DelphiAIDeveloper.dproj

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,26 +74,26 @@
7474
<PropertyGroup Condition="'$(Base_Android)'!=''">
7575
<DCC_CBuilderOutput>None</DCC_CBuilderOutput>
7676
<EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars>
77-
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;$(DCC_UsePackage)</DCC_UsePackage>
77+
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;$(DCC_UsePackage)</DCC_UsePackage>
7878
</PropertyGroup>
7979
<PropertyGroup Condition="'$(Base_Android64)'!=''">
8080
<DCC_CBuilderOutput>None</DCC_CBuilderOutput>
8181
<EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars>
82-
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;$(DCC_UsePackage)</DCC_UsePackage>
82+
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;$(DCC_UsePackage)</DCC_UsePackage>
8383
</PropertyGroup>
8484
<PropertyGroup Condition="'$(Base_Linux64)'!=''">
85-
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;$(DCC_UsePackage)</DCC_UsePackage>
85+
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;FireDACMySQLDriver;$(DCC_UsePackage)</DCC_UsePackage>
8686
</PropertyGroup>
8787
<PropertyGroup Condition="'$(Base_Win32)'!=''">
8888
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
8989
<BT_BuildType>Debug</BT_BuildType>
9090
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
9191
<VerInfo_Locale>1033</VerInfo_Locale>
92-
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;$(DCC_UsePackage)</DCC_UsePackage>
92+
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;vclFireDAC;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;FireDACMySQLDriver;$(DCC_UsePackage)</DCC_UsePackage>
9393
<DCC_DcuOutput>.\dcu\</DCC_DcuOutput>
9494
</PropertyGroup>
9595
<PropertyGroup Condition="'$(Base_Win64)'!=''">
96-
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;$(DCC_UsePackage)</DCC_UsePackage>
96+
<DCC_UsePackage>rtl;bindengine;bindcomp;RESTComponents;vclFireDAC;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;FireDACMySQLDriver;$(DCC_UsePackage)</DCC_UsePackage>
9797
</PropertyGroup>
9898
<PropertyGroup Condition="'$(Cfg_1)'!=''">
9999
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
@@ -227,6 +227,7 @@
227227
<DCCReference Include="..\Src\IDE\OTAEditorNotifier\DelphiAIDev.IDE.OTAEditorNotifier.pas"/>
228228
<DCCReference Include="..\Src\IDE\NTAEditViewNotifier\DelphiAIDev.IDE.NTAEditViewNotifier.pas"/>
229229
<DCCReference Include="..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.Search.pas"/>
230+
<DCCReference Include="..\Src\Test\DelphiAIDev.Test.Client.pas"/>
230231
<RcItem Include="Img\c4d_Logo.bmp">
231232
<ResourceType>BITMAP</ResourceType>
232233
<ResourceId>c4d_Logo</ResourceId>

Src/Chat/DelphiAIDev.Chat.View.pas

Lines changed: 0 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -487,116 +487,6 @@ procedure TDelphiAIDevChatView.AddResponseSimple(const AString: string);
487487
Self.Last;
488488
end;
489489

490-
////Add line-by-line response to color where Delphi code is
491-
//procedure TDelphiAIDevChatView.AddResponseComplete(const AStrings: TStrings);
492-
//var
493-
// LLineNum: Integer;
494-
// LLineStr: string;
495-
// LCodeStarted: Boolean;
496-
//begin
497-
// mmReturn.Lines.Clear;
498-
// mmReturn.SelAttributes.Color := TUtilsOTA.ActiveThemeColorDefault;
499-
// mmReturn.SelAttributes.Style := [];
500-
//
501-
// LCodeStarted := False;
502-
// for LLineNum := 0 to Pred(AStrings.Count) do
503-
// begin
504-
// LLineStr := AStrings[LLineNum].TrimRight;
505-
//
506-
// if not LCodeStarted then
507-
// begin
508-
// if TUtils.CodeIdMarkBeginCode(LLineStr) then
509-
// begin
510-
// LCodeStarted := True;
511-
// Continue;
512-
// end;
513-
// end;
514-
//
515-
// if LLineStr.Trim = TConsts.MARK_END then
516-
// begin
517-
// LCodeStarted := False;
518-
// mmReturn.SelAttributes.Color := TUtilsOTA.ActiveThemeColorDefault;
519-
// Continue;
520-
// end;
521-
//
522-
// if LCodeStarted then
523-
// begin
524-
// if (FSettings.ColorHighlightCodeDelphiUse) and (FSettings.ColorHighlightCodeDelphi <> clNone) then
525-
// mmReturn.SelAttributes.Color := FSettings.ColorHighlightCodeDelphi
526-
// else
527-
// mmReturn.SelAttributes.Color := TUtilsOTA.ActiveThemeForCode;
528-
// end
529-
// else
530-
// mmReturn.SelAttributes.Color := TUtilsOTA.ActiveThemeColorDefault;
531-
//
532-
// //Optional use of one of the following lines
533-
// //mmReturn.Lines.Add(LLineStr);
534-
// Self.AddResponseLine(LLineStr); //.Replace(TConsts.MARK_BEGIN_PASCAL2, '', [rfReplaceAll, rfIgnoreCase])
535-
// end;
536-
// Self.Last;
537-
//end;
538-
//
539-
////Bold in words between Backtick
540-
//procedure TDelphiAIDevChatView.AddResponseLine(const ALineStr: string);
541-
//const
542-
// BACKTICK = '`';
543-
//var
544-
// i: Integer;
545-
// LCurrentLetter: Char;
546-
// LNextLetter: Char;
547-
// LLineStarted: Boolean;
548-
// LCodeStarted: Boolean;
549-
//begin
550-
// if not ALineStr.Contains(BACKTICK) then
551-
// begin
552-
// mmReturn.Lines.Add(IFThen(ALineStr.IsEmpty, ' ', ALineStr));
553-
// Exit;
554-
// end;
555-
//
556-
// LLineStarted := False;
557-
// LCodeStarted := False;
558-
// for i := 0 to ALineStr.Length do
559-
// begin
560-
// LCurrentLetter := ALineStr[i];
561-
// LNextLetter := ALineStr[Succ(i)];
562-
//
563-
// if not LCodeStarted then
564-
// begin
565-
// if (LCurrentLetter = BACKTICK) and (LNextLetter <> BACKTICK) then
566-
// begin
567-
// LCodeStarted := True;
568-
// Continue;
569-
// end;
570-
// end;
571-
//
572-
// if (LCurrentLetter = BACKTICK) and (LNextLetter <> BACKTICK) then
573-
// begin
574-
// LCodeStarted := False;
575-
// mmReturn.SelAttributes.Style := [];
576-
// Continue;
577-
// end;
578-
//
579-
// SendMessage(mmReturn.Handle, WM_VSCROLL, SB_BOTTOM, 0);
580-
// if LCodeStarted then
581-
// mmReturn.SelAttributes.Style := [fsBold]
582-
// else
583-
// mmReturn.SelAttributes.Style := [];
584-
//
585-
// if LLineStarted then
586-
// mmReturn.SelText := LCurrentLetter
587-
// else
588-
// begin
589-
// mmReturn.Lines.Add('');
590-
// mmReturn.SelText := LCurrentLetter;
591-
//
592-
// LLineStarted := True;
593-
// end;
594-
// SendMessage(mmReturn.Handle, WM_VSCROLL, SB_BOTTOM, 0);
595-
// end;
596-
// mmReturn.SelText := ' ';
597-
// SendMessage(mmReturn.Handle, WM_VSCROLL, SB_BOTTOM, 0);
598-
//end;
599-
600490
procedure TDelphiAIDevChatView.WaitingFormON;
601491
begin
602492
pnWait.Visible := False;

Src/CodeCompletion/DelphiAIDev.CodeCompletion.Search.pas

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ TDelphiAIDevCodeCompletionSearch = class(TInterfacedObject, IDelphiAIDevCodeCo
2525
FSettings: TDelphiAIDevSettings;
2626
FQuestions: TStrings;
2727
FChat: TDelphiAIDevChat;
28+
FVars: TDelphiAIDevCodeCompletionVars;
2829
protected
2930
procedure Process(const AContext: IOTAKeyContext);
3031
public
@@ -45,6 +46,7 @@ constructor TDelphiAIDevCodeCompletionSearch.Create;
4546
FSettings := TDelphiAIDevSettings.GetInstance;
4647
FChat := TDelphiAIDevChat.Create;
4748
FQuestions := TStringList.Create;
49+
FVars := TDelphiAIDevCodeCompletionVars.GetInstance;
4850
end;
4951

5052
destructor TDelphiAIDevCodeCompletionSearch.Destroy;
@@ -58,52 +60,46 @@ procedure TDelphiAIDevCodeCompletionSearch.Process(const AContext: IOTAKeyContex
5860
var
5961
LRow: Integer;
6062
LColumn: Integer;
61-
i: Integer;
6263
LText: string;
64+
i: Integer;
65+
LIOTAEditPosition: IOTAEditPosition;
6366
begin
64-
FSettings.ValidateFillingSelectedAI;
67+
FSettings.ValidateFillingSelectedAI(TShowMsg.No);
6568

6669
FQuestions.Clear;
6770
FQuestions.Add(FSettings.LanguageQuestions.GetLanguageDefinition);
68-
FQuestions.Add(TUtilsOTA.GetSelectedBlockOrAllCodeUnit.Trim);
71+
FQuestions.Add(FSettings.LanguageQuestions.GetMsgCodeCompletionSuggestion);
6972
FQuestions.Add(FSettings.LanguageQuestions.GetMsgCodeOnly);
73+
FQuestions.Add(TUtilsOTA.GetSelectedBlockOrAllCodeUnit.Trim);
7074

71-
FQuestions.Add('Com base no seguinte código delphi, de uma sugestão ' +
72-
'de código para ser adicionado onde esta o comentário //Suggestion');
73-
TUtils.ShowMsg(FQuestions.Text);
75+
//TUtils.ShowMsg('CodeCompletionSearch.Process - FQuestions.Text', FQuestions.Text);
7476
try
7577
FChat.ProcessSend(FQuestions.Text);
7678
except
7779
Abort;
7880
end;
79-
//Self.AddBlockText;
80-
81-
TDelphiAIDevCodeCompletionVars.GetInstance.Contents.Clear;
82-
for i := 0 to Pred(FChat.Response.Count) do
83-
begin
84-
TDelphiAIDevCodeCompletionVars.GetInstance.Contents.Add(FChat.Response[i]);
85-
end;
8681

87-
TUtils.ShowMsg(TDelphiAIDevCodeCompletionVars.GetInstance.Contents.Text);
82+
FVars.Contents.Text := TUtils.ConfReturnAI(FChat.Response.Text);
83+
//TUtils.ShowMsg('CodeCompletionSearch.Process - FVars.Contents.Text', FVars.Contents.Text);
8884

89-
LRow := AContext.EditBuffer.EditPosition.Row;
90-
LColumn := AContext.EditBuffer.EditPosition.Column;
85+
LIOTAEditPosition := AContext.EditBuffer.EditPosition;
86+
LRow := LIOTAEditPosition.Row;
87+
LColumn := LIOTAEditPosition.Column;
9188

92-
TDelphiAIDevCodeCompletionVars.GetInstance.LineIni := LRow; // + 1;
93-
TDelphiAIDevCodeCompletionVars.GetInstance.LineEnd := TDelphiAIDevCodeCompletionVars.GetInstance.LineIni + (TDelphiAIDevCodeCompletionVars.GetInstance.Contents.Count); // + 1 //TDelphiAIDevCodeCompletionVars.GetInstance.LineIni + 1;
89+
FVars.Row := LRow;
90+
FVars.Column := LColumn;
91+
FVars.LineIni := LRow;
92+
FVars.LineEnd := FVars.LineIni + FVars.Contents.Count;
9493

95-
//Context.EditBuffer.EditPosition.InsertText(sLineBreak + sLineBreak);
9694
LText := '';
97-
for i := 0 to Pred(TDelphiAIDevCodeCompletionVars.GetInstance.Contents.Count) do
95+
for i := 0 to Pred(FVars.Contents.Count) do
9896
LText := LText + sLineBreak;
9997

100-
AContext.EditBuffer.EditPosition.InsertText(LText.TrimRight + sLineBreak);
101-
AContext.EditBuffer.EditPosition.Move(TDelphiAIDevCodeCompletionVars.GetInstance.LineIni, LColumn);
98+
LIOTAEditPosition.InsertText(LText); //.TrimRight + sLineBreak);
99+
LIOTAEditPosition.Move(FVars.LineIni, LColumn);
102100

103-
TDelphiAIDevCodeCompletionVars.GetInstance.Row := TDelphiAIDevCodeCompletionVars.GetInstance.LineIni;
104-
TDelphiAIDevCodeCompletionVars.GetInstance.Column := LColumn;
105101

106-
//Context.EditBuffer.EditPosition.MoveBOL;
102+
//LIOTAEditPositionMoveBOL;
107103
// //LTextCurrentLineOrBlock := Context.EditBuffer.EditBlock.Text;
108104
// LTextCurrentLineOrBlock := GetCurrentLineOrBlock(CnOtaGetTopMostEditView);
109105
// if LTextCurrentLineOrBlock.Trim.IsEmpty then

Src/IDE/NTAEditViewNotifier/DelphiAIDev.IDE.NTAEditViewNotifier.pas

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ interface
2020

2121
type
2222
TDelphiAIDevIDENTAEditViewNotifier = class(TInterfacedObject, IOTANotifier, INTAEditViewNotifier)
23+
private
24+
LVars: TDelphiAIDevCodeCompletionVars;
2325
protected
2426
FIOTAEditView: IOTAEditView;
2527
FIndex: Integer;
@@ -57,17 +59,18 @@ constructor TDelphiAIDevIDENTAEditViewNotifier.Create(FileName: string; AEditVie
5759
inherited Create;
5860
FIOTAEditView := AEditView;
5961
FIndex := FIOTAEditView.AddNotifier(Self);
62+
LVars := TDelphiAIDevCodeCompletionVars.GetInstance;
6063
end;
6164

6265
destructor TDelphiAIDevIDENTAEditViewNotifier.Destroy;
6366
begin
64-
RemoveNotifier;
67+
Self.RemoveNotifier;
6568
inherited;
6669
end;
6770

6871
procedure TDelphiAIDevIDENTAEditViewNotifier.Destroyed;
6972
begin
70-
RemoveNotifier;
73+
Self.RemoveNotifier;
7174
end;
7275

7376
procedure TDelphiAIDevIDENTAEditViewNotifier.AfterSave;
@@ -92,23 +95,22 @@ procedure TDelphiAIDevIDENTAEditViewNotifier.EditorIdle(const View: IOTAEditView
9295
begin
9396
TUtilsOTA.GetCursorPosition(LRow, LColumn);
9497

95-
// TUtils.AddLog(Format('EditorIdle - %d (%d) - %d (%d) - %s ',
96-
// [TDelphiAIDevCodeCompletionVars.GetInstance.Row, LRow, TDelphiAIDevCodeCompletionVars.GetInstance.Column, LColumn, DateTimeToStr(Now)]));
98+
//TUtils.AddLog(Format('EditorIdle - %d (%d) - %d (%d) - %s ', [LVars.Row, LRow, LVars.Column, LColumn, DateTimeToStr(Now)]));
9799

98-
if (LRow <> TDelphiAIDevCodeCompletionVars.GetInstance.Row) or (LColumn <> TDelphiAIDevCodeCompletionVars.GetInstance.Column) then
100+
if (LRow <> LVars.Row) or (LColumn <> LVars.Column) then
99101
begin
100-
TDelphiAIDevCodeCompletionVars.GetInstance.LineIni := 0;
101-
TDelphiAIDevCodeCompletionVars.GetInstance.Clear;
102+
LVars.LineIni := 0;
103+
LVars.Clear;
102104
end;
103105

104-
//TUtils.AddLog('EditorIdle ' + BoolToStr(TDelphiAIDevCodeCompletionVars.GetInstance.ClearNext, True));
106+
//TUtils.AddLog('EditorIdle ' + BoolToStr(LVars.ClearNext, True));
105107

106-
// if TDelphiAIDevCodeCompletionVars.GetInstance.ClearNext then
108+
// if LVars.ClearNext then
107109
// begin
108-
// TDelphiAIDevCodeCompletionVars.GetInstance.Clear;
110+
// LVars.Clear;
109111
// end
110112
// else
111-
// TDelphiAIDevCodeCompletionVars.GetInstance.ClearNext := True;
113+
// LVars.ClearNext := True;
112114

113115
//View.AddNotifier()
114116
//View.GetEditWindow.Form.Repaint;
@@ -124,7 +126,6 @@ procedure TDelphiAIDevIDENTAEditViewNotifier.Modified;
124126

125127
end;
126128

127-
128129
procedure TDelphiAIDevIDENTAEditViewNotifier.PaintLine(const View: IOTAEditView; LineNumber: Integer;
129130
const LineText: PAnsiChar; const TextWidth: Word; const LineAttributes: TOTAAttributeArray;
130131
const Canvas: TCanvas; const TextRect: TRect; const LineRect: TRect; const CellSize: TSize);
@@ -142,13 +143,13 @@ procedure TDelphiAIDevIDENTAEditViewNotifier.PaintLine(const View: IOTAEditView;
142143
//if LineNumber <> View.CursorPos.Line then
143144
// Exit;
144145

145-
if (LineNumber >= TDelphiAIDevCodeCompletionVars.GetInstance.LineIni)and(LineNumber <= TDelphiAIDevCodeCompletionVars.GetInstance.LineEnd) then
146+
if (LineNumber >= LVars.LineIni)and(LineNumber <= LVars.LineEnd) then
146147
begin
147148
Canvas.Brush.Style := bsClear;
148149
Canvas.Font.Color := $777777; //$666666;
149150

150151
try
151-
LLineText := TDelphiAIDevCodeCompletionVars.GetInstance.Contents[LineNumber - TDelphiAIDevCodeCompletionVars.GetInstance.LineIni];
152+
LLineText := LVars.Contents[LineNumber - LVars.LineIni];
152153
Canvas.TextOut(TextRect.Left, TextRect.Top, LLineText.TrimRight);
153154
except on E: Exception do
154155
TUtils.AddLog(E.Message);

Src/IDE/OTAEditorNotifier/DelphiAIDev.IDE.OTAEditorNotifier.pas

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ TDelphiAIDevIDEOTAEditorNotifier = class(TNotifierObject, IOTANotifier, IOTAEd
3535
procedure ViewActivated(const View: IOTAEditView);
3636
end;
3737

38-
3938
implementation
4039

4140
constructor TDelphiAIDevIDEOTAEditorNotifier.Create(ASourceEditor: IOTASourceEditor);

0 commit comments

Comments
 (0)