我正在使用 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 ...) 中第一个表达式之后的表达式是第一种形式的测试用例。这很有用,因为它使测试靠近其相关代码。
然而,测试用例的列表可能会很长,掩盖了“真实”代码的其余部分。我希望有某种方法可以将所有测试代码隐藏在缓冲区中。类似于大纲/组织模式的折叠能力:
(with-test
(def some expression defining a var)
...)
甚至
(def some expression defining a var)
用某种标记来显示隐藏的测试用例。
棘手的部分是我想要关注的 (def...) 表单位于我想要隐藏的 (with-test ...) 表单内。
我环顾四周,据我所知,我无法使用大纲模式或隐藏显示模式来完成这项工作。我假设我需要一些能够感知表达式的折叠库才能让这样的东西工作。这样的事情是否已经存在,我是不是想错了,你有什么建议吗?
更新
我能够使它与 hideshow 一起工作。hs-hide-all-clojure-tests
在我的 emacs 配置仓库中查看