Emacs と Roswell による Common Lisp 開発環境

シェアする

Emacs + Roswell で Common Lisp 開発を行う環境を構築したのでメモします.設定は use-package で行い,補完は company を利用しています.

スポンサーリンク
レクタングル(大)広告

検証環境

  • Ubuntu: 19.10
  • Emacs: 26.3
  • Roswell: 19.12.13.103

Roswell のインストール

Roswell の Release Page から deb ファイルをダウンロードしてインストールします.

$ wget https://github.com/roswell/roswell/releases/download/v19.12.13.103/roswell_19.12.13.103-1_amd64.deb
$ sudo dpkg -i roswell_19.12.13.103-1_amd64.deb

Roswell は最初に初期化する必要があります.これにより ~/.roswell ディレクトリに環境がインストールされます.

$ ros setup

次に Emacs 連携機能をインストールします.エントリーポイントとして Emacs Lisp 形式の設定ファイル ~/.roswell/helper.el がインストールされるのでこれを Emacs から load する形になります.

$ ros install slime

Emacs の設定

use-package を利用した設定は下記の通りになります.

(use-package slime
  :if (file-exists-p "~/.roswell/helper.el")
  :ensure slime-company
  :init (load "~/.roswell/helper.el")
  :custom (inferior-lisp-program "ros -Q run")
  :config (slime-setup '(slime-fancy slime-company)))

company 連携を行う上で注意があります.slime-company を require してはならないという点です. slime-company は slime-setup で行う必要があるため,陽に require すると補完が不安定になってしまいます.普通に use-package で slime-company を導入すると require されてしまうため,ここでは ensure キーワードの引数として slime-company を指定しています.

まとめ

slime-company の設定で嵌りましたがこれで快適な作業環境を構築することができました.普段 Lisp は書かないのでいざ必要となったときに記憶があやふやなことがあり大変でしたが開発環境の支援機能で少しは楽になってくれると思います.

スポンサーリンク
レクタングル(大)広告

シェアする

フォローする

スポンサーリンク
レクタングル(大)広告