1

例として、次の行を含む perl スクリプトがあります。

print "my newvar = $newvar";

VIM 構文の強調表示は、二重引用符内の $var が補間された変数であることを理解し、別の色でマークしますが、Geany エディターでは、二重引用符内のテキストと変数はコメント テキストと見なされます。vimと同じように設定できますか?

4

1 に答える 1

1

私の知る限り、問題の原因は Scintilla の Perl Lexer でした。

そのため、その古いレクサーでは、スタイル コンテキストがデフォルト状態にあり、二重引用符が一致する場合、スタイル コンテキストは文字列状態に設定されます。一方、スタイルが文字列状態にある場合、二重引用符が一致すると、スタイルコンテキストは次のようになります。デフォルト状態に戻します。二重引用符の間に他のスタイル コンテキスト スイッチはありませんでした。

コード セグメントの例を挙げると、次のようになります。

for (; scCTX . More () ; scCTX . Forward ()) {
    switch ( scCTX . state ) {
    case SCE_SPARKS_DEFAULT :
       if ( scCTX . Match ( '\"' )) {
            scCTX . SetState ( SCE_SPARKS_STRING );
            break ;
         };
        *
        *
        *
    case SCE_SPARKS_STRING :
        if ( scCTX . Match ('\"')) {
            scCTX . ForwardSetState ( SCE_SPARKS_DEFAULT );
        };
        break ;
       *
       *

解決策は、その時点で新しいレクサーを変更または追加することです。しかし、コメントで言及された更新以来、今はその必要はありません。

于 2015-07-15T08:12:45.193 に答える