如何从计数行数中跳过一些行

时间:2019-07-18 02:03:53

标签: codemirror

我正在CodeMirror中显示一些文本。 要求是: 对于某些行,我想跳过行号。 例如,我想这样显示:

1  xxxxxx
   yyyyyy
2  zzzzzz

但事实是:

1  xxxxxx
2  yyyyyy
3  zzzzzz

如何达到上述效果?

我试图用setGutterMarker编写一些代码,但问题是我实际上可以隐藏行号,但实际上不能跳过该行。

addStyleToText() {
    const {
      editor: { doc }
    } = this.customTA;
    for (let i = 0; i < doc.lineCount(); i += 1) {
      if (doc.getLine(i).substr(0, 3) === 'ERR') {
        doc.addLineClass(i, 'background', 'error-info-line');
        doc.setGutterMarker(i, 'CodeMirror-linenumbers', this.makeMarker());
      }
    }
  }

  makeMarker() {
    var marker = document.createElement("div");
    marker.class="CodeMirror-linenumber CodeMirror-gutter-elt";
    marker.style.left = "0px";
    marker.style.width = "21px";
    marker.text = "";
    return marker;
  }

我希望ERR行不是代码的一部分。我不想在行号中计数。

1 个答案:

答案 0 :(得分:0)

代替使用i,在for循环之前设置一个计数器变量。然后,仅在需要时递增该计数器。