ClojureScript有更丰富的BREPL吗?

时间:2015-10-26 22:28:19

标签: command-line-interface clojurescript figwheel

,例如,相当于Ruby中的IRB pry。

运行lein figwheel时提供的BREPL甚至不支持命令历史记录(^P^[[A)或最小的emacs类型绑定,例如^A或{{ 1}}用于开始/结束行。

这些在乍一看是非常小的但是能够在运行的命名空间中迭代地开发函数而不必维护命令历史记录的单独缓冲区以及您希望在其中可用的其他位是很好的。任何现代的CLI提示。

CLJS / Reagent生态系统有这样的东西吗?

2 个答案:

答案 0 :(得分:4)

有两种可能的解决方案。

  1. 使用rlwrap包为您提供repl readline支持,它将为您提供历史记录和命令行编辑功能。大多数Linux发行版都有它,您可以使用自制程序在OSX上安装它。关于窗户不知道。您需要做的就是运行

    $ rlwrap lein figwheel
    
  2. 如果您是emacs用户,您可以配置figwheel以启动nrepl,然后使用cider连接到它。然后,您将获得所有emacs历史记录,完成等。可以在luminus模板中找到一个示例,文档中包含有关如何连接和运行来自emacs的repl的信息。这是我的首选方法。

  3. 还应该注意的是,如果您使用的是figwheel,那么您实际上只需在cljs文件中进行实验,因为只要您保存文件,figwheel就会自动重新加载文件。我发现我通常只在尝试诊断问题时使用repl - 例如,打印出我的试剂状态原子的位或运行组件函数来查看输出等。其余的时间,我在代码文件本身开发并且只是让figwheel加载文件并向我提供错误详细信息等。

答案 1 :(得分:0)

nREPL提供并在boot repl中默认使用的tenzing结果以通常预期的方式支持这些内容。

我从默认的lein new reagent环境(bringing needed deps with me)转移到tenzing,并期望将来使用它。