【发布时间】:2015-05-25 20:18:32
【问题描述】:
EMACS 具有用于 SLIME 的 Meta . 键绑定,该键绑定仅适用于 Common Lisp。
有没有更通用的方法来定义一个适用于 Scheme 的函数?也许是通过 Cscope 之类的资源进行搜索的东西?
【问题讨论】:
EMACS 具有用于 SLIME 的 Meta . 键绑定,该键绑定仅适用于 Common Lisp。
有没有更通用的方法来定义一个适用于 Scheme 的函数?也许是通过 Cscope 之类的资源进行搜索的东西?
【问题讨论】:
对于 Racket,请使用 Greg Hendershott 编写的 racket-mode。
https://github.com/greghendershott/racket-mode
racket-visit-definition 上与 M-. 绑定的文档。
【讨论】:
racket-run,它被记录为类似于重新启动 Racket REPL 并重新加载所有内容。避免这样做(在 Racket 可能的有限范围内)是我使用 EMACS 而不是 DrRacket 的原因之一。而且它找不到任何在不同命名空间中的东西,所以如果我用 C-f 找不到它,我也将无法找到它。
racket-mode 将由于命名空间限制能够找到在调用racket-visit-definition 时实际使用的sort。
M-. 作为发现现有功能的一种方式,那么我建议您同时搜索 docs.racket-lang.org 和 github.org。在 githun 添加 language:racket 以将结果限制为 Racket 函数。
grep -rl 更好,这就是我现在找到这些定义的方式。
试试Geiser。它相当于 SLIME for Scheme。 M-. 也在那里。
【讨论】:
您可以使用etags 自己生成标签文件(类似于vim 的ctags)。这些应该可以在 vanilla emacs 中工作(没有粘液):
etags *.scm
etags 不会递归遍历目录。至于解决方案,这看起来很有希望:How to use shell magic to create a recursive etags using GNU etags?
etag 文档:https://www.gnu.org/software/emacs/manual/html_node/eintr/etags.html
【讨论】: