Next: , Previous: , Up: Major Modes   [Contents][Index]


22.2.8 Generic Modes

genericモード (generic mode:汎用モード))とは、コメント構文にたいする基本的なサポートとFont Lockモードをもつ、シンプルなメジャーモードです。genericモードを定義するには、マクロdefine-generic-modeを使用します。define-generic-modeの使い方の例は、ファイルgeneric-x.elを参照してください。

Macro: define-generic-mode mode comment-list keyword-list font-lock-list auto-mode-list function-list &optional docstring

このマクロは、mode(クォートされていないシンボル)という名前のgenericモードコマンドを定義する。オプション引数docstringは、そのモードコマンドにたいするドキュメント文字列である。これを与えない場合は、define-generic-modeがデフォルトのドキュメント文字列を生成する。

引数comment-listは、要素が文字、2文字以下の文字列、またはコンスセルである。文字か文字列の場合には、そのモードの構文テーブル内で“コメント開始識別子”としてセットアップされる。エントリーがコンスセルの場合、CARは“コメント開始識別子”、CDRは“コメント終了識別子”としてセットアップされる(行末によりコメントを終端させたい場合は、後者にnilを使用する)。構文テーブルのメカニズムには、実際にコメントの開始および終了識別子に関する制限があることに注意されたい。 Syntax Tablesを参照のこと。

引数keyword-listは、font-lock-keyword-faceでハイライトするキーワードのリストである。キーワードは文字列であること。一方、font-lock-listはハイライトするための追加の式リストである。このリストの各要素は、font-lock-keywordsの要素と同じ形式をもつべきである。Search-based Fontificationを参照のこと。

引数auto-mode-listは、変数auto-mode-alistに追加する正規表現のリストである。これらの式は、マクロ呼び出しの展開時ではなく、define-generic-modeの実行時に追加される。

最後にfunction-listは、追加セットアップのためにモードコマンドに呼び出される関数のリストである。これらの関数は、モードフック変数mode-hookの実行の直前に呼び出される。