Можно ли назначить стили редактора маркерам API?

#zerobrane

Вопрос:

Если я определяю свой собственный API и хочу выделить значения, классы и методы своего API в редакторе. Как я могу это сделать? Можно ли назначить некоторые стили ключевых слов маркерам api?

Вот мой instead.lua в api папке ZBS:

 return {
  instead = {
    type = "lib",
    description = "Библиотека INSTEAD",
    childs = {
      tiny = {
        type = "value",
        description = "Флаг «минималистичного INSTEAD», без графики и множества других возможностей."
      }
    }
  },
}
 

А это какой-то фрагмент кода:

 if not instead.tiny then 
  require "autotheme"
end  
 

Поэтому я хочу instead , tiny чтобы и в моем коде было выделено.

Комментарии:

1. Да, можно выделить определенные значения и маркеры api, но это зависит от их формата. У вас есть пример кода, который вы хотите выделить?

2. Я добавил примеры в исходный текст вопроса.

Ответ №1:

Вы можете использовать подсветку ключевых слов, но, хотя она работает для «вместо» и «крошечный», ее также необходимо будет установить для «вместо.крошечный», что не идеально (это похоже на ограничение в версии компонента редактора Scintilla, используемого IDE); см. Этот билет для соответствующего обсуждения и объяснения. Вы также можете проверить предлагаемый плагин свойств выделения, который делает что-то подобное (хотя и для всех свойств).

Комментарии:

1. Я просто подумал, что ключевые слова могут быть получены автоматически из определений api. Но этот метод тоже в порядке вещей. Хотя для его реализации потребуется больше усилий.