受到ia Writer焦点模式的启发,我有兴趣在emacs中使用字体背景颜色来强调光标所在的功能,并在视觉上将其余代码作为背景提示(我使用C,但如果这样可行会很好不管编程语言如何).
理想情况下,函数外部代码的字体颜色将变暗(这是焦点模式的工作方式).一个更简单的解决方案可能是为光标当前所在的函数稍微改变背景颜色.如何做到这一点?
解决方法
没有这样的东西存在AFAIK.如果你想让它自己写,这是一个草图:
>编写一个确定当前函数边界的例程.最简单的方法是使用(界限点’defun).
>编写一个例程,当给定区域的边界时,区域为gets the background face property of the region,使其变暗,并将新面部应用于该区域.
>使用调用此变量原始值的例程覆盖font-lock-fontify-region-function(参见here),区分当前defun区域给出的区域(使用#1),然后应用例程#2到其余地区.
我更喜欢使用jit-lock-register来覆盖字体锁,因为你需要控制fontification的顺序.
HTH!