/ / Czy możliwe jest połączenie trybu CodeMirror: Velocity i CodeMirror: HTML? - javascript, edytor, codemirror

Czy można mieszać zarówno tryb CodeMirror: Velocity, jak i tryb mieszany CodeMirror: HTML? - javascript, edytor, codemirror

Czy ktoś zrobił tryb "htmlmixed" + "Velocity" dla codemirror? Czy ktoś może doradzić, jak to osiągnąć?

Odpowiedzi:

1 dla odpowiedzi № 1

Moż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ść.