
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が実行されるようになったかと思います。