我想编写一套elisp函数来处理vc.el的Git-Log-View模式下查看git日志时由当前选定区域标识的提交。这些函数的一个常见子组件需要是一个函数,它可以获取Git-Log-View缓冲区中该区域选择的提交列表的提交元数据,但我不知道如何编写这样的例程。我希望vc.el直接提供了这样一个机制,但是从我通过apropos可以看到的却没有。如何在Git-Log-View模式下获取缓冲区的提交元数据?
我在vc.el和vc-git.el中尝试了解vc.el是如何工作的,但它是一个相当复杂的elisp,我决不是一个elisp专家。尽管vc.el/vc-git.el在某些地方提供了提交元数据,但对我来说似乎很合理,因为在Git-Log-View模式下,您可以执行诸如选择区域和请求该区域的变更集差异展开给定的提交以查看详细的提交信息,我只是想构建一些类似的功能。
有关如何做到这一点的任何想法?我想我可以直接获取当前选中的文本,并自己解析缩写的日志格式,但这似乎是大量的工作,我想避免如果VC模式可以帮助我。
非常感谢。我想也许我至少可以通过重新使用log-view-current-tag来简化我需要做的事情,我想我可能在一段时间内没有找到相关函数。 – acm