@jhl548/duplicate-doc-core 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -10,12 +10,30 @@ declare module "@tiptap/core" {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
export declare function buildPlainTextPositionMap(doc: ProseMirrorNode): number[];
|
|
15
|
-
export declare function mapTextRangeToDocPositions(positions: number[], range: TextRange): {
|
|
13
|
+
interface MappedRange {
|
|
16
14
|
from: number;
|
|
17
15
|
to: number;
|
|
18
|
-
}
|
|
16
|
+
}
|
|
17
|
+
interface HighlightAnchor extends MappedRange {
|
|
18
|
+
key: string;
|
|
19
|
+
attrs: Record<string, string | undefined>;
|
|
20
|
+
expectedText?: string;
|
|
21
|
+
valid: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface DuplicateHighlightState {
|
|
24
|
+
decorations: DecorationSet;
|
|
25
|
+
anchors: Record<string, HighlightAnchor>;
|
|
26
|
+
activeKeys: string[];
|
|
27
|
+
}
|
|
28
|
+
interface PlainTextSnapshot {
|
|
29
|
+
text: string;
|
|
30
|
+
positions: number[];
|
|
31
|
+
}
|
|
32
|
+
export declare const duplicateHighlightPluginKey: PluginKey<DuplicateHighlightState>;
|
|
33
|
+
export declare function buildPlainTextSnapshot(doc: ProseMirrorNode): PlainTextSnapshot;
|
|
34
|
+
export declare function buildPlainTextPositionMap(doc: ProseMirrorNode): number[];
|
|
35
|
+
export declare function mapTextRangeToDocPositions(positions: number[], range: TextRange): MappedRange | null;
|
|
19
36
|
export declare const DuplicateHighlightExtension: Extension<any, {
|
|
20
37
|
highlights: DuplicateHighlight[];
|
|
21
38
|
}>;
|
|
39
|
+
export {};
|
|
@@ -4,11 +4,13 @@ import { Decoration, DecorationSet } from "@tiptap/pm/view";
|
|
|
4
4
|
import { createHighlightClass } from "./colors.js";
|
|
5
5
|
import { normalizeRanges } from "./ranges.js";
|
|
6
6
|
export const duplicateHighlightPluginKey = new PluginKey("duplicate-highlight");
|
|
7
|
-
export function
|
|
7
|
+
export function buildPlainTextSnapshot(doc) {
|
|
8
|
+
const textParts = [];
|
|
8
9
|
const positions = [];
|
|
9
10
|
doc.forEach((blockNode, blockOffset, blockIndex) => {
|
|
10
11
|
// 后端 plainText 以换行分隔块级节点,这里补齐同样的偏移,避免第二段以后定位偏移。
|
|
11
12
|
if (blockIndex > 0) {
|
|
13
|
+
textParts.push("\n");
|
|
12
14
|
positions.push(blockOffset);
|
|
13
15
|
}
|
|
14
16
|
blockNode.descendants((node, relativePos) => {
|
|
@@ -18,12 +20,19 @@ export function buildPlainTextPositionMap(doc) {
|
|
|
18
20
|
const text = node.text ?? "";
|
|
19
21
|
const absolutePos = blockOffset + 1 + relativePos;
|
|
20
22
|
for (let index = 0; index < text.length; index += 1) {
|
|
23
|
+
textParts.push(text[index] ?? "");
|
|
21
24
|
positions.push(absolutePos + index);
|
|
22
25
|
}
|
|
23
26
|
return true;
|
|
24
27
|
});
|
|
25
28
|
});
|
|
26
|
-
return
|
|
29
|
+
return {
|
|
30
|
+
text: textParts.join(""),
|
|
31
|
+
positions
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function buildPlainTextPositionMap(doc) {
|
|
35
|
+
return buildPlainTextSnapshot(doc).positions;
|
|
27
36
|
}
|
|
28
37
|
export function mapTextRangeToDocPositions(positions, range) {
|
|
29
38
|
const from = positions[range.start];
|
|
@@ -34,28 +43,176 @@ export function mapTextRangeToDocPositions(positions, range) {
|
|
|
34
43
|
const to = lastIncludedPosition + 1;
|
|
35
44
|
return to > from ? { from, to } : null;
|
|
36
45
|
}
|
|
37
|
-
function
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
function getRangeText(doc, range) {
|
|
47
|
+
return doc.textBetween(range.from, range.to, "\n", "");
|
|
48
|
+
}
|
|
49
|
+
function rangeStillMatches(doc, range, text) {
|
|
50
|
+
if (!text) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
return getRangeText(doc, range) === text;
|
|
54
|
+
}
|
|
55
|
+
function getExpectedText(doc, range, text) {
|
|
56
|
+
return text || getRangeText(doc, range) || undefined;
|
|
57
|
+
}
|
|
58
|
+
function findClosestTextIndex(text, target, preferredIndex) {
|
|
59
|
+
if (!target) {
|
|
60
|
+
return -1;
|
|
61
|
+
}
|
|
62
|
+
let closestIndex = -1;
|
|
63
|
+
let closestDistance = Number.POSITIVE_INFINITY;
|
|
64
|
+
let searchIndex = text.indexOf(target);
|
|
65
|
+
while (searchIndex >= 0) {
|
|
66
|
+
const distance = Math.abs(searchIndex - preferredIndex);
|
|
67
|
+
if (distance < closestDistance) {
|
|
68
|
+
closestIndex = searchIndex;
|
|
69
|
+
closestDistance = distance;
|
|
70
|
+
}
|
|
71
|
+
searchIndex = text.indexOf(target, searchIndex + 1);
|
|
72
|
+
}
|
|
73
|
+
return closestIndex;
|
|
74
|
+
}
|
|
75
|
+
function getRangeKey(highlight, range, index) {
|
|
76
|
+
return [
|
|
77
|
+
highlight.documentId,
|
|
78
|
+
highlight.duplicateId,
|
|
79
|
+
range.blockId ?? "unknown-block",
|
|
80
|
+
range.start,
|
|
81
|
+
range.end,
|
|
82
|
+
index
|
|
83
|
+
].join("::");
|
|
84
|
+
}
|
|
85
|
+
function getDecorationAttrs(highlight, range) {
|
|
86
|
+
return {
|
|
87
|
+
class: createHighlightClass(highlight.similarity, highlight.active, highlight.ignored),
|
|
88
|
+
"data-duplicate-id": highlight.duplicateId,
|
|
89
|
+
"data-section-path": highlight.sectionPath?.join(" / ") ?? range.sectionPath?.join(" / "),
|
|
90
|
+
"data-region": highlight.region ?? range.region,
|
|
91
|
+
"data-semantic-type": highlight.semanticType ?? range.semanticType,
|
|
92
|
+
"data-noise-reason": highlight.noiseReason,
|
|
93
|
+
"data-table-id": highlight.tableContext?.tableId ?? range.tableContext?.tableId
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function createAnchor(doc, snapshot, highlight, range, index, expectedText = range.matchedText) {
|
|
97
|
+
const mappedRange = mapTextRangeToDocPositions(snapshot.positions, range);
|
|
98
|
+
if (mappedRange && rangeStillMatches(doc, mappedRange, expectedText)) {
|
|
99
|
+
return {
|
|
100
|
+
key: getRangeKey(highlight, range, index),
|
|
101
|
+
from: mappedRange.from,
|
|
102
|
+
to: mappedRange.to,
|
|
103
|
+
attrs: getDecorationAttrs(highlight, range),
|
|
104
|
+
expectedText: getExpectedText(doc, mappedRange, expectedText),
|
|
105
|
+
valid: true
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const fallbackStart = findClosestTextIndex(snapshot.text, expectedText ?? "", range.start);
|
|
109
|
+
const fallbackRange = fallbackStart >= 0 && expectedText
|
|
110
|
+
? mapTextRangeToDocPositions(snapshot.positions, {
|
|
111
|
+
...range,
|
|
112
|
+
start: fallbackStart,
|
|
113
|
+
end: fallbackStart + expectedText.length
|
|
114
|
+
})
|
|
115
|
+
: null;
|
|
116
|
+
if (!fallbackRange || !rangeStillMatches(doc, fallbackRange, expectedText)) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
key: getRangeKey(highlight, range, index),
|
|
121
|
+
from: fallbackRange.from,
|
|
122
|
+
to: fallbackRange.to,
|
|
123
|
+
attrs: getDecorationAttrs(highlight, range),
|
|
124
|
+
expectedText: getExpectedText(doc, fallbackRange, expectedText),
|
|
125
|
+
valid: true
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function buildDecorations(doc, anchors, activeKeys) {
|
|
129
|
+
const activeKeySet = new Set(activeKeys);
|
|
130
|
+
const decorations = anchors
|
|
131
|
+
.filter((anchor) => anchor.valid && activeKeySet.has(anchor.key) && anchor.to > anchor.from)
|
|
132
|
+
.map((anchor) => Decoration.inline(anchor.from, anchor.to, anchor.attrs));
|
|
133
|
+
return DecorationSet.create(doc, decorations);
|
|
134
|
+
}
|
|
135
|
+
function buildHighlightState(doc, highlights, previousAnchors = {}) {
|
|
136
|
+
const snapshot = buildPlainTextSnapshot(doc);
|
|
137
|
+
const anchors = { ...previousAnchors };
|
|
138
|
+
const activeKeys = [];
|
|
40
139
|
for (const highlight of highlights) {
|
|
41
140
|
const ranges = normalizeRanges(highlight.ranges);
|
|
42
|
-
for (const range of ranges) {
|
|
43
|
-
const
|
|
44
|
-
|
|
141
|
+
for (const [index, range] of ranges.entries()) {
|
|
142
|
+
const key = getRangeKey(highlight, range, index);
|
|
143
|
+
const previousAnchor = anchors[key];
|
|
144
|
+
activeKeys.push(key);
|
|
145
|
+
if (previousAnchor && !previousAnchor.valid) {
|
|
146
|
+
const restoredAnchor = createAnchor(doc, snapshot, highlight, range, index, previousAnchor.expectedText);
|
|
147
|
+
if (restoredAnchor) {
|
|
148
|
+
anchors[key] = restoredAnchor;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
anchors[key] = {
|
|
152
|
+
...previousAnchor,
|
|
153
|
+
attrs: getDecorationAttrs(highlight, range)
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
if (previousAnchor) {
|
|
159
|
+
const updatedAnchor = {
|
|
160
|
+
...previousAnchor,
|
|
161
|
+
attrs: getDecorationAttrs(highlight, range)
|
|
162
|
+
};
|
|
163
|
+
if (rangeStillMatches(doc, updatedAnchor, updatedAnchor.expectedText)) {
|
|
164
|
+
anchors[key] = updatedAnchor;
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
anchors[key] =
|
|
168
|
+
createAnchor(doc, snapshot, highlight, range, index, updatedAnchor.expectedText) ?? {
|
|
169
|
+
...updatedAnchor,
|
|
170
|
+
valid: false
|
|
171
|
+
};
|
|
172
|
+
}
|
|
45
173
|
continue;
|
|
46
174
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"data-region": highlight.region ?? range.region,
|
|
52
|
-
"data-semantic-type": highlight.semanticType ?? range.semanticType,
|
|
53
|
-
"data-noise-reason": highlight.noiseReason,
|
|
54
|
-
"data-table-id": highlight.tableContext?.tableId ?? range.tableContext?.tableId
|
|
55
|
-
}));
|
|
175
|
+
const anchor = createAnchor(doc, snapshot, highlight, range, index);
|
|
176
|
+
if (anchor) {
|
|
177
|
+
anchors[key] = anchor;
|
|
178
|
+
}
|
|
56
179
|
}
|
|
57
180
|
}
|
|
58
|
-
return
|
|
181
|
+
return {
|
|
182
|
+
decorations: buildDecorations(doc, Object.values(anchors), activeKeys),
|
|
183
|
+
anchors,
|
|
184
|
+
activeKeys
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function mapAnchors(doc, anchors, activeKeys, trMapping) {
|
|
188
|
+
const nextAnchors = {};
|
|
189
|
+
const activeKeySet = new Set(activeKeys);
|
|
190
|
+
for (const [key, anchor] of Object.entries(anchors)) {
|
|
191
|
+
if (!activeKeySet.has(key)) {
|
|
192
|
+
nextAnchors[key] = anchor;
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (!anchor.valid) {
|
|
196
|
+
nextAnchors[key] = anchor;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const fromResult = trMapping.mapResult(anchor.from, 1);
|
|
200
|
+
const toResult = trMapping.mapResult(anchor.to, -1);
|
|
201
|
+
const from = fromResult.pos;
|
|
202
|
+
const to = toResult.pos;
|
|
203
|
+
const wasDeleted = fromResult.deleted || toResult.deleted || to <= from;
|
|
204
|
+
const mappedAnchor = {
|
|
205
|
+
...anchor,
|
|
206
|
+
from,
|
|
207
|
+
to
|
|
208
|
+
};
|
|
209
|
+
const textChanged = !rangeStillMatches(doc, mappedAnchor, anchor.expectedText);
|
|
210
|
+
nextAnchors[key] = {
|
|
211
|
+
...mappedAnchor,
|
|
212
|
+
valid: !wasDeleted && to > from && to <= doc.content.size && !textChanged
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
return nextAnchors;
|
|
59
216
|
}
|
|
60
217
|
export const DuplicateHighlightExtension = Extension.create({
|
|
61
218
|
name: "duplicateHighlight",
|
|
@@ -80,18 +237,23 @@ export const DuplicateHighlightExtension = Extension.create({
|
|
|
80
237
|
new Plugin({
|
|
81
238
|
key: duplicateHighlightPluginKey,
|
|
82
239
|
state: {
|
|
83
|
-
init: (_, state) =>
|
|
84
|
-
apply: (tr,
|
|
240
|
+
init: (_, state) => buildHighlightState(state.doc, this.storage.highlights),
|
|
241
|
+
apply: (tr, pluginState, _oldState, newState) => {
|
|
85
242
|
const meta = tr.getMeta(duplicateHighlightPluginKey);
|
|
86
243
|
if (meta?.highlights) {
|
|
87
|
-
return
|
|
244
|
+
return buildHighlightState(newState.doc, meta.highlights, pluginState.anchors);
|
|
88
245
|
}
|
|
89
|
-
|
|
246
|
+
const anchors = mapAnchors(newState.doc, pluginState.anchors, pluginState.activeKeys, tr.mapping);
|
|
247
|
+
return {
|
|
248
|
+
...pluginState,
|
|
249
|
+
decorations: buildDecorations(newState.doc, Object.values(anchors), pluginState.activeKeys),
|
|
250
|
+
anchors
|
|
251
|
+
};
|
|
90
252
|
}
|
|
91
253
|
},
|
|
92
254
|
props: {
|
|
93
255
|
decorations(state) {
|
|
94
|
-
return duplicateHighlightPluginKey.getState(state);
|
|
256
|
+
return duplicateHighlightPluginKey.getState(state)?.decorations;
|
|
95
257
|
}
|
|
96
258
|
}
|
|
97
259
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiptapDuplicateHighlight.js","sourceRoot":"","sources":["../src/tiptapDuplicateHighlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tiptapDuplicateHighlight.js","sourceRoot":"","sources":["../src/tiptapDuplicateHighlight.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED