例として、次の行を含む perl スクリプトがあります。
print "my newvar = $newvar";
VIM 構文の強調表示は、二重引用符内の $var が補間された変数であることを理解し、別の色でマークしますが、Geany エディターでは、二重引用符内のテキストと変数はコメント テキストと見なされます。vimと同じように設定できますか?
私の知る限り、問題の原因は 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 ;
*
*
解決策は、その時点で新しいレクサーを変更または追加することです。しかし、コメントで言及された更新以来、今はその必要はありません。