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