mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 12:19:16 +02:00
codetools: identifier completion: procedure specifiers and procedure type specifiers
git-svn-id: trunk@52646 -
This commit is contained in:
parent
21f07de277
commit
ff5f987936
@ -1768,6 +1768,22 @@ type
|
|||||||
Add(IsKeyWordMethodSpecifier.GetItem(i).KeyWord+';');
|
Add(IsKeyWordMethodSpecifier.GetItem(i).KeyWord+';');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure AddProcSpecifiers;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
for i:=0 to IsKeyWordProcedureSpecifier.Count-1 do
|
||||||
|
Add(IsKeyWordProcedureSpecifier.GetItem(i).KeyWord+';');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure AddProcTypeSpecifiers;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
for i:=0 to IsKeyWordProcedureTypeSpecifier.Count-1 do
|
||||||
|
Add(IsKeyWordProcedureTypeSpecifier.GetItem(i).KeyWord+';');
|
||||||
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
Node: TCodeTreeNode;
|
Node: TCodeTreeNode;
|
||||||
SubNode: TCodeTreeNode;
|
SubNode: TCodeTreeNode;
|
||||||
@ -1823,10 +1839,6 @@ begin
|
|||||||
CheckProperty(SubNode);
|
CheckProperty(SubNode);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if NodeInFront<>nil then begin
|
|
||||||
if NodeInFront.Desc in [ctnProcedure,ctnProcedureHead] then
|
|
||||||
AddMethodSpecifiers;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
ctnClassInterface,ctnDispinterface,ctnObjCProtocol,ctnCPPClass:
|
ctnClassInterface,ctnDispinterface,ctnObjCProtocol,ctnCPPClass:
|
||||||
@ -1934,6 +1946,24 @@ begin
|
|||||||
CheckProperty(Node);
|
CheckProperty(Node);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if NodeInFront<>nil then begin
|
||||||
|
if NodeInFront.Desc=ctnProcedureHead then begin
|
||||||
|
// procedure head postfix modifiers
|
||||||
|
case Node.Desc of
|
||||||
|
ctnClass,ctnObject,ctnObjCCategory,ctnObjCClass,
|
||||||
|
ctnClassHelper, ctnRecordHelper, ctnTypeHelper,
|
||||||
|
ctnClassPrivate,ctnClassProtected,ctnClassPublic,ctnClassPublished:
|
||||||
|
AddMethodSpecifiers;
|
||||||
|
else
|
||||||
|
//debugln(['TIdentCompletionTool.GatherContextKeywords ',NodeInFront.Parent.DescAsString]);
|
||||||
|
if NodeInFront.Parent.Desc=ctnProcedure then
|
||||||
|
AddProcSpecifiers
|
||||||
|
else if NodeInFront.Parent.Desc=ctnProcedureType then
|
||||||
|
AddProcTypeSpecifiers;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
except
|
except
|
||||||
// ignore parser errors
|
// ignore parser errors
|
||||||
on E: ECodeToolError do ;
|
on E: ECodeToolError do ;
|
||||||
|
Loading…
Reference in New Issue
Block a user