Я пытаюсь написать простой подсветчик (который добавляет подсветку определенного типа переменной в pas-файл)
Я использовал код в http://www.delphi -central.com / syntax_highlighting.aspx
Проблема в том, что процедура Tokenize никогда не вызывается.Он регистрируется в процедуре Register:
RegisterPackageWizard(TSimpleHighlight.Create);
или, в качестве альтернативы, в конструкторе:
(BorlandIDEServices As IOTAHighlightServices).AddHighlighter(TSimpleHighlight.Create);
, и GetName вызывается при запуске меню Tools.Options
фрагмент кода:
TSimpleHighlight = class(TNotifierObject, IUnknown, IOTANotifier, IOTAHighlighter, IOTAWizard)
public
function GetIDString: string;
function GetName: string;
procedure Tokenize(StartClass: TOTALineClass; LineBuf: POTAEdChar;
LineBufLen: TOTALineSize; HighlightCodes: POTASyntaxCode);
function TokenizeLineClass(StartClass: TOTALineClass;
LineBuf: POTAEdChar; LineBufLen: TOTALineSize): TOTALineClass;
function GetState: TWizardState;
procedure Execute;
constructor Create;
end;
procedure Register;
begin
RegisterPackageWizard(TSimpleHighlight.Create);
end;
constructor TSimpleHighlight.Create;
begin
inherited;
(BorlandIDEServices as IOTAHighlightServices).AddHighlighter(Self);
end;
В учебнике упоминается "Используя OTA, вы можете создавать маркеры для новых типов исходных файлов".поэтому я должен как-то зарегистрировать это для pas-файлов, или я что-то упустил?