首页 > 解决方案 > 无法通过 Leiningen 插件在项目中获取可检测的符号

问题描述

我正在尝试编写一个基于clojure.spec.alpha. 除其他外,我想获得项目中已指定的所有功能。这是通过调用来完成instrumentable-symsclojure.spec.test.alpha。我的插件中有一个函数可以执行此操作,但是当在另一个项目的上下文中运行时(通过eval-in-project),可检测符号列表为空。我怀疑这是因为在项目中使用插件的调用fdef,通常是源文件中的顶级表单并注册规范,没有被评估,因此在调用instrumentable-syms.

那么我的问题是,如何确保对这些调用进行评估,以便我的插件可以在项目中找到所有规范的函数。

标签: pluginsclojurespecificationsleiningen

解决方案


尝试做一些事情来加载相关的命名空间,从而使您的程序“栩栩如生”,也许如果您有这样的文件,src/orgname/project/core.clj您可以尝试调用:

(load "orgname/project/core")

从项目中运行的代码块中。


推荐阅读