7

ia Writer のフォーカス モードに触発されて、emacs でフォント + 背景色を使用して、カーソルがある関数を強調し、残りのコードを背景として視覚的に合図することに興味があります (私は C++ を使用しますが、これがあればいいと思います)。プログラミング言語に関係なく機能しました)。

理想的には、関数の外側のコードのフォントの色は淡色表示になります (これがフォーカス モードのしくみです)。より簡単な解決策は、現在カーソルがある機能の背景色を少し変更することです。これはどのように行うことができますか?

4

2 に答える 2

2

このようなものはAFAIKには存在しません。自分で書きたい場合は、スケッチを次に示します。

  1. 現在の関数の境界を決定するルーチンを作成します。これを行う最も簡単な方法は、を使用することです(bounds-of-thing-at-point 'defun)

  2. 領域の境界が与えられると、領域の領域の背景面プロパティを取得し、それを暗くして、新しい面を領域に適用するルーチンを記述します。

  3. この変数の元の値を呼び出すルーチンでオーバーライドしfont-lock-fontify-region-functionここを参照)、現在のdefunの領域で指定された領域を(#1を使用して)区別し、ルーチン#2を残りの領域に適用します。

jit-lock-registerフォント化の順序を制御する必要があるため、たとえば、を使用するよりもフォントロックをオーバーライドすることをお勧めします。

HTH!

于 2012-07-19T21:46:53.963 に答える
1

which-function モードは、現在の関数を強調表示するために使用されます。それがあなたに役立つかどうか試してみて、この投稿があなたに役立つかどうかを確認してください:

Emacs 設定 which-function-mode

于 2012-07-19T22:13:18.277 に答える