ジェネリックモードは、コメント構文とFont
Lockモードを基本サポートするシンプルなメジャーモードです。ジェネリックモードを定義するには、マクロ define-generic-mode を使用します。define-generic-mode の使用例については、ファイル generic-x.el を参照してください。
このマクロは、mode(引用符なしのシンボル)という名前の汎用モードコマンドを定義します。オプション引数のdocstringは、モードコマンドのドキュメントです。これを指定しない場合、define-generic-modeがデフォルトでドキュメントを生成します。
引数 comment-list
は、各要素が文字、1文字または2文字の文字列、あるいはコンスセルのいずれかであるリストです。文字または文字列は、モードの構文テーブルにおいてコメント開始記号として設定されます。エントリがコンスセルの場合、CAR がコメント開始記号として、CDR
がコメント終了記号として設定されます。(コメントを行末で終了させたい場合は、後者に nil
を使用してください。)なお、構文テーブルの仕組みには、実際に使用可能なコメント開始記号および終了記号に制限があることに注意してください。構文テーブルを参照してください。
引数 keyword-list は、font-lock-keyword-face
でハイライトするキーワードのリストです。各キーワードは文字列である必要があります。一方、font-lock-list は追加でハイライトする式のリストです。このリストの各要素は、font-lock-keywords の要素と同じ形式である必要があります。検索ベースのフォント化を参照してください。
引数 auto-mode-list は、変数 auto-mode-alist
に追加する正規表現のリストです。これらは、マクロ呼び出しを展開するのではなく、define-generic-mode フォームの実行によって追加されます。
最後に、function-list
はモードコマンドが追加設定のために呼び出す関数のリストです。モードフック変数 mode-hook を実行する直前に、これらの関数を呼び出します。