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