在 Emacs 字体锁定模式中对字符串文字内的变量引用进行字体化
当我在 Emacs ruby 模式中键入以下代码时,“#{foo}”的字体颜色与封闭字符串的颜色不同。 如何在我自己的 Emacs 模式下执行此操作? 我尝试破译 ruby 模式源代码,但无法在合理的时间内理解它。
"a #{foo} a"
When I type the following code in Emacs ruby-mode, the "#{foo}" is fontified in a different color than the enclosing string. How do I do this in my own Emacs mode? I tried to decipher the ruby-mode source code but couldn't understand it in a reasonable amount of time.
"a #{foo} a"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
终于想通了。 答案是字体化规则中的“override”参数应该设置为t,这意味着给定的面孔将覆盖字符串面孔。 有关详细信息,请参阅变量“font-lock-keywords”的文档。 这是一个例子:
Finally figured it out. The answer is that the "override" parameter in a fontification rule should be set to t, which means that the given face will override the string face. See the documentation for the variable "font-lock-keywords" for details. Here's an example:
搜索 ruby-mode.el 设置
font-lock-syntropic-keywords
的位置:这里有一些类似的文档
font-lock-keywords
变量,您应该使用它来完成相同类型的字体化。Search for where ruby-mode.el sets
font-lock-syntactic-keywords
:Here's some documentation on the similar
font-lock-keywords
variable, which is what you should use to accomplish the same type of fontification.