code: function MirrorFrame(place, options) {
    this.home = document.createElement("DIV");
    if (place.appendChild)
      place.appendChild(this.home);
    else
      place(this.home);
  
    var self = this;
    function makeButton(name, action) {
      var button = document.createElement("INPUT");
      button.type = "button";
      button.value = name;
      self.home.appendChild(button);
      button.onclick = function(){self[action].call(self);};
    }
  
    makeButton("Search", "search");
    makeButton("Replace", "replace");
    makeButton("Current line", "line");
    makeButton("Jump to line", "jump");
    makeButton("Insert constructor", "macro");
    makeButton("Indent all", "reindent");
  
    this.mirror = new CodeMirror(this.home, options);
  }
docs: /* Demonstration of embedding CodeMirror in a bigger application. The
  interface defined here is a mess of prompts and confirms, and
  should probably not be used in a real project.