Czy ktoś zrobił tryb "htmlmixed" + "Velocity" dla codemirror? Czy ktoś może doradzić, jak to osiągnąć?
Odpowiedzi:
1 dla odpowiedzi № 1Możesz być w stanie dostać się gdzieś za pomocą tryb-multiplekser, jeśli istnieją określone ciągi, które chceszużyć, aby włączyć tryb. Ale wygląda na to, że Velocity wymaga czegoś bardziej zaawansowanego. Musisz więc napisać własny super-tryb, podobny do trybu htmlmixed, który inteligentnie przełącza tryby.
2 dla odpowiedzi nr 2
Udało mi się to łatwo osiągnąć dzięki dodatkowi overlay.js:
CodeMirror.defineMode("velocityOverlay", function(config, parserConfig) {
return CodeMirror.overlayMode(CodeMirror.getMode(config, "htmlmixed"), CodeMirror.getMode(config, "velocity"));
});
Następnie w edytorze ustaw opcję trybu na "velocityOverlay" i gotowe.
Jednak tryb prędkości podkreśla znakijak <,>, itp. jako operatory prędkości, których możesz nie chcieć, ponieważ to sprawi, że twoje hlml będzie wyglądało brzydko. Aby sobie z tym poradzić, zmieniłem następujący wiersz kodu w pliku velocity.js:
var isOperatorChar = /[+-*&%=<>!?:/|]/;
do
var isOperatorChar = /[+*&%=?:|]/;
0 dla odpowiedzi № 3
Nie sądzę, że możesz mieszać oba CodeMirror: Tryb prędkości i CodeMirror: tryb mieszany HTML. Tryb to sposób robienia rzeczy w określony sposób. Jak można mieszać dwa tryby? Nie sądzę, że jest taka możliwość.