Emacs 符号点与 C++范围
在我的用例中,是否有人扩展了 symbol-at-point
来包含 C++ 命名空间、范围?
将光标放在 std::vector
上最好返回 ("std" "vector")
。
Has anyone extended symbol-at-point
to include, in my use case the C++ namespace, scope as well?
Having the cursor on std::vector
should preferably return ("std" "vector")
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
CEDET
工具集包含一组本地上下文解析器,可以执行您想要的操作,但它不会扩展symbol-at-point
。相反,它有自己的上下文解析器。如果您有预装了 CEDET 的 Emacs 版本,只需启用semantic-mode
,然后使用命令semantic-analyze-current-context
。它将返回一个带有前缀的类。如果您只想要程序的原始前缀,那么您可以使用semantic-ctxt-current-symbol
来返回点下的任何内容。The
CEDET
toolset includes a set of local context parsers that will do what you want, but it doesn't extendsymbol-at-point
. Instead it has its own context parser. If you have a version of Emacs with CEDET pre-installed, just enabledsemantic-mode
, and then use the commandsemantic-analyze-current-context
. It will return a class with the prefix. If you just want the raw prefix for a program, then you can instead usesemantic-ctxt-current-symbol
to return whatever is under point.