0
|
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 })();
|