我想达到同样的目标作为你的,但有更多的自由度,包括输入一个容器,我可以在运行中重新定义它。
1)把下面的代码放到一个文件custom.mode.js,从您的网页
var _glob_keywords = [ [ "key1", "keyword1" ],
[ "key2", "keyword2" ]
] ;
var cm_custom_check_stream_fn = function(stream)
{
for(var _i = 0 ; _i < _glob_keywords.length ; _i++)
{
if (stream.match(_glob_keywords[_i][0])) return _glob_keywords[_i][1] ;
}
return "" ;
}
CodeMirror.defineMode("custom.mode", function()
{
return {
token: function(stream,state)
{
var _ret = cm_custom_check_stream_fn(stream) ;
if (_ret.length > 0) return _ret ;
else { stream.next(); return null; }
}
};
});
该代码会自动嵌入到Codemirror对象动态处理的输入装文本框。 例如:如果找到“key1”,则返回“keyword1”。
我们假设“关键字”,“关键字2”是指项自定义CSS定义文件中,作为codemirror文档中解释,那就是,
.cm-keyword1 { color:#8BA8C4; }
.cm-keyword2 { color:lime; }
希望它能帮助!