File tree Expand file tree Collapse file tree 5 files changed +64
-13
lines changed Expand file tree Collapse file tree 5 files changed +64
-13
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,7 @@ contains
112
112
DelphiAIDev.IDE.OTAEditorNotifier in '..\Src\IDE\OTAEditorNotifier\DelphiAIDev.IDE.OTAEditorNotifier.pas',
113
113
DelphiAIDev.IDE.NTAEditViewNotifier in '..\Src\IDE\NTAEditViewNotifier\DelphiAIDev.IDE.NTAEditViewNotifier.pas',
114
114
DelphiAIDev.CodeCompletion.Search in '..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.Search.pas',
115
- DelphiAIDev.Test.Client in '..\Src\Test\DelphiAIDev.Test.Client.pas';
115
+ DelphiAIDev.Test.Client in '..\Src\Test\DelphiAIDev.Test.Client.pas',
116
+ DelphiAIDev.CodeCompletion.KeyTab in '..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.KeyTab.pas';
116
117
117
118
end.
Original file line number Diff line number Diff line change 228
228
<DCCReference Include="..\Src\IDE\NTAEditViewNotifier\DelphiAIDev.IDE.NTAEditViewNotifier.pas"/>
229
229
<DCCReference Include="..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.Search.pas"/>
230
230
<DCCReference Include="..\Src\Test\DelphiAIDev.Test.Client.pas"/>
231
+ <DCCReference Include="..\Src\CodeCompletion\DelphiAIDev.CodeCompletion.KeyTab.pas"/>
231
232
<RcItem Include="Img\c4d_Logo.bmp">
232
233
<ResourceType>BITMAP</ResourceType>
233
234
<ResourceId>c4d_Logo</ResourceId>
Original file line number Diff line number Diff line change
1
+ unit DelphiAIDev.CodeCompletion.KeyTab;
2
+
3
+ interface
4
+
5
+ uses
6
+ System.SysUtils,
7
+ System.Classes,
8
+ ToolsAPI,
9
+ DelphiAIDev.CodeCompletion.Vars;
10
+
11
+ type
12
+ IDelphiAIDevCodeCompletionKeyTab = interface
13
+ [' {A032D6DE-E66D-4088-B384-5FEE82F65160}' ]
14
+ procedure Process (const AContext: IOTAKeyContext);
15
+ end ;
16
+
17
+ TDelphiAIDevCodeCompletionKeyTab = class (TInterfacedObject, IDelphiAIDevCodeCompletionKeyTab)
18
+ private
19
+ FVars: TDelphiAIDevCodeCompletionVars;
20
+ protected
21
+ procedure Process (const AContext: IOTAKeyContext);
22
+ public
23
+ class function New : IDelphiAIDevCodeCompletionKeyTab;
24
+ constructor Create;
25
+ end ;
26
+
27
+ implementation
28
+
29
+ class function TDelphiAIDevCodeCompletionKeyTab.New : IDelphiAIDevCodeCompletionKeyTab;
30
+ begin
31
+ Result := Self.Create;
32
+ end ;
33
+
34
+ constructor TDelphiAIDevCodeCompletionKeyTab.Create;
35
+ begin
36
+ FVars := TDelphiAIDevCodeCompletionVars.GetInstance;
37
+ end ;
38
+
39
+ procedure TDelphiAIDevCodeCompletionKeyTab.Process (const AContext: IOTAKeyContext);
40
+ var
41
+ LText: string;
42
+ i: Integer;
43
+ begin
44
+ LText := ' ' ;
45
+ for i := 0 to Pred(FVars.Contents.Count) do
46
+ LText := LText + FVars.Contents[i].Trim + sLineBreak;
47
+
48
+ AContext.EditBuffer.EditPosition.InsertText(LText.Trim);
49
+ // Context.EditBuffer.EditPosition.Move(TDelphiAIDevCodeCompletionVars.GetInstance.LineEnd, 20);
50
+
51
+ FVars.GetInstance.Clear;
52
+ end ;
53
+
54
+ end .
Original file line number Diff line number Diff line change @@ -10,7 +10,8 @@ interface
10
10
ToolsAPI,
11
11
DelphiAIDev.Utils.CnWizard,
12
12
DelphiAIDev.Chat.View ,
13
- DelphiAIDev.CodeCompletion.Search;
13
+ DelphiAIDev.CodeCompletion.Search,
14
+ DelphiAIDev.CodeCompletion.KeyTab;
14
15
15
16
type
16
17
TDelphiAIDevKeyboardBinding = class (TNotifierObject, IOTAKeyboardBinding)
@@ -101,23 +102,13 @@ procedure TDelphiAIDevKeyboardBinding.KeyProcBlockReturnAndAlt(const Context: IO
101
102
end ;
102
103
103
104
procedure TDelphiAIDevKeyboardBinding.KeyTab (const Context: IOTAKeyContext; KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
104
- var
105
- LText: string;
106
- i: Integer;
107
105
begin
108
106
if KeyCode <> Shortcut(VK_TAB, []) then
109
107
Exit;
110
108
111
109
if TDelphiAIDevCodeCompletionVars.GetInstance.LineIni > 0 then
112
110
begin
113
- LText := ' ' ;
114
- for i := 0 to Pred(TDelphiAIDevCodeCompletionVars.GetInstance.Contents.Count) do
115
- LText := LText + TDelphiAIDevCodeCompletionVars.GetInstance.Contents[i].Trim + sLineBreak;
116
-
117
- Context.EditBuffer.EditPosition.InsertText(LText.Trim);
118
- // Context.EditBuffer.EditPosition.Move(TDelphiAIDevCodeCompletionVars.GetInstance.LineEnd, 20);
119
-
120
- TDelphiAIDevCodeCompletionVars.GetInstance.Clear;
111
+ TDelphiAIDevCodeCompletionKeyTab.New.Process(Context);
121
112
BindingResult := TKeyBindingResult.krHandled;
122
113
end
123
114
else
Original file line number Diff line number Diff line change @@ -30,5 +30,9 @@ TDelphiAIDevTest = class
30
30
31
31
implementation
32
32
33
+ procedure TDelphiAIDevTest.Clear ;
34
+ begin
35
+
36
+ end ;
33
37
34
38
end .
You can’t perform that action at this time.
0 commit comments