問題タブ [cperl-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
115 参照

perl - ISO Emacs [C]Perl モードで、ハッシュのようにハッシュ参照を色付けする

私はまだ Perl と新しいコードを使用し、古いコードを維持しています。私は emacs と cperl-mode を使用しています。シンタックスカラーリングが好きです。

最初 (何年も前)、私は cperl-mode の配列とハッシュの特別な色付けが嫌いでしたが、だんだん気に入ってきました。特別なカラーリングを取得するためだけに、ハッシュ参照ではなくハッシュを使用することを好む場合があります。それはそれほど悪くはないように聞こえるかもしれませんが、オブジェクト メンバー $hashref->{key} ではなく、グローバルな %hash または $hash{key} を時々使用することを認めるとすれば、それは悪いことです。つまり、構文の色付けによって、プログラミングの悪い慣習に従いたくなるのです。

それで、私の質問は: $hash{key} と同じまたは類似の $hashref->{key} のようなハッシュ参照を色付けするための cperl-mode または perl-mode を取得するための emacs/elisp 構成コードを持っている人はいますか?

色付けされる可能性のある場所を太字で示しましょう。

  • cperl-mode は現在: $hash {key}
  • 私が望むもの: $hash-> {key}

私は emacs でカラーリング (面) を大幅にカスタマイズしました。たとえば、DEBUG コードと非デバッグ コード、TEST と非テスト コードを区別するためのカラーリングなどです。(フォローオン:以下の私自身の質問への回答に示されているように、最終的にfont-lock-add-keywordsが機能するようになりました。)

以下の例では、$hashref->{key} は色付けされていませんが、$hash{key} は色付けされています。

cperl モードの構文の色分けの例

同様に、配列参照、およびおそらく他の参照についても同様です。

参照の色付けは、$hashref->{key} などの deref にのみ適用され、$hashref1 = $hashref2 などの他のものには適用されないことを認識しています。私はそれで生きていけると思います。