言語サーバー(onion-lsp)¶
Onion Language Server は .on ファイル向けの IDE 機能を提供します。
VSCode 拡張(vscode-onion/)や Language Server Protocol に対応した
他のエディタから利用できます。
サーバーの起動¶
サーバーは LSP を使って stdin/stdout で通信します。
サポートしている機能¶
| 機能 | 説明 |
|---|---|
| シンタックス診断 | 入力中にコンパイルエラーを表示 |
| ホバー | キーワード、組み込み型、ユーザー定義シンボルの情報を表示 |
| 定義へ移動 | ユーザー定義シンボルの定義位置へジャンプ |
| コード補完 | キーワード、組み込み機能、モジュール、ユーザー定義シンボル |
| ドキュメントシンボル | クラス、インターフェース、メソッド、enum、record、フィールドの概要表示 |
| ワークスペースシンボル | 開いているすべてのドキュメントからシンボルを検索 |
| シグネチャヘルプ | メソッド呼び出し入力中にシグネチャを表示 |
| シンボルのリネーム | カーソル位置のシンボルを現在のファイル内で一括リネーム |
シンボル対応¶
言語サーバーは開いているドキュメントから以下のシンボルをインデックス化します。
- クラス、インターフェース、enum、record
- メソッド(
def) - クラスレベルのフィールド(
val/var) - メソッド引数とローカル変数
シンボル情報は補完、ホバー、定義へ移動、ドキュメント/ワークスペースシンボル リクエストで利用されます。
VSCode 連携¶
vscode-onion 拡張をインストールしてください。.on ファイルを開くと自動的に
onion-lsp が起動し、エディタに接続されます。