2012-06-06 77 views

回答

1

如果您想使用特定字符串打开模式,您可能会在某处使用mode-multiplexer。但它看起来像Velocity需要更先进的东西。所以你必须编写自己的超级模式,类似于html混合模式,它可以在模式之间进行智能切换。

2

我能够与overlay.js中的插件很容易实现这一点:

CodeMirror.defineMode("velocityOverlay", function(config, parserConfig) { 
    return CodeMirror.overlayMode(CodeMirror.getMode(config, "htmlmixed"), CodeMirror.getMode(config, "velocity")); 
}); 

然后在编辑器中设置的模式选项为“velocityOverlay”和你做。

但是,速度模式会突出显示诸如<,>等字符,因为它们可能不是您想要的速度运算符,因为它会使您的html高亮显得很丑。为了解决这个问题,我改变下面的代码行velocity.js:

var isOperatorChar = /[+\-*&%=<>!?:\/|]/; 

var isOperatorChar = /[+\*&%=?:|]/; 
+0

完美。谢谢! –