highlight range

This commit is contained in:
Alysa 2024-07-23 10:52:59 -07:00
commit 308a17b6c9
2 changed files with 17 additions and 4 deletions

View file

@ -49,7 +49,7 @@ haste_document.prototype.load = function(key, callback, lang) {
highlighted = highlighted =
"<span class='lineHighlight'>" + highlighted + "</span>"; "<span class='lineHighlight'>" + highlighted + "</span>";
} }
highlighted = "<span onclick='handleLineClick(" + i + ")' class='line' id='line-" + i + "'>" + highlighted + "</span>"; highlighted = "<span onclick='handleLineClick(event," + i + ")' class='line' id='line-" + i + "'>" + highlighted + "</span>";
high.value += highlighted + "\n"; high.value += highlighted + "\n";
} }
// scroll to position in document after ensuring components h"ve had time to render // scroll to position in document after ensuring components h"ve had time to render

View file

@ -67,9 +67,22 @@
handlePop({ target: window }); handlePop({ target: window });
}); });
function handleLineClick(lineId) { function handleLineClick(event, lineId) {
/* TODO */ var lineNumber = lineId + 1;
window.location.hash = "#L" + (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);
}
} }
</script> </script>