Skip to content

Instantly share code, notes, and snippets.

@njx
Created April 5, 2012 06:43
Show Gist options
  • Save njx/2308512 to your computer and use it in GitHub Desktop.
Save njx/2308512 to your computer and use it in GitHub Desktop.
Hidden line/undo bug
<!doctype html>
<html>
<head>
<title>Hidden line/undo bug</title>
<link rel="stylesheet" href="codemirror.css">
<script src="codemirror.js"></script>
<style type="text/css">
.CodeMirror {border: 1px solid black;}
</style>
</head>
<body>
<form><textarea id="code" name="code">
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
Hidden line
function findSequence(goal) {
function find(start, history) {
if (start == goal)
return history;
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}</textarea></form>
<input type="button" value="Step 1: Hide lines" onclick="hideLines()">
<input type="button" value="Step 2: Replace text" onclick="replaceText()">
<input type="button" value="Step 3: Hide new lines" onclick="hideNewLines()">
<input type="button" value="Step 4: Undo" onclick="undo()">
<input type="button" value="Unhide all" onclick="unhideAll()">
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true
});
function doHide(start, end) {
for (var i = start; i <= end; i++)
editor.hideLine(i);
}
function hideLines() {
doHide(0, 179);
}
function replaceText() {
editor.replaceRange("\n\n\n\n\n\n\n\n\n\n", {line: 2, ch: 0}, {line: 2, ch: 0});
}
function hideNewLines() {
doHide(2, 11);
}
function undo() {
editor.undo();
}
function unhideAll() {
for (var i = 0; i < editor.lineCount(); i++)
editor.showLine(i);
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment