Skip to content

Commit c11a9ce

Browse files
committed
Better update of line numbers
1 parent 28d3032 commit c11a9ce

File tree

1 file changed

+17
-4
lines changed
  • extensions/markdown-language-features/preview-src

1 file changed

+17
-4
lines changed

extensions/markdown-language-features/preview-src/index.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ window.addEventListener('message', async event => {
120120

121121
case 'updateView':
122122
if (event.data.source === documentResource) {
123-
console.log('updateView', event.data.line);
124123
onUpdateView(event.data.line);
125124
}
126125
return;
@@ -155,7 +154,6 @@ window.addEventListener('message', async event => {
155154
// Move styles to head
156155
// This prevents an ugly flash of unstyled content
157156
const styles = newRoot.querySelectorAll('link');
158-
159157
for (const style of styles) {
160158
style.remove();
161159
}
@@ -165,7 +163,22 @@ window.addEventListener('message', async event => {
165163
childrenOnly: true,
166164
onBeforeElUpdated: (fromEl, toEl) => {
167165
if (areEqual(fromEl, toEl)) {
168-
fromEl.setAttribute('data-line', toEl.getAttribute('data-line')!);
166+
// areEqual doesn't look at `data-line` so copy those over
167+
168+
const fromLines = fromEl.querySelectorAll('[data-line]');
169+
const toLines = fromEl.querySelectorAll('[data-line]');
170+
if (fromLines.length !== toLines.length) {
171+
console.log('unexpected line number change');
172+
}
173+
174+
for (let i = 0; i < fromLines.length; ++i) {
175+
const fromChild = fromLines[i];
176+
const toChild = toLines[i];
177+
if (toChild) {
178+
fromChild.setAttribute('data-line', toChild.getAttribute('data-line')!);
179+
}
180+
}
181+
169182
return false;
170183
}
171184

@@ -241,7 +254,7 @@ document.addEventListener('click', event => {
241254

242255
window.addEventListener('scroll', throttle(() => {
243256
updateScrollProgress();
244-
console.log('scroll');
257+
245258
if (scrollDisabledCount > 0) {
246259
scrollDisabledCount -= 1;
247260
} else {

0 commit comments

Comments
 (0)