|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
SynEdit подсветка синтаксиса
Всем привет. Решил познакомиться с компонентом SynEdit и поэтому полез в демки, а именно HighlighterDemo.
В этом демо представлен компонент (TSynCustomHighlighter) с собственной подсветкой слов 'hello', 'synEdit' и 'world': Код:
TSynSampleSyn = class(TSynCustomHighlighter) private fRange: TRangeState; fTokenID: TtkTokenKind; fIdentFuncTable: array[0..3] of TIdentFuncTableFunc; ... KeyWords: array[0..3] of UnicodeString = ( 'hello', 'synedit', 'world', 'highlighter' ); KeyIndices: array[0..3] of Integer = ( 0, 2, 1, 3 ); procedure TSynSampleSyn.InitIdent; var i: Integer; begin for i := Low(fIdentFuncTable) to High(fIdentFuncTable) do if KeyIndices[i] = -1 then fIdentFuncTable[i] := AltFunc; fIdentFuncTable[0] := FuncHello; fIdentFuncTable[2] := FuncWorld; fIdentFuncTable[1] := FuncSynedit; fIdentFuncTable[3] := FuncHightLight; ... function TSynSampleSyn.FuncHightLight(Index: Integer): TtkTokenKind; begin if IsCurrentToken(KeyWords[Index]) then Result := tkKey else Result := tkIdentifier; end; Но вот заставить, чтобы подсвечивалось ещё и 'highlighter', никак не выходит ... |