在Scintilla控件中设置Lua基本函数的高亮颜色。

我在基于 MFC 对话框应用程序中使用 Scintilla 编辑控件。

我加载了 scilexer.dll,并将词法分析器设置为 lua,但是只有注释被高亮显示。我也可以设置关键字,它们会被高亮显示:

mySciCtrl.SendMessage(SCI_SETKEYWORDS, 0, "for while end function")

然而,我不知道如何启用诸如 printsetmetatable 等 lua 基本函数的高亮显示。

我认为这应该与注释的高亮显示一样自动进行。有人能指点我一下吗?

原文链接 https://stackoverflow.com/questions/11092843

点赞
stackoverflow用户1452276
stackoverflow用户1452276

找到了,当然很简单,只需要查看 scintilla 函数即可。因此,如果其他人也遇到这个问题:

在你的 scintilla 窗口类中初始化颜色,使用SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237));来设置第二个关键词列表的颜色。

然后,在你的对话框中使用m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "要用上述指定颜色突出显示的单词"));

SCE_LUA_WORD2 在第二个语句中对应整数值 1,如果你想用不同的颜色突出显示第三个关键词集,只需使用SCE_LUA_WORD3和整数值 2 在第二个语句中即可!

2012-06-19 14:39:26