Hallo,
Wie der Titel schon sagt, möchte ich gerne einen Synedit Multi-Highlighter zur Laufzeit erstellen.
Bisher sieht mein Code folgendermaßen aus:
Delphi-Quellcode:
var
html: TSynHTMLSyn;
php: TSynPHPSyn;
Multi: TSynMultiSyn;
begin
html:= TSynHTMLSyn.Create(
nil);
php:= TSynPHPSyn.Create(
nil);
Multi:= TSynMultiSyn.Create(
nil);
// ???
Editor.Highlighter:= Multi;
end;
Ich erstelle also den
HTML-, PHP- und den Multi-Highlighter, aber wie kann ich nun dem Multi-H. PHP und
HTML zuweisen?
Vielen Dank im Voraus!
Gruß,
Lennard
[Edit]
habe eine Lösung gefunden:
Delphi-Quellcode:
var
html: TSynHTMLSyn;
php: TSynPHPSyn;
Multi: TSynMultiSyn;
begin
html:= TSynHTMLSyn.Create(
nil);
php:= TSynPHPSyn.Create(
nil);
Multi:= TSynMultiSyn.Create(
nil);
Multi.DefaultHighlighter:=
html;
with TScheme(Multi.Schemes.Add)
do
begin
Highlighter:= php;
CaseSensitive:= false;
StartExpr:= '
<\?(php){0,1}';
EndExpr:= '
\?>';
end;
Editor.Highlighter:= Multi;
end;