CodeMirror: Multiple Buffer & Split View Demo
val \= val.slice(val.match(/^\s*/)[0].length, val.length - val.match(/\s*$/)[0].length) + "\n";
var sel_top \= document.getElementById("buffers_top");
CodeMirror.on(sel_top, "change", function() {
selectBuffer(ed_top, sel_top.options[sel_top.selectedIndex].value);
var sel_bot \= document.getElementById("buffers_bot");
CodeMirror.on(sel_bot, "change", function() {
selectBuffer(ed_bot, sel_bot.options[sel_bot.selectedIndex].value);
function openBuffer(name, text, mode) {
buffers[name] \= CodeMirror.Doc(text, mode);
var opt \= document.createElement("option");
opt.appendChild(document.createTextNode(name));
sel_top.appendChild(opt);
sel_bot.appendChild(opt.cloneNode(true));
function newBuf(where) {
var name \= prompt("Name for the buffer", "*scratch*");