Pergunta

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 ?

Foi útil?

Solução

Keywords must be added manually.

SetKeyWords(0,'begin end');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top