Установить цвет подсветки основных функций lua в управлении сцинтиллами

Я использую контроль редактирования сцинтиллы в приложении на основе диалогового окна MFC.

Я загружаю scilexer.dll и устанавливаю лексер в lua, но единственное, что выделяется - это комментарии. Я также могу установить ключевые слова, и они будут выделены:

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

Тем не менее, я не могу понять, как включить подсветку, скажем, основные функции, такие как Луа print, setmetatable, так далее.

Я думал, что это будет автоматически, как подсветка комментариев. Может кто-то указать мне верное направление?

1 ответ

Нашел, это было довольно тривиально, конечно, просто нужно было посмотреть на функции сцинтиллы. Итак, если кто-то еще сталкивается с этим:

в вашем классе окна сцинтиллы инициализировать цвет с помощью SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237)); для второго списка ключевых слов.

Тогда в вашем диалоге сделайте m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "the words you want highlighted with the above specified color"));

SCE_LUA_WORD2 соответствует целочисленному значению 1 во втором выражении, поэтому, если вы хотите, чтобы третий набор ключевых слов выделялся по-другому, просто используйте SCE_LUA_WORD3 и целое значение 2 во втором утверждении!

Другие вопросы по тегам