Swiftのコーディングの為に、emacsのswift-modeパッケージとquickrunパッケージをインストールしました。
Table of Contents
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 実行例
以下のようになりました。