ぽんぽこ日記

プログラミング、読書、日々の生活

Swift言語用Emacs自動補完機能を公開しました

以前、このブログではClangのコード補完機能を使ったEmacsの自動補完機能を紹介しました。

ponpoko1968.hatenablog.com

時は流れ、時代はSwiftです。

XcodeでSwiftを書く際、XcodeはXPCという仕組みを用いて、sourcekitdというデーモンと通信することで、コード補完などのプログラミング支援を行っています。

sourcekitdとの通信内容は非公開*1ですが、JP SimardさんというRealmの開発者の方が、sourcekitdをリバースエンジニアリングして一部プロトコルの解明を行い、sourcekittenというCLIを開発されました。

このソフトを使うことで、Xcode以外のソフトウェアからもsourcekitdの機能を使うことが出来るようになりました。

github.com

Emacsでこの機能を使えるように、sourcekittenの出力をauto-completeの情報源として使えるよう、elispを書いてみました。

github.com

スクリーンショットはこんな感じ。

f:id:ponpoko1968:20151109183436p:plain

ちなみに、Vimmerの方には、すでにこういうのがあるようですよ。

github.com

[asin:B016ZCZN1C:detail]

*1:2015年12月8日:Swiftのオープンソース化に合わせ、Sourcekitも公開されました