Next: , Previous: , Up: Emacs and Gforth   [Contents][Index]


13.3 Hilighting

gforth.el には、カスタム・ソース・ハイライティング・エンジンが付属しています。 ファイルを forth-mode で開くと、 そのファイルは完全にパースされ、 キーワードやコメントや文字列などに face を割り当てます。 ファイルを編集している間、 変更されたリージョンはその場(on-the-fly)でパース・更新されます。

Emacs の変数 ‘forth-hilight-level’ を使用して、 装飾レベルを 0 (まったく強調表示なし) から 3 (デフォルト) に変更します。 強調表示レベルを 0 に設定した場合でも、 パーサーはバックグラウンドで動作し、 テキストの領域が「コンパイル」(compiled)されているか「解釈」(interpreted)されているかに関する情報を収集します。 これらの情報は、 自動インデントが適切に機能するために必要です。 コンピュータが遅すぎてパース処理できない場合は、 Emacs の変数 ‘forth-disable-parser’ を非 nil に設定します。 ただし、 これは自動インデント・エンジンのスマートさに影響します。

しばしば Forth のソース・コードでは、 強調表示する必要がある新しい機能として、 新しい制御構造や定義ワードなどが定義される場合があります。 変数 ‘forth-custom-words’ を使用して、 forth-mode で追加のワードや構造を強調表示させることができます。 詳細については、‘forth-words’ の docstring を参照してください(Emacs では、C-h v out-words と入力します)。

‘forth-custom-words’ は .emacs.d/init.el ファイル内でカスタマイズすることを目的としています。 ファイル固有の方法でハイライトをカスタマイズするには、 あなたのソース・ファイルの最後のEmacsローカル変数セクションで ‘forth-local-words’ を設定します(see Variables in Emacs Manual)。

Example:

0 [IF]
   Local Variables:
   forth-local-words:
      ((("t:") definition-starter (font-lock-keyword-face . 1)
        "[ \t\n]" t name (font-lock-function-name-face . 3))
       ((";t") definition-ender (font-lock-keyword-face . 1)))
   End:
[THEN]