mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-09 08:02:57 +01:00
added prettyformat package for IDE beautification features from Michael VC
git-svn-id: trunk@7920 -
This commit is contained in:
parent
52d68d377f
commit
494dd9c1b5
4
.gitattributes
vendored
4
.gitattributes
vendored
@ -145,6 +145,10 @@ components/mysql/registermysql.lrs svneol=native#text/pascal
|
|||||||
components/mysql/registermysql.pas svneol=native#text/pascal
|
components/mysql/registermysql.pas svneol=native#text/pascal
|
||||||
components/mysql/tmysqldatabase.xpm -text svneol=native#image/x-xpixmap
|
components/mysql/tmysqldatabase.xpm -text svneol=native#image/x-xpixmap
|
||||||
components/mysql/tmysqldataset.xpm -text svneol=native#image/x-xpixmap
|
components/mysql/tmysqldataset.xpm -text svneol=native#image/x-xpixmap
|
||||||
|
components/prettyformat/pfidesource.pas svneol=native#text/plain
|
||||||
|
components/prettyformat/prettyformat.lpk svneol=native#text/plain
|
||||||
|
components/prettyformat/prettyformat.pas svneol=native#text/plain
|
||||||
|
components/prettyformat/ptopu.pp svneol=native#text/plain
|
||||||
components/printers/linux/cupsdyn.pp svneol=native#text/pascal
|
components/printers/linux/cupsdyn.pp svneol=native#text/pascal
|
||||||
components/printers/linux/cupsprinters.inc svneol=native#text/pascal
|
components/printers/linux/cupsprinters.inc svneol=native#text/pascal
|
||||||
components/printers/linux/cupsprinters_h.inc svneol=native#text/pascal
|
components/printers/linux/cupsprinters_h.inc svneol=native#text/pascal
|
||||||
|
|||||||
147
components/prettyformat/pfidesource.pas
Normal file
147
components/prettyformat/pfidesource.pas
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
unit pfidesource;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, SysUtils,LCLtype;
|
||||||
|
|
||||||
|
Procedure PrettyPrintSelection(Sender : TObject);
|
||||||
|
Procedure PrettyPrintFile(Sender : TObject);
|
||||||
|
|
||||||
|
Procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses menuintf, idecommands, srceditorintf, ptopu;
|
||||||
|
|
||||||
|
Const
|
||||||
|
SCmdPFSelection = 'PrettyFormatSelection';
|
||||||
|
SCmdPFFile = 'PrettyFormatFile';
|
||||||
|
SCatFormatting = 'Formatting';
|
||||||
|
|
||||||
|
Resourcestring
|
||||||
|
SDescrPFSelection = 'Pretty-Format Selection';
|
||||||
|
SDescrPFFile = 'Pretty-Format File';
|
||||||
|
SDescrFormatting = 'Formatting commands';
|
||||||
|
|
||||||
|
Var
|
||||||
|
CmdFormatSelection : TIDECommand;
|
||||||
|
CmdFormatFile : TIDECommand;
|
||||||
|
|
||||||
|
Procedure Register;
|
||||||
|
|
||||||
|
Var
|
||||||
|
Key : TIDEShortCut;
|
||||||
|
Cat : TIDECommandCategory;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Key:=IDEShortCut(VK_F,[SSctrl,ssShift],VK_UNKNOWN,[]);
|
||||||
|
{$ifndef USECustomCategory}
|
||||||
|
Cat:=IDECommandList.CreateCategory(Nil,
|
||||||
|
SCatFormatting,
|
||||||
|
SDescrFormatting,
|
||||||
|
IDECmdScopeSrcEditOnly);
|
||||||
|
{$else}
|
||||||
|
cat:=nil,
|
||||||
|
{$endif}
|
||||||
|
CmdFormatSelection:=RegisterIDECommand(Cat,
|
||||||
|
SDescrPFSelection,
|
||||||
|
SCmdPFSelection,
|
||||||
|
Key);
|
||||||
|
Key:=IDEShortCut(VK_F,[SSctrl,ssAlt],VK_UNKNOWN,[]);
|
||||||
|
CmdFormatFile:=RegisterIDECommand(Cat,
|
||||||
|
SDescrPFFile,
|
||||||
|
SCmdPFFile,
|
||||||
|
Key);
|
||||||
|
RegisterIDEMenuCommand(SrcEditSubMenuRefactor,
|
||||||
|
SCmdPFSelection,
|
||||||
|
SDescrPFSelection,
|
||||||
|
Nil,@PrettyPrintSelection,CmdFormatSelection);
|
||||||
|
RegisterIDEMenuCommand(SrcEditSubMenuRefactor,
|
||||||
|
SCmdPFFile,
|
||||||
|
SDescrPFFile,
|
||||||
|
Nil,@PrettyPrintFile,CmdFormatFile);
|
||||||
|
RegisterIDEMenuCommand(itmEditBlockIndentation,
|
||||||
|
SCmdPFSelection,
|
||||||
|
SDescrPFSelection,
|
||||||
|
Nil,@PrettyPrintSelection,CmdFormatSelection);
|
||||||
|
RegisterIDEMenuCommand(itmEditBlockIndentation,
|
||||||
|
SCmdPFFile,
|
||||||
|
SDescrPFFile,
|
||||||
|
Nil,@PrettyPrintFile,CmdFormatFile);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure PrettyPrintStream(SIn,SOut : TStream);
|
||||||
|
|
||||||
|
Var
|
||||||
|
PP : TPrettyPrinter;
|
||||||
|
|
||||||
|
begin
|
||||||
|
PP:=TPrettyPrinter.Create;
|
||||||
|
Try
|
||||||
|
PP.Source:=Sin;
|
||||||
|
PP.Dest:=Sout;
|
||||||
|
PP.PrettyPrint;
|
||||||
|
Finally
|
||||||
|
PP.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure PrettyPrintSelection(Sender : TObject);
|
||||||
|
|
||||||
|
Var
|
||||||
|
S1,S2 : TSTringStream;
|
||||||
|
E : TSourceEditorInterface;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if Sender=nil then ;
|
||||||
|
E:=SourceEditorWindow.ActiveEditor;
|
||||||
|
If (E=Nil) or (Not E.SelectionAvailable) then
|
||||||
|
Exit;
|
||||||
|
S1:=TStringStream.Create(E.Selection);
|
||||||
|
Try
|
||||||
|
S2:=TStringStream.Create('');
|
||||||
|
Try
|
||||||
|
S1.Position:=0;
|
||||||
|
PrettyPrintStream(S1,S2);
|
||||||
|
E.Selection:=S2.DataString;
|
||||||
|
Finally
|
||||||
|
S2.Free;
|
||||||
|
end;
|
||||||
|
Finally
|
||||||
|
S1.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure PrettyPrintFile(Sender : TObject);
|
||||||
|
|
||||||
|
Var
|
||||||
|
S1,S2 : TMemoryStream;
|
||||||
|
E : TSourceEditorInterface;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if Sender=nil then ;
|
||||||
|
E:=SourceEditorWindow.ActiveEditor;
|
||||||
|
If (E=Nil) then
|
||||||
|
Exit;
|
||||||
|
S1:=TMemoryStream.Create;
|
||||||
|
Try
|
||||||
|
E.Lines.SaveToStream(S1);
|
||||||
|
S1.Position:=0;
|
||||||
|
S2:=TMemoryStream.Create;
|
||||||
|
Try
|
||||||
|
PrettyPrintStream(S1,S2);
|
||||||
|
S2.Position:=0;
|
||||||
|
E.Lines.LoadFromStream(S2);
|
||||||
|
Finally
|
||||||
|
S2.Free;
|
||||||
|
end;
|
||||||
|
Finally
|
||||||
|
S1.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
46
components/prettyformat/prettyformat.lpk
Normal file
46
components/prettyformat/prettyformat.lpk
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<CONFIG>
|
||||||
|
<Package Version="2">
|
||||||
|
<Name Value="prettyformat"/>
|
||||||
|
<CompilerOptions>
|
||||||
|
<Version Value="5"/>
|
||||||
|
<SearchPaths>
|
||||||
|
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)/"/>
|
||||||
|
</SearchPaths>
|
||||||
|
<CodeGeneration>
|
||||||
|
<Generate Value="Faster"/>
|
||||||
|
</CodeGeneration>
|
||||||
|
<Other>
|
||||||
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
|
</Other>
|
||||||
|
</CompilerOptions>
|
||||||
|
<Files Count="2">
|
||||||
|
<Item1>
|
||||||
|
<Filename Value="ptopu.pp"/>
|
||||||
|
<UnitName Value="PtoPu"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<Filename Value="pfidesource.pas"/>
|
||||||
|
<HasRegisterProc Value="True"/>
|
||||||
|
<UnitName Value="pfidesource"/>
|
||||||
|
</Item2>
|
||||||
|
</Files>
|
||||||
|
<Type Value="RunAndDesignTime"/>
|
||||||
|
<RequiredPkgs Count="2">
|
||||||
|
<Item1>
|
||||||
|
<PackageName Value="IDEIntf"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<PackageName Value="FCL"/>
|
||||||
|
<MinVersion Major="1" Valid="True"/>
|
||||||
|
</Item2>
|
||||||
|
</RequiredPkgs>
|
||||||
|
<UsageOptions>
|
||||||
|
<UnitPath Value="$(PkgOutDir)"/>
|
||||||
|
</UsageOptions>
|
||||||
|
<PublishOptions>
|
||||||
|
<Version Value="2"/>
|
||||||
|
<IgnoreBinaries Value="False"/>
|
||||||
|
</PublishOptions>
|
||||||
|
</Package>
|
||||||
|
</CONFIG>
|
||||||
21
components/prettyformat/prettyformat.pas
Normal file
21
components/prettyformat/prettyformat.pas
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ This file was automatically created by Lazarus. Do not edit!
|
||||||
|
This source is only used to compile and install the package.
|
||||||
|
}
|
||||||
|
|
||||||
|
unit prettyformat;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
PtoPu, pfidesource, LazarusPackageIntf;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterUnit('pfidesource', @pfidesource.Register);
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterPackage('prettyformat', @Register);
|
||||||
|
end.
|
||||||
1386
components/prettyformat/ptopu.pp
Normal file
1386
components/prettyformat/ptopu.pp
Normal file
File diff suppressed because it is too large
Load Diff
@ -2227,7 +2227,7 @@ begin
|
|||||||
FFlags:=[lpfAutoIncrementVersionOnBuild];
|
FFlags:=[lpfAutoIncrementVersionOnBuild];
|
||||||
FAutoUpdate:=pupAsNeeded;
|
FAutoUpdate:=pupAsNeeded;
|
||||||
fCompilerOptions.UnitOutputDirectory:=
|
fCompilerOptions.UnitOutputDirectory:=
|
||||||
'lib'+PathDelim+'$(TargetCPU)-$(Target_OS)'+PathDelim;
|
'lib'+PathDelim+'$(TargetCPU)-$(TargetOS)'+PathDelim;
|
||||||
FUsageOptions.UnitPath:='$(PkgOutDir)';
|
FUsageOptions.UnitPath:='$(PkgOutDir)';
|
||||||
end else begin
|
end else begin
|
||||||
FFlags:=[lpfDestroying];
|
FFlags:=[lpfDestroying];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user