使用tuareg在Emacs中启动自定义OCaml顶级的便捷方式

如果我使用tuareg-run-caml函数在Emacs / tuareg中启动自定义顶层,我需要提供顶层的路径以及查找CMI文件所需的各种-I选项.这种打字很乏味,是否有更方便的方式来启动自定义顶层?
最佳答案
一种方法是在项目目录中添加.ocamlinit,该目录使用#directory添加顶层所需的任何路径.您也可以使用它来安装打印机,为常用模块添加更短的名称,运行测试代码等.

请注意,您可能希望该项目特定的.ocamlinit执行〜/ .ocamlinit,因为像opam这样的东西往往会在那里放置点点滴滴.它可能看起来像这样:

#use "/home/foo/.ocamlinit"

#directory "_build"

open Printf
module V = VeryLongModuleName

请注意,#use需要硬编码路径.遗憾的是,这会干扰分发文件.

我通过使用emacs命令启动一个顶层来进一步自动化,该命令在当前目录中搜索一个名为* .top的文件来执行,如果没有找到则返回ocaml.由于ocamlbuild提供了一种构建这些文件的相当简单的方法,因此避免了将项目加载到可用的顶层中的繁琐工作.

转载注明原文:使用tuareg在Emacs中启动自定义OCaml顶级的便捷方式 - 代码日志