2012-06-06 8 views
8

क्या किसी ने कोडमिरर के लिए 'htmlmixed' + 'वेग' मोड बनाया है? या कोई भी सलाह दे सकता है कि इसे कैसे प्राप्त किया जाए?क्या कोडमिरर दोनों को मिश्रण करना संभव है: वेग मोड और कोड मिरर: HTML मिश्रित मोड?

उत्तर

1

यदि आप स्विच मोड पर उपयोग करने के लिए विशिष्ट स्ट्रिंग्स हैं तो आप mode-multiplexer का उपयोग कर कहीं भी प्राप्त करने में सक्षम हो सकते हैं। लेकिन ऐसा लगता है कि वेग को कुछ और उन्नत की आवश्यकता होगी। इसलिए आपको अपना खुद का सुपर-मोड लिखना होगा, जो HTMLmixed मोड के समान है, जो समझदारी से मोड के बीच स्विच करता है।

0

मुझे नहीं लगता कि आप मिश्रण कर सकते हैं कि दोनों CodeMirror: Velocity mode और CodeMirror: HTML mixed mode. एक मोड एक विशिष्ट तरीके से काम करने का तरीका है है। आप दो मोड कैसे मिला सकते हैं? मुझे नहीं लगता कि एक संभावना है।

2

मैं overlay.js ऐड-ऑन के साथ आसानी से इस लक्ष्य को हासिल करने में सक्षम था:

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

तब संपादक में और "velocityOverlay" होने के लिए मोड विकल्प सेट आप कर चुके हैं।

हालांकि, वेग मोड <,> आदि जैसे वर्णों को हाइलाइट करता है जैसे वेग ऑपरेटर जिन्हें आप नहीं चाहते हैं क्योंकि यह आपके एचटीएमएल हाइलाइटिंग को बदसूरत लगेगा। इस समस्या से निपटने के लिए मैं velocity.js में कोड की निम्न पंक्ति बदल दिया है:

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

पूरी तरह से काम किया

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

। धन्यवाद! –

संबंधित मुद्दे