| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | <!doctype html><html>  <head>    <meta charset="utf-8">    <title>CodeMirror: Multiplexing Parser Demo</title>    <link rel="stylesheet" href="../lib/codemirror.css">    <script src="../lib/codemirror.js"></script>    <script src="../addon/mode/multiplex.js"></script>    <script src="../mode/xml/xml.js"></script>    <link rel="stylesheet" href="../doc/docs.css">    <style type="text/css">      .CodeMirror {border: 1px solid black;}      .cm-delimit {color: #fa4;}    </style>  </head>  <body>    <h1>CodeMirror: Multiplexing Parser Demo</h1>    <form><textarea id="code" name="code"><html>  <body style="<<magic>>">    <h1><< this is not <html >></h1>    <<        multiline        not html        at all : &amp; <link/>    >>    <p>this is html again</p>  </body></html></textarea></form>    <script>CodeMirror.defineMode("demo", function(config) {  return CodeMirror.multiplexingMode(    CodeMirror.getMode(config, "text/html"),    {open: "<<", close: ">>",     mode: CodeMirror.getMode(config, "text/plain"),     delimStyle: "delimit"}    // .. more multiplexed styles can follow here  );});var editor = CodeMirror.fromTextArea(document.getElementById("code"), {  mode: "demo",  lineNumbers: true,  lineWrapping: true});</script>    <p>Demonstration of a multiplexing mode, which, at certain    boundary strings, switches to one or more inner modes. The out    (HTML) mode does not get fed the content of the <code><<    >></code> blocks. See    the <a href="../doc/manual.html#addon_multiplex">manual</a> and    the <a href="../addon/mode/multiplex.js">source</a> for more    information.</p>  </body></html>
 |