diff --git a/static/application.js b/static/application.js
index a8af5be..d951f92 100644
--- a/static/application.js
+++ b/static/application.js
@@ -49,7 +49,7 @@ haste_document.prototype.load = function(key, callback, lang) {
highlighted =
"" + highlighted + "";
}
- highlighted = "" + highlighted + "";
+ highlighted = "" + highlighted + "";
high.value += highlighted + "\n";
}
// scroll to position in document after ensuring components h"ve had time to render
diff --git a/static/index.html b/static/index.html
index 6bfea97..59988bb 100644
--- a/static/index.html
+++ b/static/index.html
@@ -67,9 +67,22 @@
handlePop({ target: window });
});
- function handleLineClick(lineId) {
- /* TODO */
- window.location.hash = "#L" + (lineId + 1);
+ function handleLineClick(event, lineId) {
+ var lineNumber = lineId + 1;
+ if (event.shiftKey && app.selectedLines.startLine != undefined && lineNumber != app.selectedLines.startLine) {
+ if (lineNumber > app.selectedLines.startLine) {
+ app.selectedLines.endLine = lineNumber;
+ } else {
+ app.selectedLines.endLine = this.app.selectedLines.startLine;
+ app.selectedLines.startLine = lineNumber;
+ }
+ window.location.hash = "#L" + (app.selectedLines.startLine) + "-L" + (app.selectedLines.endLine);
+ } else {
+ // no shift range to consider
+ app.selectedLines.startLine = lineNumber;
+ app.selectedLines.endLine = lineNumber;
+ window.location.hash = "#L" + (lineNumber);
+ }
}