1

例如,相当于在 Ruby 中窥探 IRB。

运行时提供的 BREPLlein figwheel甚至不支持命令历史记录 ( ^P, )或^[[A最小的 emacs 类型绑定,例如行首/行尾的 或 。^A^E

乍一看,这些都是很小的,但是如果能够在运行的命名空间中迭代地开发函数,而不必维护一个单独的命令历史缓冲区和您希望在任何现代 CLI 中可用的其他位,那就太好了迅速的。

CLJS/Reagent 生态系统有类似的东西吗?

4

2 回答 2

4

有两种可能的解决方案。

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

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

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

于 2015-10-27T02:10:45.763 回答
0

Tenzing提供并默认使用的nREPL以通常预期的方式支持这些东西。boot repl

我从默认lein new reagent环境迁移到 Tenzing(带上需要的 deps),并期望在未来使用它。

于 2015-10-27T23:04:34.200 回答