diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts index d5302e0dccd..8dad9e2ec24 100644 --- a/extensions/markdown/src/extension.ts +++ b/extensions/markdown/src/extension.ts @@ -180,6 +180,18 @@ class MDDocumentContentProvider implements vscode.TextDocumentContentProvider { return `
${md.utils.escapeHtml(str)}`;
}
}).use(mdnh, {});
+
+ function addLineNumberRenderer(tokens: any, idx: number, options: any, env: any, self: any) {
+ const token = tokens[idx];
+ if (token.level === 0 && token.map && token.map.length) {
+ token.attrSet('data-line', token.map[0]);
+ }
+ return self.renderToken(tokens, idx, options, env, self);
+ }
+
+ md.renderer.rules.paragraph_open = addLineNumberRenderer;
+ md.renderer.rules.heading_open = addLineNumberRenderer;
+
return md;
}