1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(2024年度版) ocaml-lsp / Merlin で MetaOCaml を開発するためのメモ

Last updated at Posted at 2024-10-28

MetaOCaml を触ってみようと思い開発環境をセットアップしようとしたところハマったのでとりあえず雑にメモ。時間があったら手直しますが期待しないでください。

基本的には2019年のこちらの記事に従えばOK: [OCaml] MetaOCaml で IDE (Merlin) を使う方法と簡単な紹介

2019年と今で違う点

  • 今は Merlin ではなく ocaml-lsp を使うのが主流になっているらしい。ocaml-lsp は内部的には Merlin を使っているのであまり大きな違いはない
  • よってインストールするべきパッケージは以下のようになる
    opam install ocaml-lsp-server dot-merlin-reader
    
    • dot-merlin-reader は後述の理由で必要
  • 元記事では .merlin ファイルに設定を記述しているが、ocaml-lsp はデフォルトでは .merlin を読まない設定になっているのでそのままで動かない。ocaml-lsp の起動オプションに --fallback-read-dot-merlin を付けることで.merlinを読ませることができる(dot-merlin-readerはこのために必要)
    • 起動オプションの変更はEmacsだったら (setq lsp-ocaml-lsp-server-command '("ocamllsp" "--fallback-read-dot-merlin")) などで変更できる。

わざわざMetaOCamlを触ろうという人だったらここまで書いたら後は自力でなんとかなると思います。がんばってください!

(追記) ocamlfmt は MetaOCaml をサポートしていないらしいです。諦めてください → https://github.com/ocaml-ppx/ocamlformat/issues/1211

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?