mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-11 10:08:33 +02:00
289 lines
8.9 KiB
ObjectPascal
289 lines
8.9 KiB
ObjectPascal
{
|
|
/***************************************************************************
|
|
syneditlazdsgn.pas
|
|
------------------
|
|
|
|
|
|
***************************************************************************/
|
|
|
|
***************************************************************************
|
|
* *
|
|
* This source is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This code is distributed in the hope that it will be useful, but *
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
|
* General Public License for more details. *
|
|
* *
|
|
* A copy of the GNU General Public License is available on the World *
|
|
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
|
* obtain it by writing to the Free Software Foundation, *
|
|
* Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA. *
|
|
* *
|
|
***************************************************************************
|
|
}
|
|
unit SynEditLazDsgn;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils,
|
|
SynGutter, SynGutterCodeFolding, SynGutterChanges, SynGutterLineNumber,
|
|
SynGutterMarks, SynGutterBase, SynEditMouseCmds,
|
|
{$IFDEF DesignSynGutterLineOverview} SynGutterLineOverview, {$ENDIF}
|
|
SynEditKeyCmds, SynEdit, SynCompletion, SynExportHTML, SynMacroRecorder,
|
|
SynMemo, SynHighlighterPas, SynHighlighterCPP, SynHighlighterJava,
|
|
SynHighlighterPerl, SynHighlighterHTML, SynHighlighterXML,
|
|
SynHighlighterLFM, SynHighlighterMulti, SynHighlighterUNIXShellScript,
|
|
SynHighlighterCss, SynHighlighterPHP, SynHighlighterTeX, SynHighlighterSQL,
|
|
SynHighlighterPython, SynHighlighterVB, SynHighlighterAny, SynHighlighterDiff,
|
|
SynHighlighterBat, SynHighlighterIni, SynHighlighterPo,
|
|
SynPluginSyncroEdit,
|
|
SynPropertyEditObjectList, SynDesignStringConstants, SynHighlighterJScript,
|
|
LazarusPackageIntf, LResources, PropEdits, ComponentEditors;
|
|
|
|
procedure Register;
|
|
|
|
implementation
|
|
|
|
{$R syneditlazdsgn.res}
|
|
|
|
procedure RegisterSynCompletion;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynCompletion]);
|
|
RegisterComponents('SynEdit',[TSynAutoComplete]);
|
|
end;
|
|
|
|
procedure RegisterSynEdit;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynEdit]);
|
|
end;
|
|
|
|
procedure RegisterSynSyncroEdit;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynPluginSyncroEdit]);
|
|
end;
|
|
|
|
procedure RegisterSynExportHTML;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynExporterHTML]);
|
|
end;
|
|
|
|
procedure RegisterSynMacroRecorder;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynMacroRecorder]);
|
|
end;
|
|
|
|
procedure RegisterSynMemo;
|
|
begin
|
|
{$IfDef WithSynMemo}
|
|
RegisterComponents('SynEdit',[TSynMemo]);
|
|
{$Else}
|
|
RegisterNoIcon([TSynMemo]);
|
|
{$EndIF}
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterPas;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynPasSyn, TSynFreePascalSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterJava;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynJavaSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterJScript;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynJScriptSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterCPP;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynCPPSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterPerl;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynPerlSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterHTML;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynHTMLSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterXML;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynXMLSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterLFM;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynLFMSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterDiff;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynDiffSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterUNIXShellScript;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynUNIXShellScriptSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterCSS;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynCssSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterPHP;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynPHPSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterTeX;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynTeXSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterSQL;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynSQLSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterPython;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynPythonSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterAny;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynAnySyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterMulti;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynMultiSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterBat;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynBatSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterIni;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynIniSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterPo;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynPoSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynHighlighterVB;
|
|
begin
|
|
RegisterComponents('SynEdit',[TSynVBSyn]);
|
|
end;
|
|
|
|
procedure RegisterSynGutter;
|
|
begin
|
|
RegisterNoIcon([TSynGutterPartList, TSynGutterSeparator]);
|
|
end;
|
|
|
|
procedure RegisterSynGutterCodeFolding;
|
|
begin
|
|
RegisterNoIcon([TSynGutterCodeFolding]);
|
|
end;
|
|
|
|
procedure RegisterSynGutterChanges;
|
|
begin
|
|
RegisterNoIcon([TSynGutterChanges]);
|
|
end;
|
|
|
|
procedure RegisterSynGutterLineNumber;
|
|
begin
|
|
RegisterNoIcon([TSynGutterLineNumber]);
|
|
end;
|
|
|
|
procedure RegisterSynGutterMarks;
|
|
begin
|
|
RegisterNoIcon([TSynGutterMarks]);
|
|
end;
|
|
|
|
procedure Register;
|
|
begin
|
|
RegisterUnit('SynGutter',@RegisterSynGutter);
|
|
RegisterUnit('SynGutterCodeFolding',@RegisterSynGutterCodeFolding);
|
|
RegisterUnit('SynGutterLineNumber',@RegisterSynGutterLineNumber);
|
|
RegisterUnit('SynGutterChanges',@RegisterSynGutterChanges);
|
|
RegisterUnit('SynGutterMarks',@RegisterSynGutterMarks);
|
|
|
|
RegisterUnit('SynEdit',@RegisterSynEdit);
|
|
RegisterUnit('SynMemo',@RegisterSynMemo);
|
|
|
|
RegisterUnit('SynCompletion',@RegisterSynCompletion);
|
|
RegisterUnit('SynMacroRecorder',@RegisterSynMacroRecorder);
|
|
RegisterUnit('SynExportHTML',@RegisterSynExportHTML);
|
|
RegisterUnit('SynPluginSyncroEdit',@RegisterSynSyncroEdit);
|
|
|
|
RegisterUnit('SynHighlighterPas',@RegisterSynHighlighterPas);
|
|
RegisterUnit('SynHighlighterCPP',@RegisterSynHighlighterCPP);
|
|
RegisterUnit('SynHighlighterJava',@RegisterSynHighlighterJava);
|
|
RegisterUnit('SynHighlighterJScript',@RegisterSynHighlighterJScript);
|
|
RegisterUnit('SynHighlighterPerl',@RegisterSynHighlighterPerl);
|
|
RegisterUnit('SynHighlighterHTML',@RegisterSynHighlighterHTML);
|
|
RegisterUnit('SynHighlighterXML',@RegisterSynHighlighterXML);
|
|
RegisterUnit('SynHighlighterLFM',@RegisterSynHighlighterLFM);
|
|
RegisterUnit('SynHighlighterDiff',@RegisterSynHighlighterDiff);
|
|
RegisterUnit('SynHighlighterUNIXShellScript',
|
|
@RegisterSynHighlighterUNIXShellScript);
|
|
RegisterUnit('SynHighlighterCss',@RegisterSynHighlighterCSS);
|
|
RegisterUnit('SynHighlighterPHP',@RegisterSynHighlighterPHP);
|
|
RegisterUnit('SynHighlighterTeX',@RegisterSynHighlighterTeX);
|
|
RegisterUnit('SynHighlighterSQL',@RegisterSynHighlighterSQL);
|
|
RegisterUnit('SynHighlighterPython',@RegisterSynHighlighterPython);
|
|
RegisterUnit('SynHighlighterVB',@RegisterSynHighlighterVB);
|
|
|
|
RegisterUnit('SynHighlighterAny',@RegisterSynHighlighterAny);
|
|
RegisterUnit('SynHighlighterMulti',@RegisterSynHighlighterMulti);
|
|
RegisterUnit('SynHighlighterBat',@RegisterSynHighlighterBat);
|
|
RegisterUnit('SynHighlighterIni',@RegisterSynHighlighterIni);
|
|
RegisterUnit('SynHighlighterPo',@RegisterSynHighlighterPo);
|
|
|
|
RegisterClasses([TSynGutterPartList, TSynGutterSeparator, TSynGutterCodeFolding,
|
|
TSynGutterLineNumber, TSynGutterChanges, TSynGutterMarks]);
|
|
|
|
RegisterComponentEditor(TCustomSynEdit, TSynEditComponentEditor);
|
|
|
|
// property editor, with filter for deprecated values
|
|
RegisterPropertyEditor(TypeInfo(TSynEditorOptions), nil,
|
|
'', TSynEdOptionsPropertyEditor);
|
|
|
|
RegisterPropertyEditor(ClassTypeInfo(TSynGutterPartListBase), nil,
|
|
'', TSynPropertyEditGutterPartList);
|
|
RegisterPropertyEditor(TypeInfo(TSynEditorMouseCommand), nil,
|
|
'', TSynMouseCommandPropertyEditor);
|
|
RegisterPropertyEditor(TypeInfo(TSynEditorCommand), nil,
|
|
'', TSynKeyCommandPropertyEditor);
|
|
|
|
RegisterGutterPartClass(TSynGutterLineNumber, syndsLineNumbers);
|
|
RegisterGutterPartClass(TSynGutterCodeFolding, syndsCodeFolding);
|
|
RegisterGutterPartClass(TSynGutterChanges, syndsChangeMarker);
|
|
RegisterGutterPartClass(TSynGutterMarks, syndsBookmarks);
|
|
RegisterGutterPartClass(TSynGutterSeparator, syndsSeparator);
|
|
{$IFDEF DesignSynGutterLineOverview}
|
|
RegisterGutterPartClass(TSynGutterLineOverview, syndsLineOverview);
|
|
{$ENDIF}
|
|
end;
|
|
|
|
end.
|
|
|