emacsでSwiftを書く
SwiftがOSSになったことで、いろんなところでSwiftを使えるようにこれからなっていくと思う。 そんなわけで、XcodeでだけじゃなくEmacsでもSwiftがかけると嬉しい。
メジャーモードは昔からある。
- chrisbarrett/swift-mode package.elで入るし、flycheck対応で本格的。Swift2.0の文法対応してない。
- swift/swift-mode.el at master · apple/swift · GitHub 公式のやつsyntax highlightだけ。Swift2.0の文法対応ずみ。
補完はどうやらRealmの中の人こと、jpsim氏のSourceKittenってツールによって実現できるらしい。 どうやら、XcodeをリバースエンジニアリングしてわかったXPCというプロトコルでsourcekitdと通信できるCLIらしい。
SourceKittenを使った補完のためのプラグインはすでにある。 auto-complete-mode, company-mode用はそれぞれあるが、前者はpackage.el対応してないし実際に試してみたけど通信が同期処理となっていて emacsが固まるしsourcekittenに与える引数が間違っているように見える。後者はcompany-modeを現在導入していないので試していないけど非同期に通信しているように見える。 copmany-modeのもダメだったらauto-complete-modeで動くやつを自分で書いてみたい。