~ubuntu-branches/ubuntu/vivid/lazarus/vivid

« back to all changes in this revision

Viewing changes to components/synedit/synhighlightercpp.pp

  • Committer: Package Import Robot
  • Author(s): Paul Gevers, Abou Al Montacir, Paul Gevers
  • Date: 2014-02-22 10:25:57 UTC
  • mfrom: (1.1.11)
  • Revision ID: package-import@ubuntu.com-20140222102557-ors9d31r84nz31jq
Tags: 1.2~rc2+dfsg-1
[ Abou Al Montacir ]
* New upstream pre-release.
  + Moved ideintf to components directory.
  + Added new package cairocanvas.
* Remove usage of depreciated parameters form of find. (Closes: Bug#724776)
* Bumped standard version to 3.9.5.
* Clean the way handling make files generation and removal.

[ Paul Gevers ]
* Remove nearly obsolete bzip compression for binary packages
  (See https://lists.debian.org/debian-devel/2014/01/msg00542.html)
* Update d/copyright for newly added dir in examples and components
* Update Vcs-* fields with new packaging location
* Update d/watch file to properly (Debian way) change upstreams versions
* Prevent 46MB of package size by sym linking duplicate files
* Patches
  - refresh to remove fuzz
  - add more Lintian found spelling errors
  - new patch to add shbang to two scripts in lazarus-src
* Drop lcl-# from Provides list of lcl-units-#
* Make lazarus-ide-qt4-# an arch all until it really contains stuff
* Make all metapackages arch all as the usecase for arch any doesn't
  seem to warrant the addition archive hit
* Fix permissions of non-scripts in lazarus-src-#

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
If you do not delete the provisions above, a recipient may use your version
28
28
of this file under either the MPL or the GPL.
29
29
 
30
 
$Id: synhighlightercpp.pp 34411 2011-12-25 19:00:46Z juha $
 
30
$Id: synhighlightercpp.pp 41721 2013-06-14 21:41:35Z mattias $
31
31
 
32
32
You may retrieve the latest version of this file at the SynEdit home page,
33
33
located at http://SynEdit.SourceForge.net
51
51
 
52
52
uses
53
53
  SysUtils,
54
 
  {$IFDEF SYN_LAZARUS}
55
54
  LCLIntf,
56
 
  {$ELSE}
57
 
  Windows, Messages,
58
 
  {$ENDIF}
59
55
  Classes, Registry, Controls, Graphics,
60
56
  SynEditTypes, SynEditHighlighter;
61
57
 
236
232
    function GetEol: Boolean; override;
237
233
    function GetRange: Pointer; override;
238
234
    function GetTokenID: TtkTokenKind;
239
 
    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer); override;
 
235
    procedure SetLine(const NewValue: String; LineNumber:Integer); override;
240
236
    function GetToken: String; override;
241
 
    {$IFDEF SYN_LAZARUS}
242
237
    procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
243
 
    {$ENDIF}
244
238
    function GetTokenAttribute: TSynHighlighterAttributes; override;
245
239
    function GetTokenKind: integer; override;
246
240
    function GetTokenPos: Integer; override;
308
302
begin
309
303
  pF := PIdentFuncTableFunc(@fIdentFuncTable);
310
304
  for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
311
 
    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
 
305
    pF^ := @AltFunc;
312
306
    Inc(pF);
313
307
  end;
314
 
  fIdentFuncTable[17] := {$IFDEF FPC}@{$ENDIF}Func17;
315
 
  fIdentFuncTable[21] := {$IFDEF FPC}@{$ENDIF}Func21;
316
 
  fIdentFuncTable[32] := {$IFDEF FPC}@{$ENDIF}Func32;
317
 
  fIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
318
 
  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
319
 
  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
320
 
  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
321
 
  fIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
322
 
  fIdentFuncTable[46] := {$IFDEF FPC}@{$ENDIF}Func46;
323
 
  fIdentFuncTable[48] := {$IFDEF FPC}@{$ENDIF}Func48;
324
 
  fIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
325
 
  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
326
 
  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
327
 
  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
328
 
  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
329
 
  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
330
 
  fIdentFuncTable[61] := {$IFDEF FPC}@{$ENDIF}Func61;
331
 
  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
332
 
  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
333
 
  fIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
334
 
  fIdentFuncTable[66] := {$IFDEF FPC}@{$ENDIF}Func66;
335
 
  fIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
336
 
  fIdentFuncTable[68] := {$IFDEF FPC}@{$ENDIF}Func68;
337
 
  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
338
 
  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
339
 
  fIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
340
 
  fIdentFuncTable[75] := {$IFDEF FPC}@{$ENDIF}Func75;
341
 
  fIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
342
 
  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
343
 
  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
344
 
  fIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
345
 
  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
346
 
  fIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
347
 
  fIdentFuncTable[86] := {$IFDEF FPC}@{$ENDIF}Func86;
348
 
  fIdentFuncTable[88] := {$IFDEF FPC}@{$ENDIF}Func88;
349
 
  fIdentFuncTable[89] := {$IFDEF FPC}@{$ENDIF}Func89;
350
 
  fIdentFuncTable[92] := {$IFDEF FPC}@{$ENDIF}Func92;
351
 
  fIdentFuncTable[97] := {$IFDEF FPC}@{$ENDIF}Func97;
352
 
  fIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
353
 
  fIdentFuncTable[100] := {$IFDEF FPC}@{$ENDIF}Func100;
354
 
  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
355
 
  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
356
 
  fIdentFuncTable[104] := {$IFDEF FPC}@{$ENDIF}Func104;
357
 
  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
358
 
  fIdentFuncTable[106] := {$IFDEF FPC}@{$ENDIF}Func106;
359
 
  fIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
360
 
  fIdentFuncTable[109] := {$IFDEF FPC}@{$ENDIF}Func109;
361
 
  fIdentFuncTable[110] := {$IFDEF FPC}@{$ENDIF}Func110;
362
 
  fIdentFuncTable[115] := {$IFDEF FPC}@{$ENDIF}Func115;
363
 
  fIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
364
 
  fIdentFuncTable[123] := {$IFDEF FPC}@{$ENDIF}Func123;
365
 
  fIdentFuncTable[125] := {$IFDEF FPC}@{$ENDIF}Func125;
366
 
  fIdentFuncTable[141] := {$IFDEF FPC}@{$ENDIF}Func141;
367
 
  fIdentFuncTable[206] := {$IFDEF FPC}@{$ENDIF}Func206;
 
308
  fIdentFuncTable[17] := @Func17;
 
309
  fIdentFuncTable[21] := @Func21;
 
310
  fIdentFuncTable[32] := @Func32;
 
311
  fIdentFuncTable[34] := @Func34;
 
312
  fIdentFuncTable[36] := @Func36;
 
313
  fIdentFuncTable[40] := @Func40;
 
314
  fIdentFuncTable[42] := @Func42;
 
315
  fIdentFuncTable[45] := @Func45;
 
316
  fIdentFuncTable[46] := @Func46;
 
317
  fIdentFuncTable[48] := @Func48;
 
318
  fIdentFuncTable[52] := @Func52;
 
319
  fIdentFuncTable[54] := @Func54;
 
320
  fIdentFuncTable[57] := @Func57;
 
321
  fIdentFuncTable[58] := @Func58;
 
322
  fIdentFuncTable[59] := @Func59;
 
323
  fIdentFuncTable[60] := @Func60;
 
324
  fIdentFuncTable[61] := @Func61;
 
325
  fIdentFuncTable[62] := @Func62;
 
326
  fIdentFuncTable[64] := @Func64;
 
327
  fIdentFuncTable[65] := @Func65;
 
328
  fIdentFuncTable[66] := @Func66;
 
329
  fIdentFuncTable[67] := @Func67;
 
330
  fIdentFuncTable[68] := @Func68;
 
331
  fIdentFuncTable[69] := @Func69;
 
332
  fIdentFuncTable[71] := @Func71;
 
333
  fIdentFuncTable[74] := @Func74;
 
334
  fIdentFuncTable[75] := @Func75;
 
335
  fIdentFuncTable[76] := @Func76;
 
336
  fIdentFuncTable[78] := @Func78;
 
337
  fIdentFuncTable[79] := @Func79;
 
338
  fIdentFuncTable[81] := @Func81;
 
339
  fIdentFuncTable[82] := @Func82;
 
340
  fIdentFuncTable[85] := @Func85;
 
341
  fIdentFuncTable[86] := @Func86;
 
342
  fIdentFuncTable[88] := @Func88;
 
343
  fIdentFuncTable[89] := @Func89;
 
344
  fIdentFuncTable[92] := @Func92;
 
345
  fIdentFuncTable[97] := @Func97;
 
346
  fIdentFuncTable[98] := @Func98;
 
347
  fIdentFuncTable[100] := @Func100;
 
348
  fIdentFuncTable[101] := @Func101;
 
349
  fIdentFuncTable[102] := @Func102;
 
350
  fIdentFuncTable[104] := @Func104;
 
351
  fIdentFuncTable[105] := @Func105;
 
352
  fIdentFuncTable[106] := @Func106;
 
353
  fIdentFuncTable[107] := @Func107;
 
354
  fIdentFuncTable[109] := @Func109;
 
355
  fIdentFuncTable[110] := @Func110;
 
356
  fIdentFuncTable[115] := @Func115;
 
357
  fIdentFuncTable[116] := @Func116;
 
358
  fIdentFuncTable[123] := @Func123;
 
359
  fIdentFuncTable[125] := @Func125;
 
360
  fIdentFuncTable[141] := @Func141;
 
361
  fIdentFuncTable[206] := @Func206;
368
362
end;
369
363
 
370
364
function TSynCppSyn.KeyHash(ToHash: PChar): Integer;
725
719
  fToIdent := MayBe;
726
720
  HashKey := KeyHash(MayBe);
727
721
  if HashKey < 207 then
728
 
    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
 
722
    Result := fIdentFuncTable[HashKey]()
729
723
  else
730
724
    Result := tkIdentifier;
731
725
end;
736
730
begin
737
731
  for I := #0 to #255 do
738
732
    case I of
739
 
      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
740
 
      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
741
 
      '@': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AtSymbolProc;
742
 
      '}': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
743
 
      '{': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
744
 
      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
745
 
      ':': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ColonProc;
746
 
      ',': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommaProc;
747
 
      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}DirectiveProc;
748
 
      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
749
 
      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
750
 
      '?': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}QuestionProc;
751
 
      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
752
 
      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
753
 
      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
754
 
      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
755
 
      '%': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ModSymbolProc;
756
 
      '!': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NotSymbolProc;
757
 
      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
758
 
      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
759
 
      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
760
 
      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
761
 
      '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PointProc;
762
 
      ')': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RoundCloseProc;
763
 
      '(': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RoundOpenProc;
764
 
      ';': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SemiColonProc;
765
 
      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
766
 
      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
767
 
      ']': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SquareCloseProc;
768
 
      '[': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SquareOpenProc;
769
 
      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StarProc;
770
 
      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
771
 
      '~': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}TildeProc;
772
 
      '^': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}XOrSymbolProc;
773
 
      else fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
 
733
      '&': fProcTable[I] := @AndSymbolProc;
 
734
      #39: fProcTable[I] := @AsciiCharProc;
 
735
      '@': fProcTable[I] := @AtSymbolProc;
 
736
      '}': fProcTable[I] := @BraceCloseProc;
 
737
      '{': fProcTable[I] := @BraceOpenProc;
 
738
      #13: fProcTable[I] := @CRProc;
 
739
      ':': fProcTable[I] := @ColonProc;
 
740
      ',': fProcTable[I] := @CommaProc;
 
741
      '#': fProcTable[I] := @DirectiveProc;
 
742
      '=': fProcTable[I] := @EqualProc;
 
743
      '>': fProcTable[I] := @GreaterProc;
 
744
      '?': fProcTable[I] := @QuestionProc;
 
745
      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
 
746
      #10: fProcTable[I] := @LFProc;
 
747
      '<': fProcTable[I] := @LowerProc;
 
748
      '-': fProcTable[I] := @MinusProc;
 
749
      '%': fProcTable[I] := @ModSymbolProc;
 
750
      '!': fProcTable[I] := @NotSymbolProc;
 
751
      #0: fProcTable[I] := @NullProc;
 
752
      '0'..'9': fProcTable[I] := @NumberProc;
 
753
      '|': fProcTable[I] := @OrSymbolProc;
 
754
      '+': fProcTable[I] := @PlusProc;
 
755
      '.': fProcTable[I] := @PointProc;
 
756
      ')': fProcTable[I] := @RoundCloseProc;
 
757
      '(': fProcTable[I] := @RoundOpenProc;
 
758
      ';': fProcTable[I] := @SemiColonProc;
 
759
      '/': fProcTable[I] := @SlashProc;
 
760
      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
 
761
      ']': fProcTable[I] := @SquareCloseProc;
 
762
      '[': fProcTable[I] := @SquareOpenProc;
 
763
      '*': fProcTable[I] := @StarProc;
 
764
      #34: fProcTable[I] := @StringProc;
 
765
      '~': fProcTable[I] := @TildeProc;
 
766
      '^': fProcTable[I] := @XOrSymbolProc;
 
767
      else fProcTable[I] := @UnknownProc;
774
768
    end;
775
769
end;
776
770
 
777
771
constructor TSynCppSyn.Create(AOwner: TComponent);
778
772
begin
779
773
  inherited Create(AOwner);
780
 
  fAsmAttri := TSynHighlighterAttributes.Create(SYNS_AttrAssembler, SYNS_XML_AttrAssembler);
 
774
  fAsmAttri := TSynHighlighterAttributes.Create(@SYNS_AttrAssembler, SYNS_XML_AttrAssembler);
781
775
  AddAttribute(fAsmAttri);
782
 
  fCommentAttri := TSynHighlighterAttributes.Create(SYNS_AttrComment, SYNS_XML_AttrComment);
 
776
  fCommentAttri := TSynHighlighterAttributes.Create(@SYNS_AttrComment, SYNS_XML_AttrComment);
783
777
  fCommentAttri.Style:= [fsItalic];
784
778
  AddAttribute(fCommentAttri);
785
 
  fIdentifierAttri := TSynHighlighterAttributes.Create(SYNS_AttrIdentifier, SYNS_XML_AttrIdentifier);
 
779
  fIdentifierAttri := TSynHighlighterAttributes.Create(@SYNS_AttrIdentifier, SYNS_XML_AttrIdentifier);
786
780
  AddAttribute(fIdentifierAttri);
787
 
  fInvalidAttri := TSynHighlighterAttributes.Create(SYNS_AttrIllegalChar, SYNS_XML_AttrIllegalChar);
 
781
  fInvalidAttri := TSynHighlighterAttributes.Create(@SYNS_AttrIllegalChar, SYNS_XML_AttrIllegalChar);
788
782
  AddAttribute(fInvalidAttri);
789
 
  fKeyAttri := TSynHighlighterAttributes.Create(SYNS_AttrReservedWord, SYNS_XML_AttrReservedWord);
 
783
  fKeyAttri := TSynHighlighterAttributes.Create(@SYNS_AttrReservedWord, SYNS_XML_AttrReservedWord);
790
784
  fKeyAttri.Style:= [fsBold];
791
785
  AddAttribute(fKeyAttri);
792
 
  fNumberAttri := TSynHighlighterAttributes.Create(SYNS_AttrNumber, SYNS_XML_AttrNumber);
 
786
  fNumberAttri := TSynHighlighterAttributes.Create(@SYNS_AttrNumber, SYNS_XML_AttrNumber);
793
787
  AddAttribute(fNumberAttri);
794
 
  fSpaceAttri := TSynHighlighterAttributes.Create(SYNS_AttrSpace, SYNS_XML_AttrSpace);
 
788
  fSpaceAttri := TSynHighlighterAttributes.Create(@SYNS_AttrSpace, SYNS_XML_AttrSpace);
795
789
  fSpaceAttri.Foreground := clWindow;
796
790
  AddAttribute(fSpaceAttri);
797
 
  fStringAttri := TSynHighlighterAttributes.Create(SYNS_AttrString, SYNS_XML_AttrString);
 
791
  fStringAttri := TSynHighlighterAttributes.Create(@SYNS_AttrString, SYNS_XML_AttrString);
798
792
  AddAttribute(fStringAttri);
799
 
  fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
 
793
  fSymbolAttri := TSynHighlighterAttributes.Create(@SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
800
794
  AddAttribute(fSymbolAttri);
801
 
  fDirecAttri := TSynHighlighterAttributes.Create(SYNS_AttrPreprocessor, SYNS_XML_AttrPreprocessor);
 
795
  fDirecAttri := TSynHighlighterAttributes.Create(@SYNS_AttrPreprocessor, SYNS_XML_AttrPreprocessor);
802
796
  AddAttribute(fDirecAttri);
803
 
  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
 
797
  SetAttributesOnChange(@DefHighlightChange);
804
798
  InitIdent;
805
799
  MakeMethodTables;
806
800
  fRange := rsUnknown;
1418
1412
procedure TSynCppSyn.UnknownProc;
1419
1413
begin
1420
1414
  inc(Run);
1421
 
  {$IFDEF SYN_LAZARUS}
1422
1415
  while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
1423
1416
   ((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
1424
 
  {$ENDIF}
1425
1417
  fTokenID := tkUnknown;
1426
1418
end;
1427
1419
 
1475
1467
  SetString(Result, (FLine + fTokenPos), Len);
1476
1468
end;
1477
1469
 
1478
 
{$IFDEF SYN_LAZARUS}
1479
1470
procedure TSynCppSyn.GetTokenEx(out TokenStart: PChar;
1480
1471
  out TokenLength: integer);
1481
1472
begin
1482
1473
  TokenLength:=Run-fTokenPos;
1483
1474
  TokenStart:=FLine + fTokenPos;
1484
1475
end;
1485
 
{$ENDIF}
1486
1476
 
1487
1477
function TSynCppSyn.GetTokenID: TtkTokenKind;
1488
1478
begin
1538
1528
procedure TSynCppSyn.EnumUserSettings(settings: TStrings);
1539
1529
begin
1540
1530
  { returns the user settings that exist in the registry }
1541
 
  with TBetterRegistry.Create do
 
1531
  with TRegistry.Create do
1542
1532
  begin
1543
1533
    try
1544
1534
      RootKey := HKEY_LOCAL_MACHINE;
1614
1604
      EnumUserSettings(s);
1615
1605
      if settingIndex >= s.Count then Result := false
1616
1606
      else begin
1617
 
        tmpStringAttri    := TSynHighlighterAttributes.Create('');
1618
 
        tmpNumberAttri    := TSynHighlighterAttributes.Create('');
1619
 
        tmpKeyAttri       := TSynHighlighterAttributes.Create('');
1620
 
        tmpSymbolAttri    := TSynHighlighterAttributes.Create('');
1621
 
        tmpAsmAttri       := TSynHighlighterAttributes.Create('');
1622
 
        tmpCommentAttri   := TSynHighlighterAttributes.Create('');
1623
 
        tmpIdentifierAttri:= TSynHighlighterAttributes.Create('');
1624
 
        tmpInvalidAttri   := TSynHighlighterAttributes.Create('');
1625
 
        tmpSpaceAttri     := TSynHighlighterAttributes.Create('');
1626
 
        tmpDirecAttri     := TSynHighlighterAttributes.Create('');
 
1607
        tmpStringAttri    := TSynHighlighterAttributes.Create(nil);
 
1608
        tmpNumberAttri    := TSynHighlighterAttributes.Create(nil);
 
1609
        tmpKeyAttri       := TSynHighlighterAttributes.Create(nil);
 
1610
        tmpSymbolAttri    := TSynHighlighterAttributes.Create(nil);
 
1611
        tmpAsmAttri       := TSynHighlighterAttributes.Create(nil);
 
1612
        tmpCommentAttri   := TSynHighlighterAttributes.Create(nil);
 
1613
        tmpIdentifierAttri:= TSynHighlighterAttributes.Create(nil);
 
1614
        tmpInvalidAttri   := TSynHighlighterAttributes.Create(nil);
 
1615
        tmpSpaceAttri     := TSynHighlighterAttributes.Create(nil);
 
1616
        tmpDirecAttri     := TSynHighlighterAttributes.Create(nil);
1627
1617
        tmpStringAttri    .Assign(fStringAttri);
1628
1618
        tmpNumberAttri    .Assign(fNumberAttri);
1629
1619
        tmpKeyAttri       .Assign(fKeyAttri);