在Emacs中定义新的工具提示

时间:2008-11-16 13:19:32

标签: emacs

我想向emacs添加自定义工具提示。 更具体地说,每当我将鼠标悬停在符号(函数/变量)上时 用我的鼠标,我希望看到带有符号定义的工具提示。 我知道我可以用像cscope这样的工具找到这种信息,但我不知道怎么做 将cscope的输出附加到工具提示。 有没有人有部分(如何将回调链接到emacs中的工具提示)或 一个完整的(我如何实际将cscope的输出链接到工具提示)解决方案呢?

谢谢, 尼尔

2 个答案:

答案 0 :(得分:12)

您的Emacs安装应包含Elisp reference manual(如果没有,请立即下载 - 在开发模式时您将需要它)。要访问它,请转到信息(C-h i)并查找标有“Elisp”的节点,有时在单独的“Emacs”菜单中。输入i作为索引,输入tooltip以查找有关工具提示的信息。您应该找到节点32.19.4 Properties with Special Meanings,它告诉您help-echo属性的内容是一个字符串,它是工具提示内容,或者是一个可以动态构造工具提示的函数。浏览该节点周围的手册,以了解有关文本属性以及如何设置它们的更多信息。

这是一个简单的例子:

(insert (propertize "foo\n" 'help-echo "Tooltip!"))

*scratch*缓冲区中输入此内容,然后按C-j运行代码。然后将鼠标指向单词“foo”,您应该看到工具提示。

答案 1 :(得分:1)

根据缓冲区文本的正则表达式匹配,an AutoOverlay package可以自动添加叠加层和与这些叠加层关联的工具提示。