highlighter, removed user-defined KW

This commit is contained in:
Basile Burg 2015-12-11 04:09:58 +01:00
parent 09ab1df2a8
commit b977e9a092
1 changed files with 1 additions and 28 deletions

View File

@ -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