我想達到同樣的目標作爲你的,但有更多的自由度,包括輸入一個容器,我可以在運行中重新定義它。
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; }
希望它能幫助!