Quickrunとは
Quickrunというものがあります。もともとはVimのプラグインですが、Emacsにも存在しています。
Emacsで今現在書いているコードをコマンド一つで実行してくれるというものです。
例えば
<?php echo "hello world";
とEmacsで書いて、M-x quickrun
とすると、 hello world
が実行されます。非常に便利なプラグインです。僕はphpunitの実行などに使っております。
QuickrunはKotlin未対応
Quickrunの対応言語は、GitHubリポジトリのREADMEの Support Programming Languages
を見てもらえれば分かるかと思いますが、先程述べたphpunitや、今回解説するKotlinは対応言語にありません。そこで、今回は.kts
ファイルをQuickrunで実行できるようにしたいと思います。
Quickrunで.ktsを実行できるようにするための設定
Quickrunで新たな設定を定義する方法は、GitHubリポジトリのREADME の User Defined Command
に書いてありますが、詳しく説明します。
まずは、.kts
ファイルを実行するためのコマンドの定義をします(Quickrunのインストール方法に関してはここでは省略します)。以下のように定義します。
(quickrun-add-command "kotlins" '((:command . "kotlinc") (:exec . "%c -script %s")))
- 最初の
"kotlins"
というのはただの名前です。なんでも良いです。わかりやすい名前を付けて下さい。 :command
はそのまんま、コマンドですので、kotlinc
とします。:exec
は引数なども含めて実際に実行されるコマンドです。%c
はコマンド、%s
は実行ファイル名になります。%c -script %s
はkotlinc -script hogehoge.kts
のようなコマンドになります
これがコマンド定義の最小構成です。
次に、.kts
で終わるファイル名の時に M-x quickrun
が呼ばれたら、先程のコマンドを呼ばれるように設定します。
(add-to-list 'quickrun-file-alist '("\\.kts$" . "kotlins"))
全体では以下の通りになります。
(quickrun-add-command "kotlins" '((:command . "kotlinc") (:exec . "%c -script %s"))) (add-to-list 'quickrun-file-alist '("\\.kts$" . "kotlins"))
これで、 .kts
ファイルを開いている時に M-x quickrun
するとkotlin scriptが実行されるようになったかと思います。