AvalonEdit - 规则集跨度
如何检查某个位置的单词是否在 xshd 规则集的 Span[i] 中?
谢谢!
How to check if a word at a position is in a Span[i] of the xshd-ruleset?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有两种可能的方法可以从突出显示引擎获取信息:
突出显示引擎仅在每行的开头存储“跨度堆栈”。您可以使用
DocumentHighlighter.GetSpanStack
方法来检索它。如果第 1 行的结尾(= 第 2 行的开头)位于多行注释内,则返回 true。
要获得行内更详细的结果,您必须运行荧光笔。
当然,只有在命名了这些颜色的情况下,通过颜色识别跨度/部分才能可靠地工作。并非所有内置突出显示都已更新为使用命名颜色,因此请首先检查 .xshd 文件。
There are two possible ways to get information from the highlighting engine:
The highlighting engine only stores the "span stack" at the start of each line. You can use the
DocumentHighlighter.GetSpanStack
method to retrieve it.This will return true if the end of line 1 (= start of line 2) is inside a multiline comment.
For more detailed results inside lines, you'll have to run the highlighter.
Of course, identifying spans/sections by color only works reliably if those colors are named. Not all built-in highlightings have been updated to use named colors, so please check the .xshd files first.