Browse Source

added highlighter in test_bgrapascalscript

lainz 11 years ago
parent
commit
e3f50bd3d0

+ 7 - 4
test/test_bgrapascalscript/test_bgrapascalscript.lpi

@@ -64,16 +64,19 @@
         <FormatVersion Value="1"/>
         <FormatVersion Value="1"/>
       </local>
       </local>
     </RunParams>
     </RunParams>
-    <RequiredPackages Count="3">
+    <RequiredPackages Count="4">
       <Item1>
       <Item1>
-        <PackageName Value="pascalscript"/>
+        <PackageName Value="SynEdit"/>
       </Item1>
       </Item1>
       <Item2>
       <Item2>
-        <PackageName Value="bgracontrols"/>
+        <PackageName Value="pascalscript"/>
       </Item2>
       </Item2>
       <Item3>
       <Item3>
-        <PackageName Value="LCL"/>
+        <PackageName Value="bgracontrols"/>
       </Item3>
       </Item3>
+      <Item4>
+        <PackageName Value="LCL"/>
+      </Item4>
     </RequiredPackages>
     </RequiredPackages>
     <Units Count="2">
     <Units Count="2">
       <Unit0>
       <Unit0>

+ 554 - 32
test/test_bgrapascalscript/umain.lfm

@@ -1,54 +1,32 @@
 object Form1: TForm1
 object Form1: TForm1
-  Left = 465
+  Left = 231
   Height = 550
   Height = 550
-  Top = 205
+  Top = 156
   Width = 644
   Width = 644
-  Caption = 'Form1'
+  Caption = 'bgra_PascalScript'
   ClientHeight = 550
   ClientHeight = 550
   ClientWidth = 644
   ClientWidth = 644
-  LCLVersion = '1.0.10.0'
-  object Memo1: TMemo
-    Left = 8
-    Height = 530
-    Top = 8
-    Width = 446
-    Lines.Strings = (
-      'Program Test_BGRAPascalScript;'
-      ''
-      'var c: TBGRAColor;'
-      ' i: integer;'
-      'begin'
-      '  bgra_CreateWithSize(0, 256,1);'
-      '  c := rgb(255,255,0); //yellow'
-      '  for i := 0 to 255 do'
-      '  begin'
-      '    bgra_SetPixel(0, i,0, c);'
-      '    c := setGreen(c, getGreen(c)-1);'
-      '  end;'
-      'end.'
-    )
-    TabOrder = 0
-  end
+  LCLVersion = '1.2.4.0'
   object Button1: TButton
   object Button1: TButton
     Left = 464
     Left = 464
-    Height = 25
+    Height = 35
     Top = 8
     Top = 8
-    Width = 83
+    Width = 112
     AutoSize = True
     AutoSize = True
     Caption = '1 - Execute'
     Caption = '1 - Execute'
     OnClick = Button1Click
     OnClick = Button1Click
-    TabOrder = 1
+    TabOrder = 0
   end
   end
   object Button2: TButton
   object Button2: TButton
     Left = 464
     Left = 464
-    Height = 25
+    Height = 35
     Top = 44
     Top = 44
-    Width = 65
+    Width = 85
     AutoSize = True
     AutoSize = True
     Caption = '2 - Test'
     Caption = '2 - Test'
     Enabled = False
     Enabled = False
     OnClick = Button2Click
     OnClick = Button2Click
-    TabOrder = 2
+    TabOrder = 1
   end
   end
   object BGRAVirtualScreen1: TBGRAVirtualScreen
   object BGRAVirtualScreen1: TBGRAVirtualScreen
     Left = 464
     Left = 464
@@ -59,7 +37,530 @@ object Form1: TForm1
     Alignment = taLeftJustify
     Alignment = taLeftJustify
     Color = clWhite
     Color = clWhite
     ParentColor = False
     ParentColor = False
+    TabOrder = 2
+  end
+  inline SynEdit1: TSynEdit
+    Left = 8
+    Height = 530
+    Top = 8
+    Width = 446
+    Font.Height = -13
+    Font.Name = 'Courier New'
+    Font.Pitch = fpFixed
+    Font.Quality = fqNonAntialiased
+    ParentColor = False
+    ParentFont = False
     TabOrder = 3
     TabOrder = 3
+    Gutter.Width = 57
+    Gutter.MouseActions = <>
+    RightGutter.Width = 0
+    RightGutter.MouseActions = <>
+    Highlighter = SynPasSyn1
+    Keystrokes = <    
+      item
+        Command = ecUp
+        ShortCut = 38
+      end    
+      item
+        Command = ecSelUp
+        ShortCut = 8230
+      end    
+      item
+        Command = ecScrollUp
+        ShortCut = 16422
+      end    
+      item
+        Command = ecDown
+        ShortCut = 40
+      end    
+      item
+        Command = ecSelDown
+        ShortCut = 8232
+      end    
+      item
+        Command = ecScrollDown
+        ShortCut = 16424
+      end    
+      item
+        Command = ecLeft
+        ShortCut = 37
+      end    
+      item
+        Command = ecSelLeft
+        ShortCut = 8229
+      end    
+      item
+        Command = ecWordLeft
+        ShortCut = 16421
+      end    
+      item
+        Command = ecSelWordLeft
+        ShortCut = 24613
+      end    
+      item
+        Command = ecRight
+        ShortCut = 39
+      end    
+      item
+        Command = ecSelRight
+        ShortCut = 8231
+      end    
+      item
+        Command = ecWordRight
+        ShortCut = 16423
+      end    
+      item
+        Command = ecSelWordRight
+        ShortCut = 24615
+      end    
+      item
+        Command = ecPageDown
+        ShortCut = 34
+      end    
+      item
+        Command = ecSelPageDown
+        ShortCut = 8226
+      end    
+      item
+        Command = ecPageBottom
+        ShortCut = 16418
+      end    
+      item
+        Command = ecSelPageBottom
+        ShortCut = 24610
+      end    
+      item
+        Command = ecPageUp
+        ShortCut = 33
+      end    
+      item
+        Command = ecSelPageUp
+        ShortCut = 8225
+      end    
+      item
+        Command = ecPageTop
+        ShortCut = 16417
+      end    
+      item
+        Command = ecSelPageTop
+        ShortCut = 24609
+      end    
+      item
+        Command = ecLineStart
+        ShortCut = 36
+      end    
+      item
+        Command = ecSelLineStart
+        ShortCut = 8228
+      end    
+      item
+        Command = ecEditorTop
+        ShortCut = 16420
+      end    
+      item
+        Command = ecSelEditorTop
+        ShortCut = 24612
+      end    
+      item
+        Command = ecLineEnd
+        ShortCut = 35
+      end    
+      item
+        Command = ecSelLineEnd
+        ShortCut = 8227
+      end    
+      item
+        Command = ecEditorBottom
+        ShortCut = 16419
+      end    
+      item
+        Command = ecSelEditorBottom
+        ShortCut = 24611
+      end    
+      item
+        Command = ecToggleMode
+        ShortCut = 45
+      end    
+      item
+        Command = ecCopy
+        ShortCut = 16429
+      end    
+      item
+        Command = ecPaste
+        ShortCut = 8237
+      end    
+      item
+        Command = ecDeleteChar
+        ShortCut = 46
+      end    
+      item
+        Command = ecCut
+        ShortCut = 8238
+      end    
+      item
+        Command = ecDeleteLastChar
+        ShortCut = 8
+      end    
+      item
+        Command = ecDeleteLastChar
+        ShortCut = 8200
+      end    
+      item
+        Command = ecDeleteLastWord
+        ShortCut = 16392
+      end    
+      item
+        Command = ecUndo
+        ShortCut = 32776
+      end    
+      item
+        Command = ecRedo
+        ShortCut = 40968
+      end    
+      item
+        Command = ecLineBreak
+        ShortCut = 13
+      end    
+      item
+        Command = ecSelectAll
+        ShortCut = 16449
+      end    
+      item
+        Command = ecCopy
+        ShortCut = 16451
+      end    
+      item
+        Command = ecBlockIndent
+        ShortCut = 24649
+      end    
+      item
+        Command = ecLineBreak
+        ShortCut = 16461
+      end    
+      item
+        Command = ecInsertLine
+        ShortCut = 16462
+      end    
+      item
+        Command = ecDeleteWord
+        ShortCut = 16468
+      end    
+      item
+        Command = ecBlockUnindent
+        ShortCut = 24661
+      end    
+      item
+        Command = ecPaste
+        ShortCut = 16470
+      end    
+      item
+        Command = ecCut
+        ShortCut = 16472
+      end    
+      item
+        Command = ecDeleteLine
+        ShortCut = 16473
+      end    
+      item
+        Command = ecDeleteEOL
+        ShortCut = 24665
+      end    
+      item
+        Command = ecUndo
+        ShortCut = 16474
+      end    
+      item
+        Command = ecRedo
+        ShortCut = 24666
+      end    
+      item
+        Command = ecGotoMarker0
+        ShortCut = 16432
+      end    
+      item
+        Command = ecGotoMarker1
+        ShortCut = 16433
+      end    
+      item
+        Command = ecGotoMarker2
+        ShortCut = 16434
+      end    
+      item
+        Command = ecGotoMarker3
+        ShortCut = 16435
+      end    
+      item
+        Command = ecGotoMarker4
+        ShortCut = 16436
+      end    
+      item
+        Command = ecGotoMarker5
+        ShortCut = 16437
+      end    
+      item
+        Command = ecGotoMarker6
+        ShortCut = 16438
+      end    
+      item
+        Command = ecGotoMarker7
+        ShortCut = 16439
+      end    
+      item
+        Command = ecGotoMarker8
+        ShortCut = 16440
+      end    
+      item
+        Command = ecGotoMarker9
+        ShortCut = 16441
+      end    
+      item
+        Command = ecSetMarker0
+        ShortCut = 24624
+      end    
+      item
+        Command = ecSetMarker1
+        ShortCut = 24625
+      end    
+      item
+        Command = ecSetMarker2
+        ShortCut = 24626
+      end    
+      item
+        Command = ecSetMarker3
+        ShortCut = 24627
+      end    
+      item
+        Command = ecSetMarker4
+        ShortCut = 24628
+      end    
+      item
+        Command = ecSetMarker5
+        ShortCut = 24629
+      end    
+      item
+        Command = ecSetMarker6
+        ShortCut = 24630
+      end    
+      item
+        Command = ecSetMarker7
+        ShortCut = 24631
+      end    
+      item
+        Command = ecSetMarker8
+        ShortCut = 24632
+      end    
+      item
+        Command = ecSetMarker9
+        ShortCut = 24633
+      end    
+      item
+        Command = EcFoldLevel1
+        ShortCut = 41009
+      end    
+      item
+        Command = EcFoldLevel2
+        ShortCut = 41010
+      end    
+      item
+        Command = EcFoldLevel1
+        ShortCut = 41011
+      end    
+      item
+        Command = EcFoldLevel1
+        ShortCut = 41012
+      end    
+      item
+        Command = EcFoldLevel1
+        ShortCut = 41013
+      end    
+      item
+        Command = EcFoldLevel6
+        ShortCut = 41014
+      end    
+      item
+        Command = EcFoldLevel7
+        ShortCut = 41015
+      end    
+      item
+        Command = EcFoldLevel8
+        ShortCut = 41016
+      end    
+      item
+        Command = EcFoldLevel9
+        ShortCut = 41017
+      end    
+      item
+        Command = EcFoldLevel0
+        ShortCut = 41008
+      end    
+      item
+        Command = EcFoldCurrent
+        ShortCut = 41005
+      end    
+      item
+        Command = EcUnFoldCurrent
+        ShortCut = 41003
+      end    
+      item
+        Command = EcToggleMarkupWord
+        ShortCut = 32845
+      end    
+      item
+        Command = ecNormalSelect
+        ShortCut = 24654
+      end    
+      item
+        Command = ecColumnSelect
+        ShortCut = 24643
+      end    
+      item
+        Command = ecLineSelect
+        ShortCut = 24652
+      end    
+      item
+        Command = ecTab
+        ShortCut = 9
+      end    
+      item
+        Command = ecShiftTab
+        ShortCut = 8201
+      end    
+      item
+        Command = ecMatchBracket
+        ShortCut = 24642
+      end    
+      item
+        Command = ecColSelUp
+        ShortCut = 40998
+      end    
+      item
+        Command = ecColSelDown
+        ShortCut = 41000
+      end    
+      item
+        Command = ecColSelLeft
+        ShortCut = 40997
+      end    
+      item
+        Command = ecColSelRight
+        ShortCut = 40999
+      end    
+      item
+        Command = ecColSelPageDown
+        ShortCut = 40994
+      end    
+      item
+        Command = ecColSelPageBottom
+        ShortCut = 57378
+      end    
+      item
+        Command = ecColSelPageUp
+        ShortCut = 40993
+      end    
+      item
+        Command = ecColSelPageTop
+        ShortCut = 57377
+      end    
+      item
+        Command = ecColSelLineStart
+        ShortCut = 40996
+      end    
+      item
+        Command = ecColSelLineEnd
+        ShortCut = 40995
+      end    
+      item
+        Command = ecColSelEditorTop
+        ShortCut = 57380
+      end    
+      item
+        Command = ecColSelEditorBottom
+        ShortCut = 57379
+      end>
+    MouseActions = <>
+    MouseTextActions = <>
+    MouseSelActions = <>
+    Lines.Strings = (
+      'Program Test_BGRAPascalScript;'
+      ''
+      'var'
+      '  c: TBGRAColor;'
+      '  i: integer;'
+      ''
+      'begin'
+      '  bgra_CreateWithSize(0, 256,1);'
+      '  c := rgb(255,255,0); //yellow'
+      '  for i := 0 to 255 do'
+      '  begin'
+      '    bgra_SetPixel(0, i,0, c);'
+      '    c := setGreen(c, getGreen(c)-1);'
+      '  end;'
+      'end.'
+    )
+    VisibleSpecialChars = [vscSpace, vscTabAtLast]
+    SelectedColor.FrameEdges = sfeAround
+    SelectedColor.BackPriority = 50
+    SelectedColor.ForePriority = 50
+    SelectedColor.FramePriority = 50
+    SelectedColor.BoldPriority = 50
+    SelectedColor.ItalicPriority = 50
+    SelectedColor.UnderlinePriority = 50
+    SelectedColor.StrikeOutPriority = 50
+    IncrementColor.FrameEdges = sfeAround
+    HighlightAllColor.FrameEdges = sfeAround
+    BracketHighlightStyle = sbhsBoth
+    BracketMatchColor.Background = clNone
+    BracketMatchColor.Foreground = clNone
+    BracketMatchColor.FrameEdges = sfeAround
+    BracketMatchColor.Style = [fsBold]
+    FoldedCodeColor.Background = clNone
+    FoldedCodeColor.Foreground = clGray
+    FoldedCodeColor.FrameColor = clGray
+    FoldedCodeColor.FrameEdges = sfeAround
+    MouseLinkColor.Background = clNone
+    MouseLinkColor.Foreground = clBlue
+    MouseLinkColor.FrameEdges = sfeAround
+    LineHighlightColor.Background = clNone
+    LineHighlightColor.Foreground = clNone
+    LineHighlightColor.FrameEdges = sfeAround
+    inline SynLeftGutterPartList1: TSynGutterPartList
+      object SynGutterMarks1: TSynGutterMarks
+        Width = 24
+        MouseActions = <>
+      end
+      object SynGutterLineNumber1: TSynGutterLineNumber
+        Width = 17
+        MouseActions = <>
+        MarkupInfo.Background = clBtnFace
+        MarkupInfo.Foreground = clNone
+        MarkupInfo.FrameEdges = sfeAround
+        DigitCount = 2
+        ShowOnlyLineNumbersMultiplesOf = 1
+        ZeroStart = False
+        LeadingZeros = False
+      end
+      object SynGutterChanges1: TSynGutterChanges
+        Width = 4
+        MouseActions = <>
+        ModifiedColor = 59900
+        SavedColor = clGreen
+      end
+      object SynGutterSeparator1: TSynGutterSeparator
+        Width = 2
+        MouseActions = <>
+        MarkupInfo.Background = clWhite
+        MarkupInfo.Foreground = clGray
+        MarkupInfo.FrameEdges = sfeAround
+      end
+      object SynGutterCodeFolding1: TSynGutterCodeFolding
+        MouseActions = <>
+        MarkupInfo.Background = clNone
+        MarkupInfo.Foreground = clGray
+        MarkupInfo.FrameEdges = sfeAround
+        MouseActionsExpanded = <>
+        MouseActionsCollapsed = <>
+      end
+    end
   end
   end
   object PSScript1: TPSScript
   object PSScript1: TPSScript
     CompilerOptions = []
     CompilerOptions = []
@@ -75,4 +576,25 @@ object Form1: TForm1
     left = 136
     left = 136
     top = 96
     top = 96
   end
   end
+  object SynPasSyn1: TSynPasSyn
+    Enabled = False
+    AsmAttri.FrameEdges = sfeAround
+    CommentAttri.Foreground = clBlue
+    CommentAttri.FrameEdges = sfeAround
+    IDEDirectiveAttri.FrameEdges = sfeAround
+    IdentifierAttri.FrameEdges = sfeAround
+    KeyAttri.FrameEdges = sfeAround
+    NumberAttri.FrameEdges = sfeAround
+    SpaceAttri.FrameEdges = sfeAround
+    StringAttri.Foreground = clBlue
+    StringAttri.FrameEdges = sfeAround
+    SymbolAttri.Foreground = clRed
+    SymbolAttri.FrameEdges = sfeAround
+    CaseLabelAttri.FrameEdges = sfeAround
+    DirectiveAttri.FrameEdges = sfeAround
+    CompilerMode = pcmDelphi
+    NestedComments = False
+    left = 374
+    top = 145
+  end
 end
 end

+ 6 - 6
test/test_bgrapascalscript/umain.pas

@@ -5,10 +5,9 @@ unit umain;
 interface
 interface
 
 
 uses
 uses
-  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  BGRAPascalScript, uPSI_BGRAPascalScript, BGRAVirtualScreen, uPSComponent,
-  BGRABitmap, BCTypes,
-  BGRABitmapTypes;
+  Classes, SysUtils, FileUtil, SynEdit, SynHighlighterPas, Forms, Controls,
+  Graphics, Dialogs, StdCtrls, BGRAPascalScript, uPSI_BGRAPascalScript,
+  BGRAVirtualScreen, uPSComponent, BGRABitmap, BCTypes, BGRABitmapTypes;
 
 
 type
 type
 
 
@@ -18,9 +17,10 @@ type
     BGRAVirtualScreen1: TBGRAVirtualScreen;
     BGRAVirtualScreen1: TBGRAVirtualScreen;
     Button1: TButton;
     Button1: TButton;
     Button2: TButton;
     Button2: TButton;
-    Memo1: TMemo;
+    SynEdit1: TSynEdit;
     PSImport_BGRAPascalScript1: TPSImport_BGRAPascalScript;
     PSImport_BGRAPascalScript1: TPSImport_BGRAPascalScript;
     PSScript1: TPSScript;
     PSScript1: TPSScript;
+    SynPasSyn1: TSynPasSyn;
     procedure BGRAVirtualScreen1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
     procedure BGRAVirtualScreen1Redraw(Sender: TObject; Bitmap: TBGRABitmap);
     procedure Button1Click(Sender: TObject);
     procedure Button1Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
@@ -44,7 +44,7 @@ var
   i: Integer;
   i: Integer;
   s: String;
   s: String;
 begin
 begin
-  PSScript1.Script := Memo1.Lines;
+  PSScript1.Script := SynEdit1.Lines;
   if PSScript1.Compile then
   if PSScript1.Compile then
   begin
   begin
     PSScript1.Execute;
     PSScript1.Execute;