【问题标题】:How to get SLIME to autocomplete symbols from loaded other packages?如何让 SLIME 从加载的其他包中自动完成符号?
【发布时间】:2012-09-25 21:22:47
【问题描述】:

我认为这在 Emacs 23 中是开箱即用的,但在 24 中却不行。

所以,假设我使用 Quicklisp 加载了 Alexandria 包。例如,如果我在 REPL 中运行 (apropos "curry"),它会找到函数定义,类似地,如果我运行 (describe 'curry) 等。但 SLIME 拒绝自动完成 (cur|(点由管道显示)到任何内容。

如何告诉 SLIME 在哪里寻找资源/它缺少什么?

编辑:

另外,如果我这样做 ,in-packageRETALEXANDRIARET 它会自动完成,但我希望它会自动完成任何加载的包无需我指定要查看的包。还是没有其他方法?

【问题讨论】:

  • aleTAB:cuTAB”怎么样,使用curry是从alexandria导出的事实?此外,(describe 'curry) 仅显示有关当前包中符号的信息,而不是任何包中名为 curry 的所有符号,至少在 SBCL 1.0.55 中。
  • 有几种补全样式:Completion commandsac-slime。但是,据我所知,他们的行为并不如你所愿。我认为常见的工作流程是定义自己的包 :use:import-from 其他包,将当前包设置为它,然后将大部分时间花在其中。自然地,使用或导入的符号可以不用包前缀来补全。

标签: emacs lisp common-lisp slime


【解决方案1】:

据我所知,在 SLIME 中无法做到这一点。我不确定它是否实用,但通过查看完成和适当的实现方式并将它们混合在一个新功能中来实现它应该是可行的。用于切换完成样式的自定义变量的奖励积分。

https://github.com/slime/slime

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多