@commentray/core 0.3.2 → 0.3.3
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.
- package/dist/block-scroll-pickers.d.ts +17 -42
- package/dist/block-scroll-pickers.d.ts.map +1 -1
- package/dist/block-scroll-pickers.js +44 -42
- package/dist/block-scroll-pickers.js.map +1 -1
- package/dist/commentray-active-editor-ui-context.d.ts +19 -0
- package/dist/commentray-active-editor-ui-context.d.ts.map +1 -0
- package/dist/commentray-active-editor-ui-context.js +28 -0
- package/dist/commentray-active-editor-ui-context.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/region-marker-naming.d.ts +8 -25
- package/dist/region-marker-naming.d.ts.map +1 -1
- package/dist/region-marker-naming.js +5 -17
- package/dist/region-marker-naming.js.map +1 -1
- package/dist/scroll-sync.d.ts +14 -5
- package/dist/scroll-sync.d.ts.map +1 -1
- package/dist/scroll-sync.js +134 -10
- package/dist/scroll-sync.js.map +1 -1
- package/dist/source-markers.d.ts +1 -6
- package/dist/source-markers.d.ts.map +1 -1
- package/dist/source-markers.js +4 -18
- package/dist/source-markers.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,34 +6,19 @@ export type BlockScrollLink = {
|
|
|
6
6
|
/** 1-based inclusive inner lines between paired region markers (unchanged semantics). */
|
|
7
7
|
sourceStart: number;
|
|
8
8
|
sourceEnd: number;
|
|
9
|
-
/**
|
|
10
|
-
* 1-based half-open viewport span for “which block owns this source line?”. Marker-backed
|
|
11
|
-
* blocks use `markerViewportHalfOpen1Based()` in source-markers; `lines:` anchors use
|
|
12
|
-
* `[range.start, range.end + 1)`.
|
|
13
|
-
*/
|
|
9
|
+
/** 1-based half-open span; see block-scroll-pickers commentray. */
|
|
14
10
|
markerViewportHalfOpen1Based: {
|
|
15
11
|
lo: number;
|
|
16
12
|
hiExclusive: number;
|
|
17
13
|
};
|
|
18
14
|
};
|
|
19
|
-
/**
|
|
20
|
-
* Which index block “owns” the source viewport top line (1-based), without hysteresis.
|
|
21
|
-
* Same geometry as {@link pickCommentrayLineForSourceScroll}.
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* The index block whose source viewport span **strictly contains** `topSourceLine1Based`
|
|
25
|
-
* (`[lo, hiExclusive)`). When spans overlap, the earliest block by `lo` wins. Returns `null` in
|
|
26
|
-
* true inter-block **gaps** (including above the first `lo` only when that line is still below
|
|
27
|
-
* `lo` — callers combine with {@link sourceTopLineStrictlyBeforeFirstIndexLine} for “prelude”).
|
|
28
|
-
*/
|
|
15
|
+
/** Strict `[lo, hi)` contain; `null` in gaps. See commentray for geometry. */
|
|
29
16
|
export declare function blockStrictlyContainingSourceViewportLine(blocks: BlockScrollLink[], topSourceLine1Based: number): BlockScrollLink | null;
|
|
30
|
-
/**
|
|
17
|
+
/** Prelude above every span; see commentray. */
|
|
31
18
|
export declare function sourceTopLineStrictlyBeforeFirstIndexLine(blocks: BlockScrollLink[], topSourceLine1Based: number): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* True when the doc viewport probe sits strictly **between** two block marker lines in companion
|
|
34
|
-
* order (interstitial prose / blanks), not on a marker line and not before the first marker.
|
|
35
|
-
*/
|
|
19
|
+
/** True when probe sits strictly between two `commentray:block` lines (interstitial prose). */
|
|
36
20
|
export declare function commentrayProbeInStrictInterMarkerGap(blocks: BlockScrollLink[], topCommentrayLine0Based: number): boolean;
|
|
21
|
+
/** Naive source viewport pick (inside span / gap / prelude); see commentray. */
|
|
37
22
|
export declare function pickBlockScrollLinkForSourceViewportTop(blocks: BlockScrollLink[], topSourceLine1Based: number): BlockScrollLink | null;
|
|
38
23
|
/** Mutable lock for {@link pickBlockScrollLinkForSourceViewportWithHysteresis} / commentray twin. */
|
|
39
24
|
export type BlockScrollStickyState = {
|
|
@@ -43,33 +28,23 @@ export type BlockScrollStickyState = {
|
|
|
43
28
|
export declare const DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES = 2;
|
|
44
29
|
/** Default: require this many **commentray markdown** lines into the naive winner before leaving the lock. */
|
|
45
30
|
export declare const DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES = 4;
|
|
46
|
-
/**
|
|
47
|
-
* Schmitt-style block pick for **source→commentray** sync: keeps the active block until the
|
|
48
|
-
* viewport top has moved clearly into another block’s territory, so probe noise at span edges
|
|
49
|
-
* does not flip the partner between unrelated regions.
|
|
50
|
-
*/
|
|
31
|
+
/** Source→commentray hysteresis; see commentray. */
|
|
51
32
|
export declare function pickBlockScrollLinkForSourceViewportWithHysteresis(blocks: BlockScrollLink[], topSourceLine1Based: number, state: BlockScrollStickyState, hysteresisSourceLines?: number): BlockScrollLink | null;
|
|
52
|
-
/**
|
|
53
|
-
* Choose which commentray line (0-based) to reveal so the commentary matches
|
|
54
|
-
* the top of the source viewport. Uses each link’s `markerViewportHalfOpen1Based`:
|
|
55
|
-
* if the top line falls in `[lo, hiExclusive)`, that block wins; in gaps, the block with the
|
|
56
|
-
* greatest `lo` still at or above the top line; if the viewport is above every `lo`, the first
|
|
57
|
-
* block by `lo`.
|
|
58
|
-
*/
|
|
33
|
+
/** Maps source viewport top → commentray line (naive pick); see commentray. */
|
|
59
34
|
export declare function pickCommentrayLineForSourceScroll(blocks: BlockScrollLink[], topSourceLine1Based: number): number | null;
|
|
60
35
|
/**
|
|
61
|
-
*
|
|
36
|
+
* Source viewport → companion markdown line for **dual-pane** hosts (VS Code, rendered preview):
|
|
37
|
+
* when the source probe sits **strictly inside** a block’s indexed viewport span, map linearly from
|
|
38
|
+
* `sourceStart`…`sourceEnd` onto markdown lines **after** that block’s `<!-- commentray:block` line
|
|
39
|
+
* up to (but not including) the next block marker (or end of file). Otherwise (prelude, gaps, after
|
|
40
|
+
* the last span) call `gapFallback()` — typically a proportional mirror, matching
|
|
41
|
+
* `docs/spec/dual-pane-scroll-sync.md` source-gap behaviour.
|
|
62
42
|
*/
|
|
43
|
+
export declare function pickCommentrayLineForSourceDualPane(blocks: BlockScrollLink[], topSourceLine1Based: number, commentrayMdLineCount: number, gapFallback: () => number): number;
|
|
44
|
+
/** Commentray→source hysteresis twin; see commentray. */
|
|
63
45
|
export declare function pickBlockScrollLinkForCommentrayViewportWithHysteresis(blocks: BlockScrollLink[], topCommentrayLine0Based: number, state: BlockScrollStickyState, hysteresisMdLines?: number): BlockScrollLink | null;
|
|
64
|
-
/**
|
|
65
|
-
* The block whose companion marker is at or above `topCommentrayLine0Based`
|
|
66
|
-
* (same rule as {@link pickSourceLine0ForCommentrayScroll}).
|
|
67
|
-
*/
|
|
46
|
+
/** Naive pick: last block whose marker line ≤ viewport top (0-based MD lines). */
|
|
68
47
|
export declare function pickBlockScrollLinkForCommentrayScroll(blocks: BlockScrollLink[], topCommentrayLine0Based: number): BlockScrollLink | null;
|
|
69
|
-
/**
|
|
70
|
-
* Choose a 0-based source line to reveal from the top of the commentray
|
|
71
|
-
* viewport: the block whose marker is at or above that line wins; reveal the
|
|
72
|
-
* first line of its viewport span (`lo` − 1).
|
|
73
|
-
*/
|
|
48
|
+
/** Commentray viewport top → 0-based source line (`lo - 1` of winning block). */
|
|
74
49
|
export declare function pickSourceLine0ForCommentrayScroll(blocks: BlockScrollLink[], topCommentrayLine0Based: number): number | null;
|
|
75
50
|
//# sourceMappingURL=block-scroll-pickers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-scroll-pickers.d.ts","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG;IAC5B,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"block-scroll-pickers.d.ts","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG;IAC5B,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,4BAA4B,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,GAAG,IAAI,CAUxB;AAED,gDAAgD;AAChD,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAOT;AAED,+FAA+F;AAC/F,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAqBT;AAED,gFAAgF;AAChF,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,GAAG,IAAI,CAyBxB;AAED,qGAAqG;AACrG,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,8GAA8G;AAC9G,eAAO,MAAM,4CAA4C,IAAI,CAAC;AAgC9D,oDAAoD;AACpD,wBAAgB,kDAAkD,CAChE,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,sBAAsB,EAC7B,qBAAqB,GAAE,MAAiD,GACvE,eAAe,GAAG,IAAI,CA6BxB;AAED,+EAA+E;AAC/E,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAGf;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,EAC3B,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE,MAAM,MAAM,GACxB,MAAM,CAcR;AA0BD,yDAAyD;AACzD,wBAAgB,sDAAsD,CACpE,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,EAC/B,KAAK,EAAE,sBAAsB,EAC7B,iBAAiB,GAAE,MAAqD,GACvE,eAAe,GAAG,IAAI,CA2BxB;AAED,kFAAkF;AAClF,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,eAAe,GAAG,IAAI,CAUxB;AAED,iFAAiF;AACjF,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,MAAM,GAAG,IAAI,CAGf"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Which index block “owns” the source viewport top line (1-based), without hysteresis.
|
|
3
|
-
* Same geometry as {@link pickCommentrayLineForSourceScroll}.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* The index block whose source viewport span **strictly contains** `topSourceLine1Based`
|
|
7
|
-
* (`[lo, hiExclusive)`). When spans overlap, the earliest block by `lo` wins. Returns `null` in
|
|
8
|
-
* true inter-block **gaps** (including above the first `lo` only when that line is still below
|
|
9
|
-
* `lo` — callers combine with {@link sourceTopLineStrictlyBeforeFirstIndexLine} for “prelude”).
|
|
10
|
-
*/
|
|
1
|
+
/** Strict `[lo, hi)` contain; `null` in gaps. See commentray for geometry. */
|
|
11
2
|
export function blockStrictlyContainingSourceViewportLine(blocks, topSourceLine1Based) {
|
|
12
3
|
if (blocks.length === 0)
|
|
13
4
|
return null;
|
|
@@ -19,7 +10,7 @@ export function blockStrictlyContainingSourceViewportLine(blocks, topSourceLine1
|
|
|
19
10
|
}
|
|
20
11
|
return null;
|
|
21
12
|
}
|
|
22
|
-
/**
|
|
13
|
+
/** Prelude above every span; see commentray. */
|
|
23
14
|
export function sourceTopLineStrictlyBeforeFirstIndexLine(blocks, topSourceLine1Based) {
|
|
24
15
|
if (blocks.length === 0)
|
|
25
16
|
return false;
|
|
@@ -29,10 +20,7 @@ export function sourceTopLineStrictlyBeforeFirstIndexLine(blocks, topSourceLine1
|
|
|
29
20
|
}
|
|
30
21
|
return topSourceLine1Based < minLo;
|
|
31
22
|
}
|
|
32
|
-
/**
|
|
33
|
-
* True when the doc viewport probe sits strictly **between** two block marker lines in companion
|
|
34
|
-
* order (interstitial prose / blanks), not on a marker line and not before the first marker.
|
|
35
|
-
*/
|
|
23
|
+
/** True when probe sits strictly between two `commentray:block` lines (interstitial prose). */
|
|
36
24
|
export function commentrayProbeInStrictInterMarkerGap(blocks, topCommentrayLine0Based) {
|
|
37
25
|
if (blocks.length === 0)
|
|
38
26
|
return false;
|
|
@@ -57,6 +45,7 @@ export function commentrayProbeInStrictInterMarkerGap(blocks, topCommentrayLine0
|
|
|
57
45
|
}
|
|
58
46
|
return false;
|
|
59
47
|
}
|
|
48
|
+
/** Naive source viewport pick (inside span / gap / prelude); see commentray. */
|
|
60
49
|
export function pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Based) {
|
|
61
50
|
if (blocks.length === 0)
|
|
62
51
|
return null;
|
|
@@ -86,11 +75,7 @@ export function pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Ba
|
|
|
86
75
|
export const DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES = 2;
|
|
87
76
|
/** Default: require this many **commentray markdown** lines into the naive winner before leaving the lock. */
|
|
88
77
|
export const DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES = 4;
|
|
89
|
-
/**
|
|
90
|
-
* Shared prelude for Schmitt-style hysteresis after the caller’s naive pick: clear lock when there
|
|
91
|
-
* is no naive block; bootstrap or refresh `lockedId` on first hit / same block / stale lock;
|
|
92
|
-
* otherwise hand off naive + locked for span- or line-based separation math.
|
|
93
|
-
*/
|
|
78
|
+
/** Hysteresis lock resolution; diagram in commentray. */
|
|
94
79
|
function resolveStickyHysteresisLock(naive, blocks, state) {
|
|
95
80
|
if (!naive) {
|
|
96
81
|
state.lockedId = null;
|
|
@@ -110,11 +95,7 @@ function resolveStickyHysteresisLock(naive, blocks, state) {
|
|
|
110
95
|
}
|
|
111
96
|
return { outcome: "hysteresis", naive, locked };
|
|
112
97
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Schmitt-style block pick for **source→commentray** sync: keeps the active block until the
|
|
115
|
-
* viewport top has moved clearly into another block’s territory, so probe noise at span edges
|
|
116
|
-
* does not flip the partner between unrelated regions.
|
|
117
|
-
*/
|
|
98
|
+
/** Source→commentray hysteresis; see commentray. */
|
|
118
99
|
export function pickBlockScrollLinkForSourceViewportWithHysteresis(blocks, topSourceLine1Based, state, hysteresisSourceLines = DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES) {
|
|
119
100
|
const HYST = Math.max(1, Math.floor(hysteresisSourceLines));
|
|
120
101
|
const naive = pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Based);
|
|
@@ -147,20 +128,48 @@ export function pickBlockScrollLinkForSourceViewportWithHysteresis(blocks, topSo
|
|
|
147
128
|
}
|
|
148
129
|
return locked;
|
|
149
130
|
}
|
|
150
|
-
/**
|
|
151
|
-
* Choose which commentray line (0-based) to reveal so the commentary matches
|
|
152
|
-
* the top of the source viewport. Uses each link’s `markerViewportHalfOpen1Based`:
|
|
153
|
-
* if the top line falls in `[lo, hiExclusive)`, that block wins; in gaps, the block with the
|
|
154
|
-
* greatest `lo` still at or above the top line; if the viewport is above every `lo`, the first
|
|
155
|
-
* block by `lo`.
|
|
156
|
-
*/
|
|
131
|
+
/** Maps source viewport top → commentray line (naive pick); see commentray. */
|
|
157
132
|
export function pickCommentrayLineForSourceScroll(blocks, topSourceLine1Based) {
|
|
158
133
|
const b = pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Based);
|
|
159
134
|
return b ? b.commentrayLine : null;
|
|
160
135
|
}
|
|
161
136
|
/**
|
|
162
|
-
*
|
|
137
|
+
* Source viewport → companion markdown line for **dual-pane** hosts (VS Code, rendered preview):
|
|
138
|
+
* when the source probe sits **strictly inside** a block’s indexed viewport span, map linearly from
|
|
139
|
+
* `sourceStart`…`sourceEnd` onto markdown lines **after** that block’s `<!-- commentray:block` line
|
|
140
|
+
* up to (but not including) the next block marker (or end of file). Otherwise (prelude, gaps, after
|
|
141
|
+
* the last span) call `gapFallback()` — typically a proportional mirror, matching
|
|
142
|
+
* `docs/spec/dual-pane-scroll-sync.md` source-gap behaviour.
|
|
163
143
|
*/
|
|
144
|
+
export function pickCommentrayLineForSourceDualPane(blocks, topSourceLine1Based, commentrayMdLineCount, gapFallback) {
|
|
145
|
+
if (blocks.length === 0) {
|
|
146
|
+
return gapFallback();
|
|
147
|
+
}
|
|
148
|
+
const inside = blockStrictlyContainingSourceViewportLine(blocks, topSourceLine1Based);
|
|
149
|
+
if (inside === null) {
|
|
150
|
+
return gapFallback();
|
|
151
|
+
}
|
|
152
|
+
return commentrayBodyLineWithinBlockFromSourceTop(blocks, inside, topSourceLine1Based, commentrayMdLineCount);
|
|
153
|
+
}
|
|
154
|
+
function commentrayBodyLineWithinBlockFromSourceTop(blocks, block, topSourceLine1Based, commentrayMdLineCount) {
|
|
155
|
+
const sorted = [...blocks].sort((a, b) => a.commentrayLine - b.commentrayLine);
|
|
156
|
+
const idx = sorted.findIndex((b) => b.id === block.id);
|
|
157
|
+
const next = idx >= 0 ? sorted[idx + 1] : undefined;
|
|
158
|
+
const mdCeilExclusive = next !== undefined ? next.commentrayLine : commentrayMdLineCount;
|
|
159
|
+
const mdBodyFirst = block.commentrayLine + 1;
|
|
160
|
+
const mdBodyLastInclusive = mdCeilExclusive - 1;
|
|
161
|
+
if (mdBodyLastInclusive < mdBodyFirst) {
|
|
162
|
+
return block.commentrayLine;
|
|
163
|
+
}
|
|
164
|
+
const srcLo = block.sourceStart;
|
|
165
|
+
const srcHi = block.sourceEnd;
|
|
166
|
+
const clamped = Math.min(Math.max(topSourceLine1Based, srcLo), srcHi);
|
|
167
|
+
const denom = Math.max(1, srcHi - srcLo);
|
|
168
|
+
const t = srcHi === srcLo ? 0 : (clamped - srcLo) / denom;
|
|
169
|
+
const mdLine = Math.round(mdBodyFirst + t * (mdBodyLastInclusive - mdBodyFirst));
|
|
170
|
+
return Math.min(mdBodyLastInclusive, Math.max(mdBodyFirst, mdLine));
|
|
171
|
+
}
|
|
172
|
+
/** Commentray→source hysteresis twin; see commentray. */
|
|
164
173
|
export function pickBlockScrollLinkForCommentrayViewportWithHysteresis(blocks, topCommentrayLine0Based, state, hysteresisMdLines = DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES) {
|
|
165
174
|
const HYST = Math.max(1, Math.floor(hysteresisMdLines));
|
|
166
175
|
const naive = pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine0Based);
|
|
@@ -191,10 +200,7 @@ export function pickBlockScrollLinkForCommentrayViewportWithHysteresis(blocks, t
|
|
|
191
200
|
}
|
|
192
201
|
return locked;
|
|
193
202
|
}
|
|
194
|
-
/**
|
|
195
|
-
* The block whose companion marker is at or above `topCommentrayLine0Based`
|
|
196
|
-
* (same rule as {@link pickSourceLine0ForCommentrayScroll}).
|
|
197
|
-
*/
|
|
203
|
+
/** Naive pick: last block whose marker line ≤ viewport top (0-based MD lines). */
|
|
198
204
|
export function pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine0Based) {
|
|
199
205
|
if (blocks.length === 0)
|
|
200
206
|
return null;
|
|
@@ -209,11 +215,7 @@ export function pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine
|
|
|
209
215
|
}
|
|
210
216
|
return best;
|
|
211
217
|
}
|
|
212
|
-
/**
|
|
213
|
-
* Choose a 0-based source line to reveal from the top of the commentray
|
|
214
|
-
* viewport: the block whose marker is at or above that line wins; reveal the
|
|
215
|
-
* first line of its viewport span (`lo` − 1).
|
|
216
|
-
*/
|
|
218
|
+
/** Commentray viewport top → 0-based source line (`lo - 1` of winning block). */
|
|
217
219
|
export function pickSourceLine0ForCommentrayScroll(blocks, topCommentrayLine0Based) {
|
|
218
220
|
const link = pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine0Based);
|
|
219
221
|
return link ? link.markerViewportHalfOpen1Based.lo - 1 : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-scroll-pickers.js","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block-scroll-pickers.js","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** `{storageDir}/source/` as used for repo-relative path checks (matches extension + `resolvePairedPaths`). */
|
|
2
|
+
export declare function commentrayStorageSourcePrefix(storageDir: string): string;
|
|
3
|
+
export type CommentrayActiveEditorUiFlags = {
|
|
4
|
+
/** Active path is under `{storageDir}/source/`. */
|
|
5
|
+
underCompanionSourceTree: boolean;
|
|
6
|
+
/** Companion `.md` path maps to a primary source path (flat or Angles). */
|
|
7
|
+
isResolvableCompanionMarkdown: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Pure rules for VS Code `when` / `enablement`: which Commentray commands fit the active workspace file.
|
|
11
|
+
*
|
|
12
|
+
* @param normalizedRepoRelativePath — repo-relative path with `/` separators (e.g. from `normalizeRepoRelativePath`).
|
|
13
|
+
*/
|
|
14
|
+
export declare function commentrayActiveEditorUiFlags(input: {
|
|
15
|
+
normalizedRepoRelativePath: string;
|
|
16
|
+
storageDir: string;
|
|
17
|
+
repoRoot: string;
|
|
18
|
+
}): CommentrayActiveEditorUiFlags;
|
|
19
|
+
//# sourceMappingURL=commentray-active-editor-ui-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commentray-active-editor-ui-context.d.ts","sourceRoot":"","sources":["../src/commentray-active-editor-ui-context.ts"],"names":[],"mappings":"AAGA,+GAA+G;AAC/G,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mDAAmD;IACnD,wBAAwB,EAAE,OAAO,CAAC;IAClC,2EAA2E;IAC3E,6BAA6B,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,0BAA0B,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,6BAA6B,CAgBhC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { pairFromCommentraySourceRel } from "./commentray-disk-pairs.js";
|
|
2
|
+
import { commentrayAnglesLayoutEnabled, normalizeRepoRelativePath } from "./paths.js";
|
|
3
|
+
/** `{storageDir}/source/` as used for repo-relative path checks (matches extension + `resolvePairedPaths`). */
|
|
4
|
+
export function commentrayStorageSourcePrefix(storageDir) {
|
|
5
|
+
const sd = storageDir.replaceAll("\\", "/");
|
|
6
|
+
return `${sd}/source/`;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Pure rules for VS Code `when` / `enablement`: which Commentray commands fit the active workspace file.
|
|
10
|
+
*
|
|
11
|
+
* @param normalizedRepoRelativePath — repo-relative path with `/` separators (e.g. from `normalizeRepoRelativePath`).
|
|
12
|
+
*/
|
|
13
|
+
export function commentrayActiveEditorUiFlags(input) {
|
|
14
|
+
const normalized = normalizeRepoRelativePath(input.normalizedRepoRelativePath.replaceAll("\\", "/"));
|
|
15
|
+
const sourcePrefix = commentrayStorageSourcePrefix(input.storageDir);
|
|
16
|
+
if (!normalized.startsWith(sourcePrefix)) {
|
|
17
|
+
return { underCompanionSourceTree: false, isResolvableCompanionMarkdown: false };
|
|
18
|
+
}
|
|
19
|
+
const relFromSourceDir = normalized.slice(sourcePrefix.length);
|
|
20
|
+
const storageNorm = normalizeRepoRelativePath(input.storageDir.replaceAll("\\", "/"));
|
|
21
|
+
const anglesOn = commentrayAnglesLayoutEnabled(input.repoRoot, input.storageDir);
|
|
22
|
+
const pair = pairFromCommentraySourceRel(storageNorm, relFromSourceDir, anglesOn);
|
|
23
|
+
return {
|
|
24
|
+
underCompanionSourceTree: true,
|
|
25
|
+
isResolvableCompanionMarkdown: Boolean(pair),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=commentray-active-editor-ui-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commentray-active-editor-ui-context.js","sourceRoot":"","sources":["../src/commentray-active-editor-ui-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEtF,+GAA+G;AAC/G,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC9D,MAAM,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,GAAG,EAAE,UAAU,CAAC;AACzB,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAI7C;IACC,MAAM,UAAU,GAAG,yBAAyB,CAC1C,KAAK,CAAC,0BAA0B,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CACvD,CAAC;IACF,MAAM,YAAY,GAAG,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,2BAA2B,CAAC,WAAW,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAClF,OAAO;QACL,wBAAwB,EAAE,IAAI;QAC9B,6BAA6B,EAAE,OAAO,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { findMonorepoPackagesDir, monorepoLayoutStartDir } from "./monorepo-layo
|
|
|
12
12
|
export type { CommentrayStaticBrowsePairPaths, CommentrayStaticBrowsePathResolver, } from "./browse-contract.js";
|
|
13
13
|
export { defaultCommentrayStaticBrowsePathResolver } from "./browse-path-default.js";
|
|
14
14
|
export { staticBrowseIndexRelPathFromPair } from "./commentray-static-browse-path.js";
|
|
15
|
+
export { commentrayActiveEditorUiFlags, commentrayStorageSourcePrefix, } from "./commentray-active-editor-ui-context.js";
|
|
16
|
+
export type { CommentrayActiveEditorUiFlags } from "./commentray-active-editor-ui-context.js";
|
|
15
17
|
export { commentrayPairSourceFileExistsOnDisk, discoverCommentrayPairsOnDisk, pairFromCommentraySourceRel, } from "./commentray-disk-pairs.js";
|
|
16
18
|
export type { DiskCommentrayPair } from "./commentray-disk-pairs.js";
|
|
17
19
|
export { collectOrphanCompanionMarkdownTargets, orphanCompanionCleanupAbsPath, pruneOrphanCompanionMarkdown, } from "./orphan-companion-markdown.js";
|
|
@@ -44,8 +46,8 @@ export { parseApprovalFlowSections, parseApprovalFlowSectionsWithFormat, parseAp
|
|
|
44
46
|
export { relocationHintMessages } from "./relocation-hints.js";
|
|
45
47
|
export type { RelocationHintsInput } from "./relocation-hints.js";
|
|
46
48
|
export { runCommanderMain } from "./cli-bootstrap.js";
|
|
47
|
-
export type { BlockScrollLink, BlockScrollStickyState } from "./scroll-sync.js";
|
|
48
|
-
export { blockStrictlyContainingSourceViewportLine, buildBlockScrollLinks, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./scroll-sync.js";
|
|
49
|
+
export type { BlockScrollLink, BlockScrollStickyState, MarkdownHtmlCommentrayRegion, } from "./scroll-sync.js";
|
|
50
|
+
export { blockStrictlyContainingSourceViewportLine, buildBlockScrollLinks, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceDualPane, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, parseMarkdownHtmlCommentrayRegions, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./scroll-sync.js";
|
|
49
51
|
export { commentrayRegionInsertions, lineCommentLeaderForLanguage, markerViewportHalfOpen1Based, parseCommentrayRegionBoundary, sourceLineRangeForMarkerId, } from "./source-markers.js";
|
|
50
52
|
export type { RegionMarkerNamingHintStrategy, RegionMarkerNamingInput, RegionMarkerNamingRange, RegionMarkerNamingStrategy, } from "./region-marker-naming.js";
|
|
51
53
|
export { CallbackRegionMarkerNamingStrategy, CodeStructureHintStrategy, CompositeRegionMarkerNamingStrategy, defaultRegionMarkerNamingStrategy, EnclosingSymbolHintStrategy, MarkdownHeadingHintStrategy, TomlTableHeaderHintStrategy, tryCodeStructureNameHint, tryMarkdownHeadingTitleAbove, tryNormaliseContextLabelToMarkerId, tryTomlTablePathAboveSelection, } from "./region-marker-naming.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { commentrayAnglesLayoutEnabled, commentrayAnglesSentinelPath, commentray
|
|
|
7
7
|
export { findMonorepoPackagesDir, monorepoLayoutStartDir } from "./monorepo-layout.js";
|
|
8
8
|
export { defaultCommentrayStaticBrowsePathResolver } from "./browse-path-default.js";
|
|
9
9
|
export { staticBrowseIndexRelPathFromPair } from "./commentray-static-browse-path.js";
|
|
10
|
+
export { commentrayActiveEditorUiFlags, commentrayStorageSourcePrefix, } from "./commentray-active-editor-ui-context.js";
|
|
10
11
|
export { commentrayPairSourceFileExistsOnDisk, discoverCommentrayPairsOnDisk, pairFromCommentraySourceRel, } from "./commentray-disk-pairs.js";
|
|
11
12
|
export { collectOrphanCompanionMarkdownTargets, orphanCompanionCleanupAbsPath, pruneOrphanCompanionMarkdown, } from "./orphan-companion-markdown.js";
|
|
12
13
|
export { DEFAULT_STRETCH_BUFFER_SYNC, loadCommentrayConfig, mergeCommentrayConfig, } from "./config.js";
|
|
@@ -26,7 +27,7 @@ export { APPROVAL_GRID_STANDARD, APPROVAL_HUMAN_BREAK_ROW, approvalHumanBreakFul
|
|
|
26
27
|
export { parseApprovalFlowSections, parseApprovalFlowSectionsWithFormat, parseApprovalRows, splitApprovalLineToCells, } from "./approval-flow-grid.js";
|
|
27
28
|
export { relocationHintMessages } from "./relocation-hints.js";
|
|
28
29
|
export { runCommanderMain } from "./cli-bootstrap.js";
|
|
29
|
-
export { blockStrictlyContainingSourceViewportLine, buildBlockScrollLinks, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./scroll-sync.js";
|
|
30
|
+
export { blockStrictlyContainingSourceViewportLine, buildBlockScrollLinks, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceDualPane, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, parseMarkdownHtmlCommentrayRegions, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./scroll-sync.js";
|
|
30
31
|
export { commentrayRegionInsertions, lineCommentLeaderForLanguage, markerViewportHalfOpen1Based, parseCommentrayRegionBoundary, sourceLineRangeForMarkerId, } from "./source-markers.js";
|
|
31
32
|
export { CallbackRegionMarkerNamingStrategy, CodeStructureHintStrategy, CompositeRegionMarkerNamingStrategy, defaultRegionMarkerNamingStrategy, EnclosingSymbolHintStrategy, MarkdownHeadingHintStrategy, TomlTableHeaderHintStrategy, tryCodeStructureNameHint, tryMarkdownHeadingTitleAbove, tryNormaliseContextLabelToMarkerId, tryTomlTablePathAboveSelection, } from "./region-marker-naming.js";
|
|
32
33
|
export { convertCommentraySourceMarkersToLanguage, findCommentrayMarkerPairs, leadingIndentOfLine, } from "./region-marker-convert.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAS9E,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,wCAAwC,GACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,wCAAwC,EACxC,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAKvF,OAAO,EAAE,yCAAyC,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EACL,oCAAoC,EACpC,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AAcxC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EACL,iCAAiC,EACjC,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,EACL,SAAS,EACT,4BAA4B,EAC5B,eAAe,EACf,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAQ7E,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mDAAmD,CAAC;AAK3D,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,7 @@ export type RegionMarkerNamingRange = {
|
|
|
3
3
|
startLine: number;
|
|
4
4
|
endLine: number;
|
|
5
5
|
};
|
|
6
|
-
/**
|
|
7
|
-
* Everything needed to suggest a marker id without touching the filesystem.
|
|
8
|
-
* Hosts (editors, CLI) may supply {@link RegionMarkerNamingInput.enclosingSymbolName}
|
|
9
|
-
* from LSP or heuristics; when absent, language-aware fallbacks run in order.
|
|
10
|
-
*/
|
|
6
|
+
/** Suggest marker id inputs; full pipeline: `region-marker-naming.ts` commentray. */
|
|
11
7
|
export type RegionMarkerNamingInput = {
|
|
12
8
|
languageId: string;
|
|
13
9
|
sourceText: string;
|
|
@@ -17,31 +13,22 @@ export type RegionMarkerNamingInput = {
|
|
|
17
13
|
/** Injected for deterministic tests; defaults to `Math.random` in the composite fallback. */
|
|
18
14
|
rng?: () => number;
|
|
19
15
|
};
|
|
20
|
-
/**
|
|
21
|
-
* Swappable policy for choosing `marker:<id>` / `commentray:<id>` ids when wrapping a selection.
|
|
22
|
-
* Implementations should be pure (no I/O, no globals except injected `rng`).
|
|
23
|
-
*/
|
|
16
|
+
/** Pure policy for `marker:<id>` / `commentray:<id>`; see commentray. */
|
|
24
17
|
export interface RegionMarkerNamingStrategy {
|
|
25
18
|
suggestMarkerId(input: RegionMarkerNamingInput): string;
|
|
26
19
|
}
|
|
27
|
-
/**
|
|
28
|
-
* One step in a pipeline: return a **valid** marker id, or `null` to let the next step run.
|
|
29
|
-
*/
|
|
20
|
+
/** Return a valid id or `null` to defer; see commentray. */
|
|
30
21
|
export interface RegionMarkerNamingHintStrategy {
|
|
31
22
|
trySuggestMarkerId(input: RegionMarkerNamingInput): string | null;
|
|
32
23
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Runs hint strategies in order, then {@link generateBlockId} when every hint declines.
|
|
35
|
-
*/
|
|
24
|
+
/** Ordered hints then `generateBlockId`; see commentray. */
|
|
36
25
|
export declare class CompositeRegionMarkerNamingStrategy implements RegionMarkerNamingStrategy {
|
|
37
26
|
private readonly hints;
|
|
38
27
|
private readonly fallbackRng;
|
|
39
28
|
constructor(hints: readonly RegionMarkerNamingHintStrategy[], fallbackRng?: () => number);
|
|
40
29
|
suggestMarkerId(input: RegionMarkerNamingInput): string;
|
|
41
30
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Escape hatch for hosts that already computed an id (e.g. custom rules, telemetry-driven names).
|
|
44
|
-
*/
|
|
31
|
+
/** Host-supplied id function; see commentray. */
|
|
45
32
|
export declare class CallbackRegionMarkerNamingStrategy implements RegionMarkerNamingStrategy {
|
|
46
33
|
private readonly suggest;
|
|
47
34
|
constructor(suggest: (input: RegionMarkerNamingInput) => string);
|
|
@@ -59,15 +46,11 @@ export declare class MarkdownHeadingHintStrategy implements RegionMarkerNamingHi
|
|
|
59
46
|
export declare class CodeStructureHintStrategy implements RegionMarkerNamingHintStrategy {
|
|
60
47
|
trySuggestMarkerId(input: RegionMarkerNamingInput): string | null;
|
|
61
48
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Walks upward from `startLine1` and returns the innermost TOML table path
|
|
64
|
-
* (`anchors`, `angles.definitions`, …) declared on a `[header]` / `[[array]]` line.
|
|
65
|
-
*/
|
|
49
|
+
/** Innermost TOML `[header]` / `[[array]]` path above `startLine1`; see commentray. */
|
|
66
50
|
export declare function tryTomlTablePathAboveSelection(sourceText: string, startLine1: number): string | null;
|
|
67
|
-
/**
|
|
68
|
-
* Nearest Markdown heading text at or above `startLine1` (ATX headings only).
|
|
69
|
-
*/
|
|
51
|
+
/** Nearest ATX heading at or above line; see commentray. */
|
|
70
52
|
export declare function tryMarkdownHeadingTitleAbove(sourceText: string, startLine1: number): string | null;
|
|
53
|
+
/** Declaration / class name near selection; see commentray. */
|
|
71
54
|
export declare function tryCodeStructureNameHint(languageId: string, sourceText: string, range: RegionMarkerNamingRange): string | null;
|
|
72
55
|
export declare function tryNormaliseContextLabelToMarkerId(raw: string): string | null;
|
|
73
56
|
/** Fixed pipeline: enclosing symbol → TOML table → Markdown heading → code shape → random. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region-marker-naming.d.ts","sourceRoot":"","sources":["../src/region-marker-naming.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"region-marker-naming.d.ts","sourceRoot":"","sources":["../src/region-marker-naming.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,yEAAyE;AACzE,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC;CACzD;AAED,4DAA4D;AAC5D,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI,CAAC;CACnE;AAED,4DAA4D;AAC5D,qBAAa,mCAAoC,YAAW,0BAA0B;IAElF,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,KAAK,EAAE,SAAS,8BAA8B,EAAE,EAChD,WAAW,GAAE,MAAM,MAAoB;IAG1D,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM;CAcxD;AAED,iDAAiD;AACjD,qBAAa,kCAAmC,YAAW,0BAA0B;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,MAAM;IAEhF,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM;CAGxD;AAID,qBAAa,2BAA4B,YAAW,8BAA8B;IAChF,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI;CAKlE;AAED,qBAAa,2BAA4B,YAAW,8BAA8B;IAChF,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI;CAOlE;AAED,qBAAa,2BAA4B,YAAW,8BAA8B;IAChF,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI;CAMlE;AAED,qBAAa,yBAA0B,YAAW,8BAA8B;IAC9E,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI;CAMlE;AAOD,uFAAuF;AACvF,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAaf;AAID,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAQf;AA0HD,+DAA+D;AAC/D,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,GAC7B,MAAM,GAAG,IAAI,CAoCf;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY7E;AAkCD,8FAA8F;AAC9F,eAAO,MAAM,iCAAiC,EAAE,0BAM5C,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { generateBlockId } from "./blocks.js";
|
|
2
2
|
import { assertValidMarkerId, normaliseMarkerSlugOrThrow } from "./marker-ids.js";
|
|
3
|
-
/**
|
|
4
|
-
* Runs hint strategies in order, then {@link generateBlockId} when every hint declines.
|
|
5
|
-
*/
|
|
3
|
+
/** Ordered hints then `generateBlockId`; see commentray. */
|
|
6
4
|
export class CompositeRegionMarkerNamingStrategy {
|
|
7
5
|
hints;
|
|
8
6
|
fallbackRng;
|
|
@@ -27,9 +25,7 @@ export class CompositeRegionMarkerNamingStrategy {
|
|
|
27
25
|
return generateBlockId(rng);
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Escape hatch for hosts that already computed an id (e.g. custom rules, telemetry-driven names).
|
|
32
|
-
*/
|
|
28
|
+
/** Host-supplied id function; see commentray. */
|
|
33
29
|
export class CallbackRegionMarkerNamingStrategy {
|
|
34
30
|
suggest;
|
|
35
31
|
constructor(suggest) {
|
|
@@ -82,10 +78,7 @@ export class CodeStructureHintStrategy {
|
|
|
82
78
|
// --- Pure extractors (tested directly; safe to reuse from custom strategies) ---
|
|
83
79
|
const TOML_LINE_ARRAY_TABLE = /^\s*\[\[([^\]]+)\]\]\s*(?:#.*)?$/;
|
|
84
80
|
const TOML_LINE_TABLE = /^\s*\[([^\]]+)\]\s*(?:#.*)?$/;
|
|
85
|
-
/**
|
|
86
|
-
* Walks upward from `startLine1` and returns the innermost TOML table path
|
|
87
|
-
* (`anchors`, `angles.definitions`, …) declared on a `[header]` / `[[array]]` line.
|
|
88
|
-
*/
|
|
81
|
+
/** Innermost TOML `[header]` / `[[array]]` path above `startLine1`; see commentray. */
|
|
89
82
|
export function tryTomlTablePathAboveSelection(sourceText, startLine1) {
|
|
90
83
|
const lines = sourceText.replaceAll("\r\n", "\n").split("\n");
|
|
91
84
|
const start0 = Math.max(0, Math.floor(startLine1) - 1);
|
|
@@ -103,9 +96,7 @@ export function tryTomlTablePathAboveSelection(sourceText, startLine1) {
|
|
|
103
96
|
return null;
|
|
104
97
|
}
|
|
105
98
|
const MD_HEADING = /^\s{0,3}(#{1,6})\s+(.+?)\s*$/;
|
|
106
|
-
/**
|
|
107
|
-
* Nearest Markdown heading text at or above `startLine1` (ATX headings only).
|
|
108
|
-
*/
|
|
99
|
+
/** Nearest ATX heading at or above line; see commentray. */
|
|
109
100
|
export function tryMarkdownHeadingTitleAbove(sourceText, startLine1) {
|
|
110
101
|
const lines = sourceText.replaceAll("\r\n", "\n").split("\n");
|
|
111
102
|
const start0 = Math.max(0, Math.floor(startLine1) - 1);
|
|
@@ -220,11 +211,8 @@ function patternsForLanguage(languageId) {
|
|
|
220
211
|
return SWIFT_PATTERNS;
|
|
221
212
|
return null;
|
|
222
213
|
}
|
|
223
|
-
/**
|
|
224
|
-
* Best-effort identifier near the selection: prefers declarations on selected lines,
|
|
225
|
-
* then scans upward within {@link LOOKBACK_LINES} lines.
|
|
226
|
-
*/
|
|
227
214
|
const PYTHON_CLASS_LINE = /^\s*class\s+(\w+)/;
|
|
215
|
+
/** Declaration / class name near selection; see commentray. */
|
|
228
216
|
export function tryCodeStructureNameHint(languageId, sourceText, range) {
|
|
229
217
|
const patterns = patternsForLanguage(languageId);
|
|
230
218
|
if (!patterns)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region-marker-naming.js","sourceRoot":"","sources":["../src/region-marker-naming.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"region-marker-naming.js","sourceRoot":"","sources":["../src/region-marker-naming.ts"],"names":[],"mappings":"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"}
|
package/dist/scroll-sync.d.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import type { BlockScrollLink } from "./block-scroll-pickers.js";
|
|
2
2
|
import type { CommentrayIndex } from "./model.js";
|
|
3
3
|
export type { BlockScrollLink, BlockScrollStickyState } from "./block-scroll-pickers.js";
|
|
4
|
-
export { blockStrictlyContainingSourceViewportLine, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./block-scroll-pickers.js";
|
|
4
|
+
export { blockStrictlyContainingSourceViewportLine, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceDualPane, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./block-scroll-pickers.js";
|
|
5
|
+
/** One `<!-- #region commentray:id -->` … `<!-- #endregion commentray:id -->` span in companion Markdown. */
|
|
6
|
+
export type MarkdownHtmlCommentrayRegion = {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
/** 0-based line of the opening `<!-- #region commentray:<id> -->`. */
|
|
9
|
+
readonly mdStartLine: number;
|
|
10
|
+
/** Exclusive line index past the closing `<!-- #endregion commentray:<id> -->`. */
|
|
11
|
+
readonly mdEndExclusive: number;
|
|
12
|
+
};
|
|
5
13
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* Sorted by `sourceStart`.
|
|
14
|
+
* Parses HTML-style Commentray regions in companion Markdown (`markdown` language family), the same
|
|
15
|
+
* shape `commentrayRegionInsertions("markdown", …)` emits. Used when there are no
|
|
16
|
+
* `<!-- commentray:block id=… -->` markers so scroll sync can still segment by authored sections.
|
|
10
17
|
*/
|
|
18
|
+
export declare function parseMarkdownHtmlCommentrayRegions(markdown: string): MarkdownHtmlCommentrayRegion[];
|
|
19
|
+
/** Join index + companion markers into `BlockScrollLink[]`; see scroll-sync commentray. */
|
|
11
20
|
export declare function buildBlockScrollLinks(index: CommentrayIndex | null | undefined, sourceRelative: string, commentrayPath: string, commentrayMarkdown: string, sourceText?: string): BlockScrollLink[];
|
|
12
21
|
//# sourceMappingURL=scroll-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-sync.d.ts","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EACL,yCAAyC,EACzC,qCAAqC,EACrC,4CAA4C,EAC5C,wCAAwC,EACxC,sCAAsC,EACtC,sDAAsD,EACtD,uCAAuC,EACvC,kDAAkD,EAClD,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,2BAA2B,CAAC;AAoCnC
|
|
1
|
+
{"version":3,"file":"scroll-sync.d.ts","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EACL,yCAAyC,EACzC,qCAAqC,EACrC,4CAA4C,EAC5C,wCAAwC,EACxC,sCAAsC,EACtC,sDAAsD,EACtD,uCAAuC,EACvC,kDAAkD,EAClD,mCAAmC,EACnC,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,2BAA2B,CAAC;AAoCnC,6GAA6G;AAC7G,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,GACf,4BAA4B,EAAE,CA4ChC;AAsED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,EAAE,CA6CnB"}
|
package/dist/scroll-sync.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { parseAnchor } from "./anchors.js";
|
|
2
|
-
import { MARKER_ID_BODY } from "./marker-ids.js";
|
|
2
|
+
import { assertValidMarkerId, MARKER_ID_BODY } from "./marker-ids.js";
|
|
3
3
|
import { normalizeRepoRelativePath } from "./paths.js";
|
|
4
4
|
import { markerViewportHalfOpen1Based, sourceLineRangeForMarkerId } from "./source-markers.js";
|
|
5
|
-
export { blockStrictlyContainingSourceViewportLine, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./block-scroll-pickers.js";
|
|
5
|
+
export { blockStrictlyContainingSourceViewportLine, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceDualPane, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./block-scroll-pickers.js";
|
|
6
6
|
const BLOCK_MARKER_RE = new RegExp(`<!-- commentray:block id=(${MARKER_ID_BODY}) -->`);
|
|
7
7
|
function markerLineByIdFromMarkdown(markdown) {
|
|
8
8
|
const map = new Map();
|
|
@@ -35,21 +35,143 @@ function buildMarkerFallbackLinks(markerLineById, sourceText) {
|
|
|
35
35
|
return links;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* Sorted by `sourceStart`.
|
|
38
|
+
* Parses HTML-style Commentray regions in companion Markdown (`markdown` language family), the same
|
|
39
|
+
* shape `commentrayRegionInsertions("markdown", …)` emits. Used when there are no
|
|
40
|
+
* `<!-- commentray:block id=… -->` markers so scroll sync can still segment by authored sections.
|
|
42
41
|
*/
|
|
42
|
+
export function parseMarkdownHtmlCommentrayRegions(markdown) {
|
|
43
|
+
const lines = markdown.split("\n");
|
|
44
|
+
const out = [];
|
|
45
|
+
const stack = [];
|
|
46
|
+
const startRe = /^<!--\s*#region\s+commentray:([a-z0-9][a-z0-9_-]{0,63})\s*-->$/i;
|
|
47
|
+
const endRe = /^<!--\s*#endregion\s+commentray:([a-z0-9][a-z0-9_-]{0,63})\s*-->$/i;
|
|
48
|
+
for (let i = 0; i < lines.length; i++) {
|
|
49
|
+
const line = lines[i] ?? "";
|
|
50
|
+
const sm = line.match(startRe);
|
|
51
|
+
if (sm) {
|
|
52
|
+
const startId = sm[1];
|
|
53
|
+
if (startId === undefined)
|
|
54
|
+
continue;
|
|
55
|
+
try {
|
|
56
|
+
assertValidMarkerId(startId);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
stack.push({ id: startId, start: i });
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
const em = line.match(endRe);
|
|
65
|
+
if (!em)
|
|
66
|
+
continue;
|
|
67
|
+
const endId = em[1];
|
|
68
|
+
if (endId === undefined)
|
|
69
|
+
continue;
|
|
70
|
+
try {
|
|
71
|
+
assertValidMarkerId(endId);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
let k = stack.length - 1;
|
|
77
|
+
while (k >= 0) {
|
|
78
|
+
const frame = stack[k];
|
|
79
|
+
if (frame !== undefined && frame.id.toLowerCase() === endId.toLowerCase())
|
|
80
|
+
break;
|
|
81
|
+
k -= 1;
|
|
82
|
+
}
|
|
83
|
+
if (k < 0)
|
|
84
|
+
continue;
|
|
85
|
+
const matched = stack[k];
|
|
86
|
+
if (matched === undefined)
|
|
87
|
+
continue;
|
|
88
|
+
const { start } = matched;
|
|
89
|
+
stack.splice(k);
|
|
90
|
+
out.push({ id: endId, mdStartLine: start, mdEndExclusive: i + 1 });
|
|
91
|
+
}
|
|
92
|
+
out.sort((a, b) => a.mdStartLine - b.mdStartLine);
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* When companion Markdown uses HTML `#region commentray:…` / `#endregion` pairs but the primary
|
|
97
|
+
* file has **no** matching region delimiters, partition **1…sourceLineCount** across regions in
|
|
98
|
+
* proportion to each region’s Markdown body height so dual-pane scroll is **piecewise** instead
|
|
99
|
+
* of one global ratio.
|
|
100
|
+
*/
|
|
101
|
+
function buildSyntheticBlockScrollLinksFromHtmlRegions(commentrayMarkdown, sourceText) {
|
|
102
|
+
if (sourceText === undefined)
|
|
103
|
+
return [];
|
|
104
|
+
const sourceLineCount = sourceText.split("\n").length;
|
|
105
|
+
if (sourceLineCount < 1)
|
|
106
|
+
return [];
|
|
107
|
+
const regions = parseMarkdownHtmlCommentrayRegions(commentrayMarkdown);
|
|
108
|
+
if (regions.length === 0)
|
|
109
|
+
return [];
|
|
110
|
+
if (sourceLineCount < regions.length)
|
|
111
|
+
return [];
|
|
112
|
+
const weights = regions.map((r) => Math.max(1, r.mdEndExclusive - r.mdStartLine - 2));
|
|
113
|
+
const sum = weights.reduce((a, b) => a + b, 0);
|
|
114
|
+
const slices = weights.map((w) => Math.max(1, Math.floor((w / sum) * sourceLineCount)));
|
|
115
|
+
let total = slices.reduce((a, b) => a + b, 0);
|
|
116
|
+
let guard = 0;
|
|
117
|
+
while (total < sourceLineCount && guard < sourceLineCount + 8) {
|
|
118
|
+
const idx = guard % slices.length;
|
|
119
|
+
const bump = slices[idx];
|
|
120
|
+
if (bump === undefined)
|
|
121
|
+
break;
|
|
122
|
+
slices[idx] = bump + 1;
|
|
123
|
+
total += 1;
|
|
124
|
+
guard += 1;
|
|
125
|
+
}
|
|
126
|
+
guard = 0;
|
|
127
|
+
while (total > sourceLineCount && guard < sourceLineCount + 8) {
|
|
128
|
+
const j = slices.findIndex((s) => s > 1);
|
|
129
|
+
if (j < 0)
|
|
130
|
+
break;
|
|
131
|
+
const cur = slices[j];
|
|
132
|
+
if (cur === undefined)
|
|
133
|
+
break;
|
|
134
|
+
slices[j] = cur - 1;
|
|
135
|
+
total -= 1;
|
|
136
|
+
guard += 1;
|
|
137
|
+
}
|
|
138
|
+
const links = [];
|
|
139
|
+
let srcLo = 1;
|
|
140
|
+
for (let j = 0; j < regions.length; j++) {
|
|
141
|
+
const slice = slices[j];
|
|
142
|
+
const r = regions[j];
|
|
143
|
+
if (slice === undefined || r === undefined)
|
|
144
|
+
continue;
|
|
145
|
+
const srcHi = Math.min(sourceLineCount, srcLo + slice - 1);
|
|
146
|
+
links.push({
|
|
147
|
+
id: r.id,
|
|
148
|
+
commentrayLine: r.mdStartLine,
|
|
149
|
+
sourceStart: srcLo,
|
|
150
|
+
sourceEnd: srcHi,
|
|
151
|
+
markerViewportHalfOpen1Based: { lo: srcLo, hiExclusive: srcHi + 1 },
|
|
152
|
+
});
|
|
153
|
+
srcLo = srcHi + 1;
|
|
154
|
+
}
|
|
155
|
+
return links;
|
|
156
|
+
}
|
|
157
|
+
function markerFallbackThenSynthetic(markerLineById, commentrayMarkdown, sourceText) {
|
|
158
|
+
const fb = buildMarkerFallbackLinks(markerLineById, sourceText);
|
|
159
|
+
if (fb.length > 0)
|
|
160
|
+
return fb;
|
|
161
|
+
return buildSyntheticBlockScrollLinksFromHtmlRegions(commentrayMarkdown, sourceText);
|
|
162
|
+
}
|
|
163
|
+
/** Join index + companion markers into `BlockScrollLink[]`; see scroll-sync commentray. */
|
|
43
164
|
export function buildBlockScrollLinks(index, sourceRelative, commentrayPath, commentrayMarkdown, sourceText) {
|
|
44
165
|
const markerLineById = markerLineByIdFromMarkdown(commentrayMarkdown);
|
|
45
166
|
const entry = index?.byCommentrayPath[commentrayPath];
|
|
46
167
|
if (!entry || entry.sourcePath !== sourceRelative || entry.blocks.length === 0) {
|
|
47
|
-
return
|
|
168
|
+
return markerFallbackThenSynthetic(markerLineById, commentrayMarkdown, sourceText);
|
|
48
169
|
}
|
|
49
170
|
const entryCrNorm = normalizeRepoRelativePath(entry.commentrayPath.replaceAll("\\", "/"));
|
|
50
171
|
const lookupCrNorm = normalizeRepoRelativePath(commentrayPath.replaceAll("\\", "/"));
|
|
51
|
-
if (entryCrNorm !== lookupCrNorm)
|
|
52
|
-
return
|
|
172
|
+
if (entryCrNorm !== lookupCrNorm) {
|
|
173
|
+
return markerFallbackThenSynthetic(markerLineById, commentrayMarkdown, sourceText);
|
|
174
|
+
}
|
|
53
175
|
const links = [];
|
|
54
176
|
for (const block of entry.blocks) {
|
|
55
177
|
const anchor = parseAnchor(block.anchor);
|
|
@@ -85,6 +207,8 @@ export function buildBlockScrollLinks(index, sourceRelative, commentrayPath, com
|
|
|
85
207
|
}
|
|
86
208
|
}
|
|
87
209
|
links.sort((a, b) => a.sourceStart - b.sourceStart);
|
|
88
|
-
|
|
210
|
+
if (links.length > 0)
|
|
211
|
+
return links;
|
|
212
|
+
return buildSyntheticBlockScrollLinksFromHtmlRegions(commentrayMarkdown, sourceText);
|
|
89
213
|
}
|
|
90
214
|
//# sourceMappingURL=scroll-sync.js.map
|
package/dist/scroll-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-sync.js","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"scroll-sync.js","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"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"}
|
package/dist/source-markers.d.ts
CHANGED
|
@@ -25,12 +25,7 @@ export declare function sourceLineRangeForMarkerId(sourceText: string, markerId:
|
|
|
25
25
|
start: number;
|
|
26
26
|
end: number;
|
|
27
27
|
} | null;
|
|
28
|
-
/**
|
|
29
|
-
* 1-based half-open `[lo, hiExclusive)` for viewport / scroll sync: includes one physical line
|
|
30
|
-
* above the start delimiter and the delimiter line itself, runs through the last inner line, and
|
|
31
|
-
* **excludes** the end delimiter line. The blank between a block’s end marker and the next block’s
|
|
32
|
-
* start marker therefore belongs to the next block (same as the line above the next start).
|
|
33
|
-
*/
|
|
28
|
+
/** Half-open viewport span for scroll sync; see source-markers commentray. */
|
|
34
29
|
export declare function markerViewportHalfOpen1Based(sourceText: string, markerId: string): {
|
|
35
30
|
lo: number;
|
|
36
31
|
hiExclusive: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-markers.d.ts","sourceRoot":"","sources":["../src/source-markers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"source-markers.d.ts","sourceRoot":"","sources":["../src/source-markers.ts"],"names":[],"mappings":"AAiGA;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAK,GACV;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAuDhC;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjD,2FAA2F;AAC3F,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA8CjD;AAoBD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;IACD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAQP;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU5C"}
|
package/dist/source-markers.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { assertValidMarkerId, MARKER_ID_BODY } from "./marker-ids.js";
|
|
2
2
|
/**
|
|
3
|
-
* Source delimiters for block anchors
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `//#endregion`, `#region` / `#endregion`, `#pragma region`, etc. (aligned
|
|
7
|
-
* with [Region Marker](https://marketplace.visualstudio.com/items?itemName=txava.region-marker)),
|
|
8
|
-
* Commentray uses the region **name** `commentray:<id>`.
|
|
9
|
-
*
|
|
10
|
-
* 2. **Generic comments** — for languages without a shared region idiom, we
|
|
11
|
-
* use ordinary line or block comments and our own `commentray:start id=<id>` /
|
|
12
|
-
* `commentray:end id=<id>` tokens (still parsed by {@link parseCommentrayRegionBoundary}).
|
|
13
|
-
*
|
|
14
|
-
* Legacy pairs that only use (2) remain valid everywhere.
|
|
3
|
+
* Source delimiters for block anchors (region `commentray:<id>` vs generic
|
|
4
|
+
* `commentray:start` / `end`). Full taxonomy and viewport geometry: companion
|
|
5
|
+
* `.commentray/source/.../source-markers.ts/main.md`.
|
|
15
6
|
*/
|
|
16
7
|
const COMMENTRAY_TAG = (id) => `commentray:${id.trim().toLowerCase()}`;
|
|
17
8
|
/** `//#region commentray:<id>` — JS/TS ecosystem & CSS preprocessors that use `//`. */
|
|
@@ -246,12 +237,7 @@ export function sourceLineRangeForMarkerId(sourceText, markerId) {
|
|
|
246
237
|
return null;
|
|
247
238
|
return { start, end };
|
|
248
239
|
}
|
|
249
|
-
/**
|
|
250
|
-
* 1-based half-open `[lo, hiExclusive)` for viewport / scroll sync: includes one physical line
|
|
251
|
-
* above the start delimiter and the delimiter line itself, runs through the last inner line, and
|
|
252
|
-
* **excludes** the end delimiter line. The blank between a block’s end marker and the next block’s
|
|
253
|
-
* start marker therefore belongs to the next block (same as the line above the next start).
|
|
254
|
-
*/
|
|
240
|
+
/** Half-open viewport span for scroll sync; see source-markers commentray. */
|
|
255
241
|
export function markerViewportHalfOpen1Based(sourceText, markerId) {
|
|
256
242
|
const pair = findFirstMarkerPairBoundaryIndices(sourceText, markerId);
|
|
257
243
|
if (pair === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-markers.js","sourceRoot":"","sources":["../src/source-markers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE
|
|
1
|
+
{"version":3,"file":"source-markers.js","sourceRoot":"","sources":["../src/source-markers.ts"],"names":[],"mappings":"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"}
|