我正在运行racket
作为repl(与xrepl),并且我可以使用来查看一些相关文档(几乎很棒),但它会引发火灾通过网络浏览器查看文档。我希望能够在repl中看到文档,就像它在其他repl(R,Clojure,ipython,pry等)中的呈现方式一样。这可能吗?Racket内置帮助文本(非HTML)文档xrepl
例如,在Clojure的lein repl
,可以这样做:
user=> (doc map)
-------------------------
clojure.core/map
([f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls])
Returns a lazy sequence consisting of the result of applying ...
这也将是巨大的,可以看到源((source map)
Clojure中),但我还没有看到这是任何可用的线索。
我正好在使用Vim(与slime/tmux),所以任何基于Vim的解决方案也可以工作,可能与其内置的帮助相关的K。
看看优秀的插件[参考](https://github.com/thinca/vim-ref)。它不支持'racket'帮助,但是你可以为它写一个后端。 – lcd047
由于DrRacket和Emacs模式的racket模式,Racket社区中很少有vim用户。最好的办法是重用现有的基础设施,例如https://github.com/greghendershott/racket-mode/blob/master/defn.rkt#L19哪种拍框模式用来查找定义。 (代码在Racket中,所以应该可以从vim内部调用Racket)。 – soegaard
一个问题:find-definition代码需要从'module-> namespace'运行在文件的命名空间中,因为最终它依赖于'identifier-binding'。因此,要使用xrepl,我认为需要将其构建到xrepl中。 –