获取CodeMirror中特定行中使用的缩进

时间:2016-07-15 14:06:47

标签: javascript codemirror

我正在使用CodeMirror,我想提供一些简单的代码转换功能。

我需要知道的是我所在线的缩进位置,例如:

function test() {
  var x = 0; //I need to get that this line has 2 spaces.
  var y = function() {
    return true; //And that this one has 4 spaces -or a tab.
  }
}

有没有一种标准的方法可以通过CodeMirror API或任何相关的黑客来获取它?

由于CodeMirror主要用于语法分析(令牌等),我试图分析行标记并将其与光标数据结合起来,但我想要求更彻底和清晰的东西。

1 个答案:

答案 0 :(得分:0)

令牌的状态包含indented属性,该属性为令牌的缩进提供此类信息:

var token = editor.getTokenAt(editor.getCursor());
console.log(token.state.indented);