1

次の例では、2 行目の "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));
4

2 に答える 2

0

どうやら、要求された機能は現時点ではサポートされていないようです。

于 2012-03-07T15:39:39.457 に答える
0

GtkSourceView ではステートレスな強調表示しかできないと思います。おそらく、再帰的なコンテキストで何かできるでしょうか? コンテキストの 2 行目以降をすべてキャプチャしstruct、構造体名を強調表示して、メイン コンテキストを再帰的に呼び出します。ただし、これが機能するかどうかはわかりません。

于 2012-03-07T09:08:16.220 に答える