由于项目需要,得在QSciscintilla的底层源码中增加几组关键词分组。在网上找了很久,一般都是说利用重写keywords(int set)接口的方式来增加,但这种方法不适用于我的应用场景。因为这种方法只能增加有限个关键词,且都是直接写死的方式,而我需要根据规则来匹配。最后终于摸索出了一条切实可行的方法,具体如下。
1 在SciLexer.h和qscilexercpp.h中,增加相应的组定义,注意避开不能使用的组号;
2 根据需要屏蔽一些代码(因为我需要高亮的内容包含字母+数字组成的字符串,所以我这里就需要屏蔽原始代码中对数字相关的分组,否则我新增的分组就会不生效)
3 在下述接口中新增case