Thanks Phil for your response.<br>So you are saying subclass should work. It was not working because of missing space? I did that but still it is not working. I mean even after doing the changes suggested by you cpp lexer is not considering these strings as keywords.<br>
Also I try to put a breakpoint to see if "keywords" function created by me is getting called or not. It is not getting called. I have not clue who is suppose to make the call and why it is not calling. <br><br>Please let me know if I am missing something here.<br>
<br><br><br> <br><br><div class="gmail_quote">On Thu, Feb 23, 2012 at 12:11 PM, Phil Thompson <span dir="ltr"><<a href="mailto:phil@riverbankcomputing.com">phil@riverbankcomputing.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Wed, 22 Feb 2012 12:04:56 +0530, Sarbojit Sarkar<br>
<<a href="mailto:sarkar.iitr@gmail.com">sarkar.iitr@gmail.com</a>><br>
wrote:<br>
<div><div class="h5">> Hi,<br>
>   I have started playing with QScintilla few days back and I am quite<br>
happy<br>
> to see broad range of already existing lexers. Now I have a requirement<br>
> where I am planning to add few keywords into existing lexer. By googling<br>
it<br>
> seems that I have to create a subclass and need to redefine "const char*<br>
> keywords(int set) const" function. I did that but did not observer any<br>
> change. Here is my code,<br>
><br>
> class myLex : public QsciLexerCPP<br>
> {<br>
> public:<br>
>     const char* keywords(int set) const;<br>
> };<br>
><br>
> const char* myLex::keywords(int set) const<br>
> {<br>
>     if (set == 1)<br>
>         return<br>
>             "and and_eq asm auto bitand bitor bool break case "<br>
>             "catch char class compl const const_cast continue "<br>
>             "default delete do double dynamic_cast else enum "<br>
>             "explicit export extern false float for friend goto if "<br>
>             "inline int long mutable namespace new not not_eq "<br>
>             "operator or or_eq private protected public register "<br>
>             "reinterpret_cast return short signed sizeof static "<br>
>             "static_cast struct switch template this throw true "<br>
>             "try typedef typeid typename union unsigned using "<br>
>             "virtual void volatile wchar_t while xor xor_eq"<br>
</div></div>>             "mov";* // my new keyword*<br>
<br>
You are missing a space - you've replaced "xor_eq" with "xor_eqmov".<br>
<div class="im"><br>
>     if (set == 3)<br>
>         return<br>
>             "a addindex addtogroup anchor arg attention author b "<br>
>             "brief bug c class code date def defgroup deprecated "<br>
>             "dontinclude e em endcode endhtmlonly endif "<br>
>             "endlatexonly endlink endverbatim enum example "<br>
>             "exception f$ f[ f] file fn hideinitializer "<br>
>             "htmlinclude htmlonly if image include ingroup "<br>
>             "internal invariant interface latexonly li line link "<br>
>             "mainpage name namespace nosubgrouping note overload "<br>
>             "p page par param post pre ref relates remarks return "<br>
>             "retval sa section see showinitializer since skip "<br>
>             "skipline struct subsection test throw todo typedef "<br>
>             "union until var verbatim verbinclude version warning "<br>
>             "weakgroup $ @ \\ & < > # { }";<br>
><br>
>     if (set == 16)<br>
</div>>         return "mdef mend"; *// my new keywords*<br>
>     return 0;<br>
> }<br>
<br>
The lexer only supports sets 1 to 4. I've updated the docs to reflect<br>
this.<br>
<div class="im"><br>
> Please let me know in case I have missed something.<br>
><br>
> Also I wanted to play with existing colour scheme that lexer is<br>
following.<br>
> wondering if it is possible.<br>
<br>
</div>Reimplement defaultPaper(), defaultColor() etc in your sub-class, or just<br>
call setPaper(), setColor().<br>
<div class="HOEnZb"><div class="h5"><br>
> Any help, link or suggestion will help a lot.<br>
><br>
> thanks<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">Phil<br>
</font></span></blockquote></div><br>