如何在ace编辑器中使用自定义标记生成器而不使用正则表达式

时间:2016-03-30 14:44:07

标签: ace-editor

我在文本区域使用Ace编辑器进行突出显示。我有自己的tokenizer而不使用正则表达式。令牌化程序位于服务器端,并使用http调用进行调用。现在我想做的是突出显示我从服务器获得的每个令牌。我尝试使用addMarker函数来突出显示每个标记但不起作用。以下示例代码,

highlightToken = function(token) {
var
  aceRange = ace.require('ace/range').Range,
  row = editor.selection.lead.row, // editor is my ace editor
  adjAceRange = new aceRange(row, token.position - 1 , row, token.position + token.length),
  styleClass = token.type;

editor.session.addMarker(adjAceRange, styleClass, "text", true);

}

在我的CSS中,

 .styleClass { 
   position:absolute;
   color: blue;}

令牌的颜色不会改变。但是如果我在css中添加background属性,则会更改令牌的背景。我错过了什么吗?

0 个答案:

没有答案