Mozilla、Language Server Protocolを実装した「Rust Language Server」を発表

 MozillaのRust開発チームは10月19日、ソースコードの自動補完や定義参照などの機能をクライアント-サーバーアーキテクチャで提供する「Language Server Protocol」を初めて実装した「Rust Language Server」のコードを公開した。まだプレ・アルファの位置付けであり、ソースコードを定期的にバックアップするような環境での利用を推奨している。

 Rust Language Server(RLS)はRust開発チームが9月10日に米国で開催した「RustConf 2016」で披露したアイディア。その後正式なプロジェクトとなり、今回のコード公開となった。

 Mozillaが米Microsoft、米Red Hat、米Codenvyらと開発したjson-rpcプロトコルのLanguage Server Protocolを初めて実装した。Language Server Protocolは自動補完、定義参照などの機能を統合し、開発環境の相互運用性を図ることを目的としたサーバーとクライアント間の通信プロトコル。中核となるIDEの機能を任意のエディタで利用できるという。同プロトコルは現在、EclipseとVisual Studio Codeでサポートされている。

 コンパイラからのソースデータを利用するが、利用できないときはRustのコード補完ツール「Racer」のソースデータを利用する。エラー通知、goto def(定義参照)、名称変更、型やドキュメントへのリンクのホバー表示などの機能をサポートする。フロントエンド非依存なので、さまざまなエディタやIDEで利用できるという。

 Rustコンパイラはまだエンドツーエンドでのインクリメンタルコンパイルをサポートしていないが、コンパイラの利用を最適化してRacerにフォールバックするように設定することで、体験を改善できるという。

 開発チームは今後分析の高速化などに取り組み、アルファ版リリースに向けて作業を進めるとしている。

Rust Language Service
https://github.com/jonathandturner/rustls