Подсветка синтаксиса Gedit с помощью gtksourceview для обратных ссылок на шаблоны? - PullRequest
1 голос
/ 07 марта 2012

Следующее выделит «timeout» во второй строке, но не выделит его снова. Поддерживает ли gtksourceview какую-либо обратную ссылку на «подшаблон», который будет соответствовать всем экземплярам по всему файлу?

Руководство сайта gtksourceview

/ USR / доли / gtksourceview-2,0 / языка-функции / 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 ]

0 голосов
/ 07 марта 2012
0 голосов
/ 07 марта 2012

Я думаю, что вы можете делать подсветку без сохранения состояния только в GtkSourceView.Возможно, вы можете сделать что-то с рекурсивным контекстом?Захватите все после второй строки в вашем struct контексте, затем выделите ваше имя структуры и рекурсивно вызовите основной контекст.Я не уверен, что это сработает.

...