This commit is contained in:
Basile Burg 2016-03-29 05:24:39 +02:00
parent 6f79eceecf
commit ed9d16d08a
1 changed files with 19 additions and 41 deletions

View File

@ -148,7 +148,7 @@ type
procedure Assign(Source: TPersistent); override; procedure Assign(Source: TPersistent); override;
procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override; procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
function GetDefaultAttribute(Index: integer): TSynHighlighterAttributes; override; function GetDefaultAttribute(Index: integer): TSynHighlighterAttributes; override;
procedure setLine(const NewValue: String; LineNumber: Integer); override; procedure setLine(const NewValue: string; LineNumber: Integer); override;
procedure next; override; procedure next; override;
function GetTokenAttribute: TSynHighlighterAttributes; override; function GetTokenAttribute: TSynHighlighterAttributes; override;
function GetToken: string; override; function GetToken: string; override;
@ -170,7 +170,7 @@ begin
addEntry(value); addEntry(value);
end; end;
{$IFDEF DEBUG}{$R-}{$ENDIF} {$IFDEF DEBUG}{$PUSH}{$R-}{$ENDIF}
function TD2Dictionary.toHash(const aValue: string): Byte; function TD2Dictionary.toHash(const aValue: string): Byte;
var var
i: Integer; i: Integer;
@ -179,7 +179,7 @@ begin
for i := 1 to length(aValue) do for i := 1 to length(aValue) do
result += (Byte(aValue[i]) shl (4 and (1-i))) xor 25; result += (Byte(aValue[i]) shl (4 and (1-i))) xor 25;
end; end;
{$IFDEF DEBUG}{$R+}{$ENDIF} {$IFDEF DEBUG}{$POP}{$ENDIF}
procedure TD2Dictionary.addEntry(const aValue: string); procedure TD2Dictionary.addEntry(const aValue: string);
var var
@ -283,16 +283,16 @@ begin
WordBreakChars := WordBreakChars - ['@']; WordBreakChars := WordBreakChars - ['@'];
fWhiteAttrib := TSynHighlighterAttributes.Create('White','White'); fWhiteAttrib := TSynHighlighterAttributes.Create('White','White');
fNumbrAttrib := TSynHighlighterAttributes.Create('Number','Number'); fNumbrAttrib := TSynHighlighterAttributes.Create('Numbr','Numbr');
fSymblAttrib := TSynHighlighterAttributes.Create('Symbol','Symbol'); fSymblAttrib := TSynHighlighterAttributes.Create('Symbl','Symbl');
fIdentAttrib := TSynHighlighterAttributes.Create('Identifier','Identifier'); fIdentAttrib := TSynHighlighterAttributes.Create('Ident','Ident');
fCommtAttrib := TSynHighlighterAttributes.Create('Comment','Comment'); fCommtAttrib := TSynHighlighterAttributes.Create('Commt','Commt');
fStrngAttrib := TSynHighlighterAttributes.Create('String','String'); fStrngAttrib := TSynHighlighterAttributes.Create('Strng','Strng');
fKeywdAttrib := TSynHighlighterAttributes.Create('Keyword','Keyword'); fKeywdAttrib := TSynHighlighterAttributes.Create('Keywd','Keywd');
fDDocsAttrib := TSynHighlighterAttributes.Create('DDoc','DDoc'); fDDocsAttrib := TSynHighlighterAttributes.Create('DDocs','DDocs');
fAsblrAttrib := TSynHighlighterAttributes.Create('Asm','Asm'); fAsblrAttrib := TSynHighlighterAttributes.Create('Asblr','Asblr');
fSpeckAttrib := TSynHighlighterAttributes.Create('SpecialKeywords','SpecialKeywords'); fSpeckAttrib := TSynHighlighterAttributes.Create('Speck','Speck');
fErrorAttrib := TSynHighlighterAttributes.Create('Errors','Errors'); fErrorAttrib := TSynHighlighterAttributes.Create('Error','Error');
fNumbrAttrib.Foreground := $000079F2; fNumbrAttrib.Foreground := $000079F2;
fSymblAttrib.Foreground := clMaroon; fSymblAttrib.Foreground := clMaroon;
@ -379,12 +379,10 @@ begin
EndUpdate; EndUpdate;
end; end;
{$HINTS OFF}
procedure TSynD2Syn.doAttribChange(sender: TObject); procedure TSynD2Syn.doAttribChange(sender: TObject);
begin begin
doChanged; doChanged;
end; end;
{$HINTS ON}
procedure TSynD2Syn.setFoldKinds(value: TFoldKinds); procedure TSynD2Syn.setFoldKinds(value: TFoldKinds);
begin begin
@ -448,7 +446,7 @@ begin
fErrorAttrib.Assign(value); fErrorAttrib.Assign(value);
end; end;
procedure TSynD2Syn.setLine(const NewValue: String; LineNumber: Integer); procedure TSynD2Syn.setLine(const NewValue: string; LineNumber: Integer);
begin begin
inherited; inherited;
// note: the end of line is marked with a #10 // note: the end of line is marked with a #10
@ -463,10 +461,8 @@ end;
procedure TSynD2Syn.next; procedure TSynD2Syn.next;
var var
reader: PChar = nil; reader: PChar = nil;
label label
_postString1, _notRawStrng, _notDotFloat;
_notDotFloat;
procedure readerReset; procedure readerReset;
begin begin
@ -681,7 +677,7 @@ begin
begin begin
fCurrRange.rString := false; fCurrRange.rString := false;
readerPrev; readerPrev;
goto _postString1; goto _notRawStrng;
end; end;
end; end;
readerNext; readerNext;
@ -709,7 +705,7 @@ begin
fCurrRange.rangeKinds += [rkString1]; fCurrRange.rangeKinds += [rkString1];
StartCodeFoldBlock(nil, fkStrings in fFoldKinds); StartCodeFoldBlock(nil, fkStrings in fFoldKinds);
exit; exit;
end else _postString1: readerReset; end else _notRawStrng: readerReset;
if rkString1 in fCurrRange.rangeKinds then if rkString1 in fCurrRange.rangeKinds then
begin begin
fTokKind := tkStrng; fTokKind := tkStrng;
@ -1069,30 +1065,12 @@ end;
function TSynD2Syn.GetDefaultAttribute(Index: integer): TSynHighlighterAttributes; function TSynD2Syn.GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
begin begin
case Index of result := nil;
SYN_ATTR_COMMENT: Result := fCommtAttrib;
SYN_ATTR_IDENTIFIER: Result := fIdentAttrib;
SYN_ATTR_KEYWORD: Result := fKeywdAttrib;
SYN_ATTR_STRING: Result := fStrngAttrib;
SYN_ATTR_WHITESPACE: Result := fWhiteAttrib;
SYN_ATTR_SYMBOL: Result := fSymblAttrib;
else Result := fIdentAttrib;
end;
end; end;
function TSynD2Syn.GetTokenKind: integer; function TSynD2Syn.GetTokenKind: integer;
var
a: TSynHighlighterAttributes;
begin begin
Result := SYN_ATTR_IDENTIFIER; Result := Integer(fTokKind);
a := GetTokenAttribute;
if a = fIdentAttrib then Result := SYN_ATTR_IDENTIFIER else
if a = fWhiteAttrib then Result := SYN_ATTR_WHITESPACE else
if a = fCommtAttrib then Result := SYN_ATTR_COMMENT else
if a = fKeywdAttrib then Result := SYN_ATTR_KEYWORD else
if a = fStrngAttrib then Result := SYN_ATTR_STRING else
if a = fSymblAttrib then Result := SYN_ATTR_SYMBOL else
if a = fNumbrAttrib then Result := Ord(TTokenKind.tkNumbr);
end; end;
initialization initialization