在 CodeMirror 中查找令牌的父元素

Zen*_*ter 2 javascript codemirror

我已经在 Google 网上论坛上发布了同样的问题,但没有结果。如果在这里找到答案,我会同步。

旁注:再次提醒我为什么我鄙视 Google 网上论坛。格式和可用性都很糟糕。

反正...

想象一下,我在 XML 模式下的 CodeMirror 中有以下 HTML:

<div data-id="parent"><span data-id="test"></span></div>
Run Code Online (Sandbox Code Playgroud)

我能够通过右键单击或悬停(或任何其他用户启动的事件,实际上)来获取鼠标悬停的令牌。它的名称和类型。

我的问题 - 我可以获得“父”令牌及其属性吗?

为了显示:

  1. 如果我单击test,我希望能够知道它是属性data-id“under”的值span

  2. 如果我点击span,我希望能够获得它的data-id,而且还知道它位于“下”div令牌。

当然,这是假设该语言提供了“父”或“下”的概念……我猜 XML/HTML 确实如此。

有任何想法吗?是否有相应的 API,无论是在 CM 还是 XML/HTML 相应模式下?

我尝试过解析路线 - 获取“当前”令牌周围的内容,但它非常丑陋并且无法正常工作。

谢谢。

ias*_*ons 5

var cur = cm.getCursor()
var token = cm.getTokenAt(cur);
var inner = CodeMirror.innerMode(cm.getMode(), token.state);
var cx = inner.state.context
var tagName = cx.tagName
Run Code Online (Sandbox Code Playgroud)