Javascript 代码镜像-如何在注释或元数据中存储信息?

Javascript 代码镜像-如何在注释或元数据中存储信息?,javascript,codemirror,Javascript,Codemirror,我正在使用代码镜像创建一个简单的代码编辑器,该编辑器基于特定命令在画布上创建形状。我想使用代码镜像的注释在行的元数据中存储形状ID。这样,当我在命令中删除一行时,我可以很容易地告诉画布要删除哪个形状 我已经查阅了代码镜像的文档一段时间了,仍然不知道如何实现它 如何使用CodeMirror访问文本中的元数据(注释)? 非常感谢您的帮助 好吧,我想出来了。CodeMirror有一个函数“markText”,可用于为特定CSS样式的行提供类名。它还可以用于传入任何其他参数,包括用户创建的参数,如sha

我正在使用代码镜像创建一个简单的代码编辑器,该编辑器基于特定命令在画布上创建形状。我想使用代码镜像的注释在行的元数据中存储形状ID。这样,当我在命令中删除一行时,我可以很容易地告诉画布要删除哪个形状

我已经查阅了代码镜像的文档一段时间了,仍然不知道如何实现它

如何使用CodeMirror访问文本中的元数据(注释)? 非常感谢您的帮助


好吧,我想出来了。CodeMirror有一个函数“markText”,可用于为特定CSS样式的行提供类名。它还可以用于传入任何其他参数,包括用户创建的参数,如shapeID

// Give a line an ID
function giveLineID(lineIndex,id){
   editor.markText( {line:lineIndex,ch:0},{line:lineIndex,ch:line.length},{shapeID : id});
}

// Retrieve an ID from a line
function retrieveID(lineIndex){
  var line = myCodeMirror.getLine(lineIndex);

  var marks = cm.findMarks({line:lineIndex,ch:0},{line:lineIndex,ch:line.length});
  marks.forEach(mark => {
     if (mark.hasOwnProperty("shapeID")){
         return mark["shapeID"];
       }
     });
}