mirror of https://gitlab.com/basile.b/dexed.git
highlighter, removed user-defined KW
This commit is contained in:
parent
09ab1df2a8
commit
b977e9a092
|
@ -61,7 +61,7 @@ type
|
||||||
function find(const aValue: string): boolean; {$IFNDEF DEBUG}inline;{$ENDIF}
|
function find(const aValue: string): boolean; {$IFNDEF DEBUG}inline;{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TTokenKind = (tkCommt, tkIdent, tkKeywd, tkStrng, tkBlank, tkSymbl, tkNumbr, tkCurrI, tkDDocs, tkSpecK, tkUsers);
|
TTokenKind = (tkCommt, tkIdent, tkKeywd, tkStrng, tkBlank, tkSymbl, tkNumbr, tkCurrI, tkDDocs, tkSpecK);
|
||||||
|
|
||||||
TRangeKind = (rkString1, rkString2, rkTokString, rkBlockCom1, rkBlockCom2, rkBlockDoc1, rkBlockDoc2, rkAsm);
|
TRangeKind = (rkString1, rkString2, rkTokString, rkBlockCom1, rkBlockCom2, rkBlockDoc1, rkBlockDoc2, rkAsm);
|
||||||
|
|
||||||
|
@ -112,8 +112,6 @@ type
|
||||||
fDDocsAttrib: TSynHighlighterAttributes;
|
fDDocsAttrib: TSynHighlighterAttributes;
|
||||||
fAsblrAttrib: TSynHighlighterAttributes;
|
fAsblrAttrib: TSynHighlighterAttributes;
|
||||||
fSpeckAttrib: TSynHighlighterAttributes;
|
fSpeckAttrib: TSynHighlighterAttributes;
|
||||||
fUsersAttrib: TSynHighlighterAttributes;
|
|
||||||
fUserWords: TStringList;
|
|
||||||
fKeyWords: TD2Dictionary;
|
fKeyWords: TD2Dictionary;
|
||||||
fSpecKw: TD2Dictionary;
|
fSpecKw: TD2Dictionary;
|
||||||
fCurrIdent: string;
|
fCurrIdent: string;
|
||||||
|
@ -135,15 +133,12 @@ type
|
||||||
procedure setDDocsAttrib(value: TSynHighlighterAttributes);
|
procedure setDDocsAttrib(value: TSynHighlighterAttributes);
|
||||||
procedure setAsblrAttrib(value: TSynHighlighterAttributes);
|
procedure setAsblrAttrib(value: TSynHighlighterAttributes);
|
||||||
procedure setSpeckAttrib(value: TSynHighlighterAttributes);
|
procedure setSpeckAttrib(value: TSynHighlighterAttributes);
|
||||||
procedure setUsersAttrib(value: TSynHighlighterAttributes);
|
|
||||||
procedure setUsersWords(value: TStringList);
|
|
||||||
procedure doAttribChange(sender: TObject);
|
procedure doAttribChange(sender: TObject);
|
||||||
procedure setCurrIdent(const value: string);
|
procedure setCurrIdent(const value: string);
|
||||||
procedure doChanged;
|
procedure doChanged;
|
||||||
protected
|
protected
|
||||||
function GetRangeClass: TSynCustomHighlighterRangeClass; override;
|
function GetRangeClass: TSynCustomHighlighterRangeClass; override;
|
||||||
published
|
published
|
||||||
property UsersKeyWords: TStringList read fUserWords write setUsersWords;
|
|
||||||
property FoldKinds: TFoldKinds read fFoldKinds write setFoldKinds;
|
property FoldKinds: TFoldKinds read fFoldKinds write setFoldKinds;
|
||||||
property WhiteAttrib: TSynHighlighterAttributes read fWhiteAttrib write setWhiteAttrib;
|
property WhiteAttrib: TSynHighlighterAttributes read fWhiteAttrib write setWhiteAttrib;
|
||||||
property NumbrAttrib: TSynHighlighterAttributes read fNumbrAttrib write setNumbrAttrib;
|
property NumbrAttrib: TSynHighlighterAttributes read fNumbrAttrib write setNumbrAttrib;
|
||||||
|
@ -156,7 +151,6 @@ type
|
||||||
property DDocsAttrib: TSynHighlighterAttributes read fDDocsAttrib write setDDocsAttrib;
|
property DDocsAttrib: TSynHighlighterAttributes read fDDocsAttrib write setDDocsAttrib;
|
||||||
property AsblrAttrib: TSynHighlighterAttributes read fAsblrAttrib write setAsblrAttrib;
|
property AsblrAttrib: TSynHighlighterAttributes read fAsblrAttrib write setAsblrAttrib;
|
||||||
property SpeckAttrib: TSynHighlighterAttributes read fSpeckAttrib write setSpeckAttrib;
|
property SpeckAttrib: TSynHighlighterAttributes read fSpeckAttrib write setSpeckAttrib;
|
||||||
property UsersAttrib: TSynHighlighterAttributes read fUsersAttrib write setUsersAttrib;
|
|
||||||
public
|
public
|
||||||
constructor create(aOwner: TComponent); override;
|
constructor create(aOwner: TComponent); override;
|
||||||
destructor destroy; override;
|
destructor destroy; override;
|
||||||
|
@ -304,8 +298,6 @@ begin
|
||||||
|
|
||||||
WordBreakChars := WordBreakChars - ['@'];
|
WordBreakChars := WordBreakChars - ['@'];
|
||||||
|
|
||||||
fUserWords := TStringList.Create;
|
|
||||||
|
|
||||||
fWhiteAttrib := TSynHighlighterAttributes.Create('White','White');
|
fWhiteAttrib := TSynHighlighterAttributes.Create('White','White');
|
||||||
fNumbrAttrib := TSynHighlighterAttributes.Create('Number','Number');
|
fNumbrAttrib := TSynHighlighterAttributes.Create('Number','Number');
|
||||||
fSymblAttrib := TSynHighlighterAttributes.Create('Symbol','Symbol');
|
fSymblAttrib := TSynHighlighterAttributes.Create('Symbol','Symbol');
|
||||||
|
@ -317,7 +309,6 @@ begin
|
||||||
fDDocsAttrib := TSynHighlighterAttributes.Create('DDoc','DDoc');
|
fDDocsAttrib := TSynHighlighterAttributes.Create('DDoc','DDoc');
|
||||||
fAsblrAttrib := TSynHighlighterAttributes.Create('Asm','Asm');
|
fAsblrAttrib := TSynHighlighterAttributes.Create('Asm','Asm');
|
||||||
fSpeckAttrib := TSynHighlighterAttributes.Create('SpecialKeywords','SpecialKeywords');
|
fSpeckAttrib := TSynHighlighterAttributes.Create('SpecialKeywords','SpecialKeywords');
|
||||||
fUsersAttrib := TSynHighlighterAttributes.Create('UsersWords','UsersWords');
|
|
||||||
|
|
||||||
fNumbrAttrib.Foreground := $000079F2;
|
fNumbrAttrib.Foreground := $000079F2;
|
||||||
fSymblAttrib.Foreground := clMaroon;
|
fSymblAttrib.Foreground := clMaroon;
|
||||||
|
@ -327,7 +318,6 @@ begin
|
||||||
fKeywdAttrib.Foreground := clNavy;
|
fKeywdAttrib.Foreground := clNavy;
|
||||||
fAsblrAttrib.Foreground := clGray;
|
fAsblrAttrib.Foreground := clGray;
|
||||||
fSpeckAttrib.Foreground := clNavy;
|
fSpeckAttrib.Foreground := clNavy;
|
||||||
fUsersAttrib.Foreground := clSilver;
|
|
||||||
|
|
||||||
fCurrIAttrib.Foreground := clBlack;
|
fCurrIAttrib.Foreground := clBlack;
|
||||||
fCurrIAttrib.FrameEdges := sfeAround;
|
fCurrIAttrib.FrameEdges := sfeAround;
|
||||||
|
@ -352,7 +342,6 @@ begin
|
||||||
AddAttribute(fDDocsAttrib);
|
AddAttribute(fDDocsAttrib);
|
||||||
AddAttribute(fAsblrAttrib);
|
AddAttribute(fAsblrAttrib);
|
||||||
AddAttribute(fSpeckAttrib);
|
AddAttribute(fSpeckAttrib);
|
||||||
AddAttribute(fUsersAttrib);
|
|
||||||
|
|
||||||
fAttribLut[TTokenKind.tkident] := fIdentAttrib;
|
fAttribLut[TTokenKind.tkident] := fIdentAttrib;
|
||||||
fAttribLut[TTokenKind.tkBlank] := fWhiteAttrib;
|
fAttribLut[TTokenKind.tkBlank] := fWhiteAttrib;
|
||||||
|
@ -364,7 +353,6 @@ begin
|
||||||
fAttribLut[TTokenKind.tkCurrI] := fCurrIAttrib;
|
fAttribLut[TTokenKind.tkCurrI] := fCurrIAttrib;
|
||||||
fAttribLut[TTokenKind.tkDDocs] := fDDocsAttrib;
|
fAttribLut[TTokenKind.tkDDocs] := fDDocsAttrib;
|
||||||
fAttribLut[TTokenKind.tkSpecK] := fSpeckAttrib;
|
fAttribLut[TTokenKind.tkSpecK] := fSpeckAttrib;
|
||||||
fAttribLut[TTokenKind.tkUsers] := fUsersAttrib;
|
|
||||||
|
|
||||||
SetAttributesOnChange(@doAttribChange);
|
SetAttributesOnChange(@doAttribChange);
|
||||||
fTokStop := 1;
|
fTokStop := 1;
|
||||||
|
@ -373,7 +361,6 @@ end;
|
||||||
|
|
||||||
destructor TSynD2Syn.destroy;
|
destructor TSynD2Syn.destroy;
|
||||||
begin
|
begin
|
||||||
fUserWords.Free;
|
|
||||||
fCurrRange.Free;
|
fCurrRange.Free;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
@ -387,7 +374,6 @@ begin
|
||||||
begin
|
begin
|
||||||
srcsyn := TSynD2Syn(Source);
|
srcsyn := TSynD2Syn(Source);
|
||||||
FoldKinds := srcsyn.FoldKinds;
|
FoldKinds := srcsyn.FoldKinds;
|
||||||
fUserWords.Assign(srcsyn.UsersKeyWords);
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -472,16 +458,6 @@ begin
|
||||||
fSpeckAttrib.Assign(value);
|
fSpeckAttrib.Assign(value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSynD2Syn.setUsersAttrib(value: TSynHighlighterAttributes);
|
|
||||||
begin
|
|
||||||
fUsersAttrib.Assign(value);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSynD2Syn.setUsersWords(value: TStringList);
|
|
||||||
begin
|
|
||||||
fUserWords.Assign(value);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSynD2Syn.setCurrIdent(const value: string);
|
procedure TSynD2Syn.setCurrIdent(const value: string);
|
||||||
begin
|
begin
|
||||||
if fCurrIdent = value then Exit;
|
if fCurrIdent = value then Exit;
|
||||||
|
@ -880,9 +856,6 @@ begin
|
||||||
fTokKind := tkKeywd
|
fTokKind := tkKeywd
|
||||||
else if fSpecKw.find(fLineBuf[FTokStart..fTokStop-1]) then
|
else if fSpecKw.find(fLineBuf[FTokStart..fTokStop-1]) then
|
||||||
fTokKind := tkSpecK
|
fTokKind := tkSpecK
|
||||||
else if (fUserWords.Count > 0) and
|
|
||||||
(fUserWords.IndexOf(fLineBuf[FTokStart..fTokStop-1]) <> -1) then
|
|
||||||
fTokKind := tkUsers
|
|
||||||
else if fLineBuf[FTokStart..fTokStop-1] = fCurrIdent then
|
else if fLineBuf[FTokStart..fTokStop-1] = fCurrIdent then
|
||||||
fTokKind := tkCurrI;
|
fTokKind := tkCurrI;
|
||||||
//check asm range
|
//check asm range
|
||||||
|
|
Loading…
Reference in New Issue