From 66d048832f2dc30e11e6be4c68beab23c7d8adef Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 16 May 2021 15:24:38 -0400 Subject: Sentence termination character mode (#1682) * Change enableTerminationCharacters to terminationCharacterMode * Update settings * Update sentence extraction * Update tests * Add tests --- ext/js/dom/document-util.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'ext/js/dom') diff --git a/ext/js/dom/document-util.js b/ext/js/dom/document-util.js index 8284ffa5..da4d3e61 100644 --- a/ext/js/dom/document-util.js +++ b/ext/js/dom/document-util.js @@ -69,6 +69,7 @@ class DocumentUtil { * @param source The text source object, either `TextSourceRange` or `TextSourceElement`. * @param layoutAwareScan Whether or not layout-aware scan mode should be used. * @param extent The length of the sentence to extract. + * @param terminateAtNewlines Whether or not a sentence should be terminated at newline characters. * @param terminatorMap A mapping of characters that terminate a sentence. * Format: * ```js @@ -87,7 +88,7 @@ class DocumentUtil { * ``` * @returns The sentence and the offset to the original source: `{sentence: string, offset: integer}`. */ - extractSentence(source, layoutAwareScan, extent, terminatorMap, forwardQuoteMap, backwardQuoteMap) { + extractSentence(source, layoutAwareScan, extent, terminateAtNewlines, terminatorMap, forwardQuoteMap, backwardQuoteMap) { // Scan text source = source.clone(); const startLength = source.setStartOffset(extent, layoutAwareScan); @@ -102,7 +103,7 @@ class DocumentUtil { let quoteStack = []; for (; pos1 > 0; --pos1) { const c = text[pos1 - 1]; - if (c === '\n') { break; } + if (c === '\n' && terminateAtNewlines) { break; } if (quoteStack.length === 0) { const terminatorInfo = terminatorMap.get(c); @@ -133,7 +134,7 @@ class DocumentUtil { quoteStack = []; for (; pos2 < textLength; ++pos2) { const c = text[pos2]; - if (c === '\n') { break; } + if (c === '\n' && terminateAtNewlines) { break; } if (quoteStack.length === 0) { const terminatorInfo = terminatorMap.get(c); -- cgit v1.2.3