You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@annotator.apache.org by ge...@apache.org on 2020/11/20 12:26:41 UTC
[incubator-annotator] 18/19: tweak comments
This is an automated email from the ASF dual-hosted git repository.
gerben pushed a commit to branch import-dom-seek
in repository https://gitbox.apache.org/repos/asf/incubator-annotator.git
commit d27ba4e2e17796ebe95a8bb9baafe3347708b11d
Author: Gerben <ge...@treora.com>
AuthorDate: Fri Nov 20 13:06:30 2020 +0100
tweak comments
---
packages/dom/src/text-quote/describe.ts | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/packages/dom/src/text-quote/describe.ts b/packages/dom/src/text-quote/describe.ts
index 81cc4fa..756df1e 100644
--- a/packages/dom/src/text-quote/describe.ts
+++ b/packages/dom/src/text-quote/describe.ts
@@ -72,19 +72,21 @@ async function abstractDescribeTextQuote<TChunk extends Chunk<string>>(
const matches = abstractTextQuoteSelectorMatcher(tentativeSelector)(scope());
let nextMatch = await matches.next();
+ // If this match is the intended one, no need to act.
// XXX This test is fragile: nextMatch and target are assumed to be normalised.
if (!nextMatch.done && chunkRangeEquals(nextMatch.value, target)) {
- // This match is the intended one, ignore it.
nextMatch = await matches.next();
}
// If there are no more unintended matches, our selector is unambiguous!
if (nextMatch.done) return tentativeSelector;
- // A subsequent search could safely skip the part we already processed,
- // we’d need the matcher to start at the seeker’s position, instead of
- // searching in the whole current chunk.
- // seeker.seekBy(-prefix.length + 1);
+ // Possible optimisation: A subsequent search could safely skip the part we
+ // already processed, instead of starting from the beginning again. But we’d
+ // need the matcher to start at the seeker’s position, instead of searching
+ // in the whole current chunk. Then we could just seek back to just after
+ // the start of the prefix: seeker.seekBy(-prefix.length + 1); (don’t forget
+ // to also correct for any changes in the prefix we will make below)
// We’ll have to add more prefix/suffix to disqualify this unintended match.
const unintendedMatch = nextMatch.value;