spacemacsにcoq layerを入れた
四月はCoqとClojureをやっていきたい
— zehnpaard (@zehnpaard) March 27, 2021
というわけでemacsでcoq環境を整備したのでメモ。
インストールが必要だったもの:
- coq
- proof general
- spacemacs-coq
前提として
- spacemacs
- opam
は入っているものとする(opamはOCamlのパッケージマネジャー)
coq
coq本体は
opam install coq
で入る。
proof general
Proof GeneralはcoqをEmacsからアクセスできるようにするインタフェースを提供する、らしい。(ただしCoqに限らないgeneric interfaceだという説明がある。Isabelleなども使えるようだ)
インストールに関しても説明はあるのだが
Skip this step if you already use MELPA. Otherwise, add the following to your .emacs and restart Emacs
と書いてあって、具体的にどの部分が"this step"なのか一見してわかりにくかった・・・ 指示を箇条書きにしてくれればわかりやすいかなーと思うのだが・・・
とりあえずMELPAがあるならM-x package-refresh-contents RET
とM-x package-install RET proof-general RET
しておけば問題なくインストールできるようだ。
spacemacs-coq
Proof Generalとcompany-coqをcoq layerとしてspacemacsで使えるようにする設定集。(company-coqというのはcoq関連の補完や表示の整備、定義へのジャンプなどの機能を追加する拡張)
~/.emacs.d/private
にgit clone
した・・・ だけではダメで、~/.emacs.d/private/spacemacs-coq
というディレクトリ名を~/.emacs.d/private/coq
に変えてやる必要がある。
さらにmelpaを使ってProof Generalをインストールした場合、このレポジトリのデフォルトのままではうまくいかない。
このPRにある通り、proof generalのパスを指定している箇所を削除する必要がある:
その後~/.spacemacs
のdotspacemacs-configuration-layers
にcoq
と追加してやればいい。
これで再起動してcoqがSpacemacs上で使えるようになった。
ただし何故か.v
拡張子のファイルを開いてもcoq-modeに自動的にならない。今のところは手動でcoq-modeに移行させていて問題なく使えているが、今後の要調査事項である。
これで四月はSoftware Foundationsの第1巻を進めていきたい。
追記:
@fetburner さんの設定も非常に参考になる(ありがとうございます!):
Spacemacs,僕はこんな感じの設定で Coq 書いてる https://t.co/WyUMyOM9YY
— . (@fetburner) March 27, 2021