我想在我的编辑器中添加一个仅适用于给定范围的叠加层(例如,从第3行,第44列到第8行,第5列)。
问题在于我无法找到任何方法来查找当前行在token()
方法中的内容,因为叠加是无状态的,因此我无法将当前行存储在该状态中。
我仔细考虑了multiplex.js
和overlay.js
中的扩展程序,并试图了解嵌套模式的工作原理,但我无法找到一种方法来使用这些工具来帮助我。请记住,我仍然希望它的行为类似于叠加层,因此不会打扰基本模式。
我的替代方法是扫描添加的类的元素并手动修改它们,使用element.getBoundingClientRect()
和cm.coorsChar()
检查它们的位置。但这很难看,需要手动刷新,并且当标记的元素跨越我的范围边界时会导致错误。如何正确解决这个问题?