File: unit1.pas

package info (click to toggle)
lazarus 2.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 214,460 kB
  • sloc: pascal: 1,862,622; xml: 265,709; cpp: 56,595; sh: 3,008; java: 609; makefile: 535; perl: 297; sql: 222; ansic: 137
file content (76 lines) | stat: -rw-r--r-- 1,554 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
unit Unit1;
(*

This is an example how to write a highlighter from scratch.

    See the units for each example highlighter.

This is NOT about extending the IDE. This is about SynEdit and it's Highlighter only.
Therefore this does not include:
- registration in the component pallette.
- Using the Object Inspector
Those steps are the same as they would be for any other self writen componont.

*)
{$mode objfpc}{$H+}

interface

uses
  SynEdit, Forms, StdCtrls, SimpleHl, ContextHL, FoldHl;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    SynEdit1: TSynEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FSynDemoHl: TSynDemoHl;
    FSynDemoHlContext: TSynDemoHlContext;
    FSynDemoHlFold: TSynDemoHlFold;
  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  FSynDemoHl := TSynDemoHl.Create(Self);
  FSynDemoHlContext := TSynDemoHlContext.Create(Self);
  FSynDemoHlFold := TSynDemoHlFold.Create(Self);
  SynEdit1.Highlighter := FSynDemoHl;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SynEdit1.Highlighter := FSynDemoHl;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SynEdit1.Highlighter := FSynDemoHlContext;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  SynEdit1.Highlighter := FSynDemoHlFold;
end;

end.