Подсветка синтаксиса Gedit с помощью gtksourceview для обратных ссылок на шаблоны?
Следующее выделит "timeout" во второй строке, но не выделит его снова. Поддерживает ли gtksourceview какую-то обратную ссылку на "подшаблон", который будет соответствовать всем экземплярам файла?
Руководство сайта gtksourceview
/usr/share/gtksourceview-2.0/language-specs/c.lang
<context id="struct" style-ref="struct">
<match>\bstruct\b\s\w+\s(\w+)</match>
<include>
<context sub-pattern="1" style-ref="structname"/>
</include>
</context>
int ns;
struct timeval timeout;
timeout.tv_sec = 1;
timeout.tv_usec = 0;
setsockopt(ns, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
setsockopt(ns, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
2 ответа
Решение
Судя по всему, запрошенная функциональность на данный момент не поддерживается.
Я думаю, что вы можете делать подсветку без сохранения состояния только в GtkSourceView. Возможно, вы можете сделать что-то с рекурсивным контекстом? Захватите все после второй строки в вашем struct
context, затем выделите ваше имя структуры и рекурсивно вызовите основной контекст. Я не уверен, будет ли это работать, хотя.