Files @ 158ef33603b8
Branch filter:

Location: kallithea/rhodecode/public/js/mode/htmlmixed/index.html

Bradley M. Kuhn
Add mousetrap.js file from Mousetrap 1.4.5, under the Apache license.

The file was download and verified via these commands:
$ git clone https://github.com/ccampbell/mousetrap.git
$ cd mousetrap; git checkout 1.4.5

The file in that repository named mousetrap.js is exactly the same one that
appeared in RhodeCode 2.2.5 in changeset c8d3c0d61d95.

The mousetrap.js states clearly that it is licensed under Apache-2.0.
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>CodeMirror: HTML mixed mode</title>
    <link rel="stylesheet" href="../../lib/codemirror.css">
    <script src="../../lib/codemirror.js"></script>
    <script src="../xml/xml.js"></script>
    <script src="../javascript/javascript.js"></script>
    <script src="../css/css.js"></script>
    <script src="../vbscript/vbscript.js"></script>
    <script src="htmlmixed.js"></script>
    <link rel="stylesheet" href="../../doc/docs.css">
    <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
  </head>
  <body>
    <h1>CodeMirror: HTML mixed mode</h1>
    <form><textarea id="code" name="code">
<html style="color: green">
  <!-- this is a comment -->
  <head>
    <title>Mixed HTML Example</title>
    <style type="text/css">
      h1 {font-family: comic sans; color: #f0f;}
      div {background: yellow !important;}
      body {
        max-width: 50em;
        margin: 1em 2em 1em 5em;
      }
    </style>
  </head>
  <body>
    <h1>Mixed HTML Example</h1>
    <script>
      function jsFunc(arg1, arg2) {
        if (arg1 && arg2) document.body.innerHTML = "achoo";
      }
    </script>
  </body>
</html>
</textarea></form>
    <script>
      // Define an extended mixed-mode that understands vbscript and
      // leaves mustache/handlebars embedded templates in html mode
      var mixedMode = {
        name: "htmlmixed",
        scriptTypes: [{matches: /\/x-handlebars-template|\/x-mustache/i,
                       mode: null},
                      {matches: /(text|application)\/(x-)?vb(a|script)/i,
                       mode: "vbscript"}]
      };
      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {mode: mixedMode, tabMode: "indent"});
    </script>

    <p>The HTML mixed mode depends on the XML, JavaScript, and CSS modes.</p>

    <p>It takes an optional mode configuration
    option, <code>scriptTypes</code>, which can be used to add custom
    behavior for specific <code>&lt;script type="..."></code> tags. If
    given, it should hold an array of <code>{matches, mode}</code>
    objects, where <code>matches</code> is a string or regexp that
    matches the script type, and <code>mode</code> is
    either <code>null</code>, for script types that should stay in
    HTML mode, or a <a href="../../doc/manual.html#option_mode">mode
    spec</a> corresponding to the mode that should be used for the
    script.</p>

    <p><strong>MIME types defined:</strong> <code>text/html</code>
    (redefined, only takes effect if you load this parser after the
    XML parser).</p>

  </body>
</html>