Emacs:字体锁定字体区域和多行
我正在为 php/html 文件编写一个次要模式。我使用一个函数(参见 font-lock-keywords
)来字体化 ?>
块。
为了对多行块进行字体化,我需要将 font-lock-multiline 设置为 t。
一切都运行得很好。在这种情况下,他们只是一个问题: 当我有一个多行块并删除结束标记 (?>
) 时,该块是未字体化的。当我把标签放回去时,该块不会再次被字体化。
我有三个问题:
是否有一个简单的解决方案来解决这个问题
1/如果没有, 2/每次我输入这两个字符时,有什么方法可以触发 font-lock-fontify-buffer
: '?''>'
3/更好的是,有没有办法触发这种功能:当我输入 ?>
时,我找到开始标签 并强制使用
此块上的 font-lock-fontify-region
。
I am writing a minor mode for php/html files. I use a function (cf. font-lock-keywords
) to fontify <?php
?>
blocs.
In order to fontify multilined blocs, I need to set font-lock-multiline
to t.
Everything is running quite nicely. Their is just a problem in this case :
When I have a multiline bloc and a delete the closing tag (?>
) the bloc is unfontified. When I put the tag back, the block is not fontified again.
I have three questions :
1/ is there a simple solution to this problem
if not
2/ is there any way to trigger font-lock-fontify-buffer
each time I type those two chars :
'?''>'
3/ better, is there a way to trigger this kind a fonction : when I type ?>
I find the opening tag <?php
and force a font-lock-fontify-region
on this bloc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一种基本方法,逻辑不够充分,但它演示了一个选项:
This is a basic approach, and the logic is insufficient, but it demonstrates one option: