2012-06-06 111 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

完美。謝謝! –