Czy ktoś zrobił tryb "htmlmixed" + "Velocity" dla codemirror? Czy ktoś może doradzić, jak to osiągnąć?Czy można mieszać zarówno tryb CodeMirror: Velocity, jak i tryb mieszany CodeMirror: HTML?
Odpowiedz
Być może uda Ci się uzyskać gdzieś dostęp za pomocą mode-multiplexer, jeśli istnieją specyficzne ciągi, które mają być używane do przełączania trybu. 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.
Nie sądzę, że można wymieszać zarówno CodeMirror: Velocity mode i CodeMirror: HTML mixed mode. Tryb jest sposób robienia rzeczy w określony sposób. Jak można mieszać dwa tryby? Nie sądzę, że jest taka możliwość.
udało mi się osiągnąć to łatwo z overlay.js dodatek:
CodeMirror.defineMode("velocityOverlay", function(config, parserConfig) {
return CodeMirror.overlayMode(CodeMirror.getMode(config, "htmlmixed"), CodeMirror.getMode(config, "velocity"));
});
Następnie w edytorze ustaw opcję Tryb być „velocityOverlay” i gotowe.
Jednak tryb prędkości podkreśla znaki takie jak <,>, 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 poradzić sobie z tym zmieniłem następujący wiersz kodu w velocity.js:
var isOperatorChar = /[+\-*&%=<>!?:\/|]/;
do
var isOperatorChar = /[+\*&%=?:|]/;
działało idealnie. dzięki! –