Semanticは、source code
parsersに基づいた言語認識型の編集コマンドを提供するパッケージです。本節ではSemanticについて簡潔に説明します。詳細については、SemanticのSemanticを参照してください。
Font Lockモード(Font Lockモードを参照)など、Emacsの言語認識機能の多くは、通常は良好な結果をもたらすものの、完全に正確とは言えない経験則19に基づいています。これに対し、Semanticが使用するパーサーは、プログラミング言語の構文を正確に理解しています。これにより、Semanticは強力かつ精密な検索、ナビゲーション、および補完コマンドを提供することが可能になります。
Semanticを使い始めるには、M-x semantic-modeと入力するか、Toolsメニューにある‘Source Code Parsers (Semantic)’というメニュー項目をクリックしてください。これにより、グローバルマイナーモードであるSemanticモードが有効になります。
Semanticモードが有効な場合、Emacsはアクセスする各ファイルを自動的に解析しようとします。現在、SemanticはC、C++、HTML、Java、Javascript、Make、Python、Scheme、SRecode、およびTexinfoに対応しています。解析された各バッファ内では、以下のコマンドが利用可能です。
現在のファイルで定義されている関数名のプロンプトを表示し、ポイントをそこに移動します (semantic-complete-jump-local)。
Emacsが解析した任意のファイルで定義されている関数名のプロンプトを表示し、ポイントをそこへ移動します (semantic-complete-jump)。
ポイント (semantic-complete-analyze-inline)
にあるシンボルの補完候補一覧を表示します。これにより、補完を選択するための一連の特殊キーバインドも有効になります。RET は現在の補完を確定し、M-n と M-p は補完候補を順に切り替え、TAB は可能な限り補完を行った後に順に切り替え、C-g またはその他のキーを押すと補完を中断します。
ポイントにあるシンボルの補完候補一覧を、別のウィンドウに表示します (semantic-analyze-possible-completions)。
上記のコマンドに加え、Semanticパッケージではパーサー情報を活用するためのさまざまな方法が提供されています。例えば、Emacsがアイドル状態のときに、補完候補の一覧を表示させることができます。詳細については、SemanticのSemanticを参照してください。