s表达式的折叠部分 - 请求建议

时间:2013-01-18 14:36:52

标签: emacs clojure elisp

我正在使用clojure-mode和clojure.test / with-test,它看起来像这样:

(with-test
  (def... some expression defining a var)

  ;; comment for a test
  (is (= 0 (- 1 1)))
  (is ...))

(with-test ...)中第一个后面的表达式是第一个表单的测试用例。这很有用,因为它使测试保持接近相关代码。

然而,测试用例列表可能很长,模糊了其他“真实”代码。我希望有一些方法可以将所有测试代码隐藏在缓冲区中。像outline / org-mode的折叠能力:

(with-test
  (def some expression defining a var)
  ...)

甚至

(def some expression defining a var)

用某种标记显示有隐藏的测试用例。

关于这一点的棘手部分是我想要关注的(def ...)表单位于我想要隐藏的(with-test ...)表单中。

我环顾四周,据我所知,我无法使用大纲模式或隐藏显示模式进行此操作。我假设我需要一些表达式感知的折叠库来获得这样的东西。这样的事情是否已经存在,我是否以错误的方式思考,你有什么提示吗?

更新

我能够使用hideshow工作。请参阅my emacs config repo

中的hs-hide-all-clojure-tests

1 个答案:

答案 0 :(得分:4)

我相信,您可以使用HideShow包来完成此任务,但是您需要添加一些配置,以便它只隐藏测试...