comparison .cms/lib/codemirror/addon/mode/multiplex_test.js @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:78edf6b517a0
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others
2 // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
4 (function() {
5 CodeMirror.defineMode("markdown_with_stex", function(){
6 var inner = CodeMirror.getMode({}, "stex");
7 var outer = CodeMirror.getMode({}, "markdown");
8
9 var innerOptions = {
10 open: '$',
11 close: '$',
12 mode: inner,
13 delimStyle: 'delim',
14 innerStyle: 'inner'
15 };
16
17 return CodeMirror.multiplexingMode(outer, innerOptions);
18 });
19
20 var mode = CodeMirror.getMode({}, "markdown_with_stex");
21
22 function MT(name) {
23 test.mode(
24 name,
25 mode,
26 Array.prototype.slice.call(arguments, 1),
27 'multiplexing');
28 }
29
30 MT(
31 "stexInsideMarkdown",
32 "[strong **Equation:**] [delim&delim-open $][inner&tag \\pi][delim&delim-close $]");
33
34 CodeMirror.defineMode("identical_delim_multiplex", function() {
35 return CodeMirror.multiplexingMode(CodeMirror.getMode({indentUnit: 2}, "javascript"), {
36 open: "#",
37 close: "#",
38 mode: CodeMirror.getMode({}, "markdown"),
39 parseDelimiters: true,
40 innerStyle: "q"
41 });
42 });
43
44 var mode2 = CodeMirror.getMode({}, "identical_delim_multiplex");
45
46 test.mode("identical_delimiters_with_parseDelimiters", mode2, [
47 "[keyword let] [def x] [operator =] [q #foo][q&em *bar*][q #];"
48 ], "multiplexing")
49 })();