emacsのswift-modeパッケージの使い方

Swiftのコーディングの為に、emacsのswift-modeパッケージとquickrunパッケージをインストールしました。


1 swift-modeパッケージとは

emacs上でSwiftのコードをハイライト表示するemacsパッケージです。

flycheckもサポートしており、動的なコーディングチェックも実行できます。

Swiftのシェルを起動してから、バッファの内容を実行する機能もサポートしてます。

シェルを起動せずに、swiftコマンドにそのままバッファの内容を渡すにはquickrunパッケージで可能になります。

2 swift-modeパッケージとquickrunパッケージのインストール方法

M-x package-list-packagesでインストールします。

MELPAにあるので、.emacsに以下を追加します。

(require 'package)
(add-to-list 'package-archives
             '("melpa-stable" .
               "http://melpa-stable.milkbox.net/packages/"))
(package-initialize)

swift-modeパッケージのバージョンは0.3.0でした。

swift-mode         0.3.0        installed  Major-mode for Apple's Swift programming language.

quickrunパッケージのバージョンは2.2.5でした。

quickrun           2.2.5        installed  Run commands quickly

3 .emacs

カスタム変数とデフォルト値は以下の通りです。

 

swift-indent-offset 4
swift-indent-switch-case-offset 0
swift-indent-multiline-statement-offset 2
swift-repl-executable "xcrun swift"

 

swift-repl-executableはswiftのシェルを起動するコマンドです。カスタム変数を変更する場合は.emacsで以下を設定します。

(custom-set-variables
 '(swift-indent-offset 2)
 '(swift-indent-multiline-statement-offset 1)
)

swift-modeでのquickrunのキーバインディングを追加します。

(add-hook 'swift-mode-hook
  '(lambda()
    (local-set-key "\C-c\C-c" 'quickrun)
    (local-set-key "\C-c\C-a" 'quickrun-with-arg)
  )
)

3.1 flycheck用の設定

M-x package-list-packages経由でflycheckをインストールします。

flycheck           0.24         installed  On-the-fly syntax checking

after-initフックスクリプトでflycheckを有効にします。

(add-hook 'after-init-hook #'global-flycheck-mode)

flycheck-checkersにswiftを追加します。flycheck-swift-sdk-pathにSDKのパスを入れます。

(add-hook 'swift-mode-hook
  '(lambda()
     (add-to-list 'flycheck-checkers 'swift)
     (setq flycheck-swift-sdk-path
       (replace-regexp-in-string
        "\n+$" "" (shell-command-to-string
                   "xcrun --show-sdk-path --sdk macosx")))
  )
)

4 ショートカット

swift-modeのショートカットは以下の通りです。

 

C-cキー C-zキー swiftのシェル起動
C-cキー C-fキー バッファをswiftのシェルで実行
C-cキー C-rキー リージョンをswiftのシェルで実行

 

quickrun用に追加したショートカットは以下の通りです。

 

C-cキー C-cキー バッファをswiftで実行
C-cキー C-aキー 引数を指定してバッファをswiftで実行

 

5 起動方法

.swiftを拡張子に持つファイルを開いた場合にswift-modeが実行されます。

M-x swift-modeと打つことでもswift-modeが実行されます。

6 実行例

以下のようになりました。https://dl-web.dropbox.com/s/9s3chkuj70x4oba/0001_Swift-Highlight.png