diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-05-06 19:34:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-06 19:34:32 -0400 |
commit | d6ae3229614fb11fee799387d17347ea97509c59 (patch) | |
tree | 795e9ba8b5c198a44a5ca5d8c346dbf0e46a54c0 /ext/fg | |
parent | f7df6254d6f71d5331b000dcbd27271bd2c3006f (diff) |
Text scanning update (#507)
* Fix unity test missing a parameter
* Update docSentenceExtract to not rescan content
Diffstat (limited to 'ext/fg')
-rw-r--r-- | ext/fg/js/document.js | 2 | ||||
-rw-r--r-- | ext/fg/js/source.js | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/ext/fg/js/document.js b/ext/fg/js/document.js index 6103c7c5..d639bc86 100644 --- a/ext/fg/js/document.js +++ b/ext/fg/js/document.js @@ -159,7 +159,7 @@ function docSentenceExtract(source, extent) { const sourceLocal = source.clone(); const position = sourceLocal.setStartOffset(extent); - sourceLocal.setEndOffset(position + extent); + sourceLocal.setEndOffset(extent * 2 - position, true); const content = sourceLocal.text(); let quoteStack = []; diff --git a/ext/fg/js/source.js b/ext/fg/js/source.js index b3119d40..c9d70215 100644 --- a/ext/fg/js/source.js +++ b/ext/fg/js/source.js @@ -46,10 +46,14 @@ class TextSourceRange { return this.content; } - setEndOffset(length) { - const state = TextSourceRange.seekForward(this.range.startContainer, this.range.startOffset, length); + setEndOffset(length, fromEnd=false) { + const state = ( + fromEnd ? + TextSourceRange.seekForward(this.range.endContainer, this.range.endOffset, length) : + TextSourceRange.seekForward(this.range.startContainer, this.range.startOffset, length) + ); this.range.setEnd(state.node, state.offset); - this.content = state.content; + this.content = (fromEnd ? this.content + state.content : state.content); return length - state.remainder; } |