受到ia Writer焦点模式的启发,我有兴趣在emacs中使用字体+背景颜色来强调光标所在的功能,并在视觉上将其余代码作为背景提示(我使用C++,但如果这样,那就太好了)无论编程语言如何都能工作.
理想情况下,函数外部代码的字体颜色将变暗(这是焦点模式的工作方式).一个更简单的解决方案可能是为光标当前所在的函数稍微改变背景颜色.如何做到这一点?
据我所知,不存在这样的东西。如果你想自己写,这里有一个草图:
编写一个例程来确定当前函数的边界。最简单的方法是使用(bounds-of-thing-at-point 'defun)
.
编写一个例程,当给定区域的边界时,获取该区域的背景面属性,将其变暗,并将新面应用于该区域。
使用调用此变量的原始值的例程覆盖font-lock-fontify-region-function
(请参阅此处),将给定的区域与当前 defun 的区域(使用 #1)进行差异化,然后将例程 #2 应用于剩余区域。
我更喜欢覆盖字体锁定,而不是使用,jit-lock-register
因为您需要控制字体化的顺序。
哈!