سؤال

I use Scintilla component with DScintilla wrapper and get error with keyword highlighting in any lexer. Pascal, for example:

with DScintilla do 
begin
  SetLexer(SCLEX_PASCAL);
  StyleSetFore(SCE_PAS_WORD, clGreen);
  StyleSetFore(SCE_PAS_OPERATOR, clRed);;
  StyleSetFore(SCE_PAS_IDENTIFIER, clBlue);
  SetText('begin a+b; end');
end

This code correctly highlights identifiers and operators, but keywords have the same color as identifiers. It seems that SciLexer can't compare strings inside this library.

How to properly setup Scintilla keyword highlighting ?

هل كانت مفيدة؟

المحلول

Keywords must be added manually.

SetKeyWords(0,'begin end');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top