procedure TForm1.FormCreate(Sender: TObject);
procedure SetDefaultColors(const vHighLighter:TSynCustomHighlighter);
begin
if Assigned(vHighLighter.CommentAttribute) then vHighLighter.CommentAttribute.Foreground := clSilver;
if Assigned(vHighLighter.IdentifierAttribute) then vHighLighter.IdentifierAttribute.Foreground := clNone;
if Assigned(vHighLighter.CommentAttribute) then vHighLighter.CommentAttribute.Foreground := $00A2A2A2;
if Assigned(vHighLighter.KeywordAttribute) then vHighLighter.KeywordAttribute.Foreground := clNavy;
if Assigned(vHighLighter.StringAttribute) then vHighLighter.StringAttribute.ForeGround := $003FB306;
if Assigned(vHighLighter.SymbolAttribute) then vHighLighter.SymbolAttribute.ForeGround := $00A25151;
end;
var
i: Integer;
item: TMenuItem;
HL: TSynCustomHighlighter;
SynEdit: TSynEdit;
begin
CreateNewTab;
ComboBox3.Items.Clear;
Caption := FORM_CAPTION;
CurrentSynEdit.OnStatusChange:= @OnEditorStatusChange;
//CurrentSynEdit.OnChange:= @OnSynChange;
FHighlighters := TFPList.Create;
FHighlighters.Add(TSynADSP21xxSyn.Create(self));
FHighlighters.Add(TSynFortranSyn.Create(self));
FHighlighters.Add(TSynFoxproSyn.Create(self));
FHighlighters.Add(TSynGalaxySyn.Create(self));
FHighlighters.Add(TSynBaanSyn.Create(self));
FHighlighters.Add(TSynAWKSyn.Create(self));
FHighlighters.Add(TSynHaskellSyn.Create(self));
FHighlighters.Add(TSynCacheSyn.Create(self));
FHighlighters.Add(TSynModelicaSyn.Create(self));
FHighlighters.Add(TSynCobolSyn.Create(self));
FHighlighters.Add(TSynCSSyn.Create(self));
FHighlighters.Add(TSynDmlSyn.Create(self));
FHighlighters.Add(TSynProgressSyn.Create(self));
FHighlighters.Add(TSynEiffelSyn.Create(self));
FHighlighters.Add(TSynGWScriptSyn.Create(self));
FHighlighters.Add(TSynHP48Syn.Create(self));
FHighlighters.Add(TSynVBScriptSyn.Create(self));
FHighlighters.Add(TSynUnrealSyn.Create(self));
FHighlighters.Add(TSynVrml97Syn.Create(self));
FHighlighters.Add(TSynTclTkSyn.Create(self));
FHighlighters.Add(TSynLDRSyn.Create(self));
FHighlighters.Add(TSynRubySyn.Create(self));
FHighlighters.Add(TSynInnoSyn.Create(self));
FHighlighters.Add(TSynAsmSyn.Create(self));
FHighlighters.Add(TSynDOTSyn.Create(self));
FHighlighters.Add(TSynIdlSyn.Create(self));
FHighlighters.Add(TSynKixSyn.Create(self));
FHighlighters.Add(TSynSDDSyn.Create(self));
FHighlighters.Add(TSynSMLSyn.Create(self));
FHighlighters.Add(TSynFreePascalSyn.Create(self));
FHighlighters.Add(TSynM3Syn.Create(self));
FHighlighters.Add(TSynRCSyn.Create(self));
FHighlighters.Add(TSynPrologSyn.Create(Self));
FHighlighters.Add(TSynLuaSyn.Create(Self));
FHighlighters.Add(TSyn8051Syn.Create(Self));
FHighlighters.Add(TSynCACSyn.Create(Self));
FHighlighters.Add(TSynJavaSyn.Create(self));
FHighlighters.Add(TSynSQLSyn.Create(self));
FHighlighters.Add(TSynVHDLSyn.Create(Self));
FHighlighters.Add(TSynVerilogSyn.Create(Self));
FHighlighters.Add(TSynJSONSyn.Create(Self));
FHighlighters.Add(TSynPasSyn.Create(self));
FHighlighters.Add(TSynXMLSyn.Create(self));
FHighlighters.Sort(@CompareHighlighters);
for i:=0 to FHighlighters.Count-1 do begin
HL := TSynCustomHighlighter(FHighlighters[i]);
if Assigned(HL) then
begin
item := TMenuItem.Create(self);
MenuFileHL.Add(item);
try
item.Caption := Format('%d - %s', [i, GetHighlighterCaption(HL)]);
except
on E : Exception do
ShowMessage(E.Message+LineEnding+' at index '+inttostr(i));
end;
item.Tag := i+1;
ComboBox3.Items.Add(item.Caption);
item.OnClick := @MenuClick;
end;
end;
SelectHighlighter(28);
ComboBox1.Items.Clear;
//load fonts
g := TFPFontCacheList.Create;
g.SearchPath.Add('C:\Windows\Fonts');
g.BuildFontCache;
for i := 0 to g.Count - 1 do
begin
if ComboBox1.Items.IndexOf(g.Items[i].FamilyName) < 0 then
ComboBox1.Items.Add(g.Items[i].FamilyName);
end;
SynEdit := CurrentSynEdit;
if SynEdit <> nil then
begin
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(SynEdit.Font.Name);
SpinEdit1.Value := SynEdit.Font.Size;
end;
end;