在 vc.el 的 Git-Log-View 模式下查看 git 日志时,我想编写一组 elisp 函数来操作由当前选定区域标识的提交。这些函数的一个公共子组件需要一个函数,该函数将获取 Git-Log-View 缓冲区中区域选择的提交列表的提交元数据,但我不知道如何编写这样的例程。我希望 vc.el 直接提供这样的机制,但从我可以通过 apropos 看到的情况来看,它没有。
我已经在 vc.el 和 vc-git.el 中四处寻找,试图了解 vc.el 的工作原理,但它是一个相当复杂的 elisp,我绝不是 elisp 专家。尽管 vc.el/vc-git.el 在某处有可用的提交元数据对我来说似乎是合理的,因为在 Git-Log-View 模式下,您可以执行诸如选择一个区域并请求该区域的变更集差异之类的操作,或者展开给定的提交以查看详细的提交信息,我只想构建一些类似的功能。
关于如何做到这一点的任何想法?我想我可以直接获取当前选择的文本并自己解析缩写的日志格式,但是如果 vc-mode 可以帮助我,这似乎是我想避免的大量工作。