Commit 79ba0399 authored by EllangoK's avatar EllangoK
Browse files

selects current word automatically

parent b8c636b1
......@@ -70,7 +70,7 @@ name:id,
let end = inputField.selectionEnd;
let selectedText = inputField.value.substring(start, end);
// If there is no selection, attempt to find the nearest enclosure
// If there is no selection, attempt to find the nearest enclosure, or select the current word
if (!selectedText) {
const nearestEnclosure = findNearestEnclosure(inputField.value, start);
if (nearestEnclosure) {
......@@ -78,7 +78,18 @@ name:id,
end = nearestEnclosure.end;
selectedText = inputField.value.substring(start, end);
} else {
return;
// Select the current word, find the start and end of the word (first space before and after)
start = inputField.value.substring(0, start).lastIndexOf(" ") + 1;
end = inputField.value.substring(end).indexOf(" ") + end;
// Remove all punctuation at the end and beginning of the word
while (inputField.value[start].match(/[.,\/#!$%\^&\*;:{}=\-_`~()]/)) {
start++;
}
while (inputField.value[end - 1].match(/[.,\/#!$%\^&\*;:{}=\-_`~()]/)) {
end--;
}
selectedText = inputField.value.substring(start, end);
if (!selectedText) return;
}
}
......@@ -97,7 +108,6 @@ name:id,
// If the selection is not enclosed in parentheses, add them
if (selectedText[0] !== "(" || selectedText[selectedText.length - 1] !== ")") {
console.log("adding parentheses", inputField.value[start], inputField.value[end], selectedText);
selectedText = `(${selectedText})`;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment