mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-20 17:08:40 +02:00
codetools: class completion: fixed indentation of bodies
git-svn-id: trunk@34173 -
This commit is contained in:
parent
9395999ae0
commit
7bd71b2eab
@ -133,7 +133,8 @@ type
|
|||||||
fNewMainUsesSectionUnits: TAVLTree; // tree of AnsiString
|
fNewMainUsesSectionUnits: TAVLTree; // tree of AnsiString
|
||||||
procedure AddNewPropertyAccessMethodsToClassProcs(ClassProcs: TAVLTree;
|
procedure AddNewPropertyAccessMethodsToClassProcs(ClassProcs: TAVLTree;
|
||||||
const TheClassName: string);
|
const TheClassName: string);
|
||||||
procedure CheckForOverrideAndAddInheritedCode(ANodeExt: TCodeTreeNodeExtension);
|
procedure CheckForOverrideAndAddInheritedCode(
|
||||||
|
ANodeExt: TCodeTreeNodeExtension; Indent: integer);
|
||||||
function CompleteProperty(PropNode: TCodeTreeNode): boolean;
|
function CompleteProperty(PropNode: TCodeTreeNode): boolean;
|
||||||
procedure SetCodeCompleteClassNode(const AClassNode: TCodeTreeNode);
|
procedure SetCodeCompleteClassNode(const AClassNode: TCodeTreeNode);
|
||||||
procedure SetCodeCompleteSrcChgCache(const AValue: TSourceChangeCache);
|
procedure SetCodeCompleteSrcChgCache(const AValue: TSourceChangeCache);
|
||||||
@ -7028,7 +7029,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeCompletionCodeTool.CheckForOverrideAndAddInheritedCode(
|
procedure TCodeCompletionCodeTool.CheckForOverrideAndAddInheritedCode(
|
||||||
ANodeExt: TCodeTreeNodeExtension);
|
ANodeExt: TCodeTreeNodeExtension; Indent: integer);
|
||||||
// check for 'override' directive and add 'inherited' code to body
|
// check for 'override' directive and add 'inherited' code to body
|
||||||
var
|
var
|
||||||
ProcCode, ProcCall: string;
|
ProcCode, ProcCall: string;
|
||||||
@ -7086,7 +7087,7 @@ begin
|
|||||||
ProcCall:=Beauty.BeautifyIdentifier('Result')+':='+ProcCall;
|
ProcCall:=Beauty.BeautifyIdentifier('Result')+':='+ProcCall;
|
||||||
ProcCode:=ProcCode+Beauty.LineEnd+'begin'+Beauty.LineEnd
|
ProcCode:=ProcCode+Beauty.LineEnd+'begin'+Beauty.LineEnd
|
||||||
+GetIndentStr(Beauty.Indent)+ProcCall+Beauty.LineEnd+'end;';
|
+GetIndentStr(Beauty.Indent)+ProcCall+Beauty.LineEnd+'end;';
|
||||||
ProcCode:=Beauty.BeautifyProc(ProcCode,0,false);
|
ProcCode:=Beauty.BeautifyProc(ProcCode,Indent,false);
|
||||||
ANodeExt.ExtTxt3:=ProcCode;
|
ANodeExt.ExtTxt3:=ProcCode;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -7135,7 +7136,7 @@ var
|
|||||||
ANode: TCodeTreeNode;
|
ANode: TCodeTreeNode;
|
||||||
ProcCode: string;
|
ProcCode: string;
|
||||||
begin
|
begin
|
||||||
CheckForOverrideAndAddInheritedCode(TheNodeExt);
|
CheckForOverrideAndAddInheritedCode(TheNodeExt,Indent);
|
||||||
if (TheNodeExt.ExtTxt1='') and (TheNodeExt.ExtTxt3='') then begin
|
if (TheNodeExt.ExtTxt1='') and (TheNodeExt.ExtTxt3='') then begin
|
||||||
ANode:=TheNodeExt.Node;
|
ANode:=TheNodeExt.Node;
|
||||||
if (ANode<>nil) and (ANode.Desc=ctnProcedure) then begin
|
if (ANode<>nil) and (ANode.Desc=ctnProcedure) then begin
|
||||||
@ -7575,7 +7576,7 @@ begin
|
|||||||
DebugLn('TCodeCompletionCodeTool.CreateMissingProcBodies Starting class in implementation ');
|
DebugLn('TCodeCompletionCodeTool.CreateMissingProcBodies Starting class in implementation ');
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
FindInsertPointForNewClass(InsertPos,Indent);
|
FindInsertPointForNewClass(InsertPos,Indent);
|
||||||
//debugln(['TCodeCompletionCodeTool.CreateMissingProcBodies InsertPos=',dbgstr(copy(Src,InsertPos-10,10)),'|',dbgstr(copy(Src,InsertPos,10))]);
|
//debugln(['TCodeCompletionCodeTool.CreateMissingProcBodies Indent=',Indent,' InsertPos=',dbgstr(copy(Src,InsertPos-10,10)),'|',dbgstr(copy(Src,InsertPos,10))]);
|
||||||
InsertClassMethodsComment(InsertPos,Indent);
|
InsertClassMethodsComment(InsertPos,Indent);
|
||||||
|
|
||||||
// insert all proc bodies
|
// insert all proc bodies
|
||||||
@ -7673,7 +7674,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
CreateCodeForMissingProcBody(ANodeExt,Indent);
|
CreateCodeForMissingProcBody(ANodeExt,Indent);
|
||||||
InsertProcBody(ANodeExt,InsertPos,Indent);
|
InsertProcBody(ANodeExt,InsertPos,0);
|
||||||
end;
|
end;
|
||||||
MissingNode:=ClassProcs.FindPrecessor(MissingNode);
|
MissingNode:=ClassProcs.FindPrecessor(MissingNode);
|
||||||
end;
|
end;
|
||||||
|
@ -25,12 +25,9 @@
|
|||||||
Dialog to view and search the whole list.
|
Dialog to view and search the whole list.
|
||||||
|
|
||||||
ToDo:
|
ToDo:
|
||||||
-put exact match at start
|
|
||||||
-quickfix for identifier not found
|
-quickfix for identifier not found
|
||||||
-use identifier: check package version
|
-use identifier: check package version
|
||||||
-clean up old entries
|
-check for unit conflict
|
||||||
-When, How?
|
|
||||||
-maximum number of units
|
|
||||||
-gzip? lot of cpu, may be faster on first load
|
-gzip? lot of cpu, may be faster on first load
|
||||||
}
|
}
|
||||||
unit CodyIdentifiersDlg;
|
unit CodyIdentifiersDlg;
|
||||||
|
@ -7,25 +7,29 @@ unit allsynedit;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
SynBeautifier, SynCompletion, SynDesignStringConstants, SynEdit, SynEditAutoComplete,
|
SynBeautifier, SynCompletion, SynDesignStringConstants, SynEdit,
|
||||||
SynEditExport, SynEditFoldedView, SynEditHighlighter, SynEditHighlighterFoldBase,
|
SynEditAutoComplete, SynEditExport, SynEditFoldedView, SynEditHighlighter,
|
||||||
SynEditHighlighterXMLBase, SynEditKeyCmds, SynEditLazDsgn, SynEditLines, SynEditMarks,
|
SynEditHighlighterFoldBase, SynEditHighlighterXMLBase, SynEditKeyCmds,
|
||||||
SynEditMarkup, SynEditMarkupBracket, SynEditMarkupCtrlMouseLink, SynEditMarkupHighAll,
|
SynEditLazDsgn, SynEditLines, SynEditMarks, SynEditMarkup,
|
||||||
|
SynEditMarkupBracket, SynEditMarkupCtrlMouseLink, SynEditMarkupHighAll,
|
||||||
SynEditMarkupSelection, SynEditMarkupSpecialLine, SynEditMarkupWordGroup,
|
SynEditMarkupSelection, SynEditMarkupSpecialLine, SynEditMarkupWordGroup,
|
||||||
SynEditMiscClasses, SynEditMiscProcs, SynEditMouseCmds, SynEditPlugins,
|
SynEditMiscClasses, SynEditMiscProcs, SynEditMouseCmds, SynEditPlugins,
|
||||||
SynEditPointClasses, SynEditRegexSearch, SynEditSearch, SynEditStrConst, SynEditTextBase,
|
SynEditPointClasses, SynEditRegexSearch, SynEditSearch, SynEditStrConst,
|
||||||
SynEditTextBuffer, SynEditTextDoubleWidthChars, SynEditTextTabExpander, SynEditTextTrimmer,
|
SynEditTextBase, SynEditTextBuffer, SynEditTextDoubleWidthChars,
|
||||||
SynEditTypes, SynExportHTML, SynGutter, SynGutterBase, SynGutterChanges,
|
SynEditTextTabExpander, SynEditTextTrimmer, SynEditTypes, SynExportHTML,
|
||||||
SynGutterCodeFolding, SynGutterLineNumber, SynGutterLineOverview, SynGutterMarks,
|
SynGutter, SynGutterBase, SynGutterChanges, SynGutterCodeFolding,
|
||||||
|
SynGutterLineNumber, SynGutterLineOverview, SynGutterMarks,
|
||||||
SynHighlighterAny, SynHighlighterCpp, SynHighlighterCss, SynHighlighterDiff,
|
SynHighlighterAny, SynHighlighterCpp, SynHighlighterCss, SynHighlighterDiff,
|
||||||
SynHighlighterHashEntries, SynHighlighterHTML, SynHighlighterJava, SynHighlighterJScript,
|
SynHighlighterHashEntries, SynHighlighterHTML, SynHighlighterJava,
|
||||||
SynHighlighterLFM, SynHighlighterMulti, SynHighlighterPas, SynHighlighterPerl,
|
SynHighlighterJScript, SynHighlighterLFM, SynHighlighterMulti,
|
||||||
SynHighlighterPHP, SynHighlighterPosition, SynHighlighterPython, SynHighlighterSQL,
|
SynHighlighterPas, SynHighlighterPerl, SynHighlighterPHP,
|
||||||
SynHighlighterTeX, synhighlighterunixshellscript, SynHighlighterVB, SynHighlighterXML,
|
SynHighlighterPosition, SynHighlighterPython, SynHighlighterSQL,
|
||||||
SynMacroRecorder, SynMemo, SynPluginSyncroEdit, SynPluginSyncronizedEditBase,
|
SynHighlighterTeX, synhighlighterunixshellscript, SynHighlighterVB,
|
||||||
SynPluginTemplateEdit, SynPropertyEditObjectList, SynRegExpr, SynTextDrawer,
|
SynHighlighterXML, SynMacroRecorder, SynMemo, SynPluginSyncroEdit,
|
||||||
SynEditMarkupGutterMark, SynHighlighterBat, SynHighlighterIni, SynEditMarkupSpecialChar,
|
SynPluginSyncronizedEditBase, SynPluginTemplateEdit,
|
||||||
LazSynEditText, LazarusPackageIntf;
|
SynPropertyEditObjectList, SynRegExpr, SynTextDrawer,
|
||||||
|
SynEditMarkupGutterMark, SynHighlighterBat, SynHighlighterIni,
|
||||||
|
SynEditMarkupSpecialChar, LazarusPackageIntf;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user