diff --git a/extensions/markdown/package.json b/extensions/markdown/package.json index 3960d740e56..158382edf12 100644 --- a/extensions/markdown/package.json +++ b/extensions/markdown/package.json @@ -191,7 +191,7 @@ }, "dependencies": { "highlight.js": "^9.3.0", - "markdown-it": "^8.2.2", + "markdown-it": "^8.3.1", "markdown-it-named-headers": "0.0.4", "vscode-extension-telemetry": "^0.0.6", "vscode-nls": "^2.0.2" diff --git a/extensions/markdown/src/markdownEngine.ts b/extensions/markdown/src/markdownEngine.ts index 43625bd01e6..6adbabf1a5d 100644 --- a/extensions/markdown/src/markdownEngine.ts +++ b/extensions/markdown/src/markdownEngine.ts @@ -17,7 +17,7 @@ export interface IToken { interface MarkdownIt { render(text: string): string; - parse(text: string): IToken[]; + parse(text: string, env: any): IToken[]; utils: any; } @@ -83,9 +83,10 @@ export class MarkdownEngine { return this.engine.render(text); } - public parse(source: string): IToken[] { + public parse(document: vscode.Uri, source: string): IToken[] { const {text, offset} = this.stripFrontmatter(source); - return this.engine.parse(text).map(token => { + this.currentDocument = document; + return this.engine.parse(text, {}).map(token => { if (token.map) { token.map[0] += offset; } diff --git a/extensions/markdown/src/tableOfContentsProvider.ts b/extensions/markdown/src/tableOfContentsProvider.ts index 831e1772b42..01fecded5b2 100644 --- a/extensions/markdown/src/tableOfContentsProvider.ts +++ b/extensions/markdown/src/tableOfContentsProvider.ts @@ -46,7 +46,7 @@ export class TableOfContentsProvider { private buildToc(document: vscode.TextDocument): any { const toc: TocEntry[] = []; - const tokens: IToken[] = this.engine.parse(this.document.getText()); + const tokens: IToken[] = this.engine.parse(document.uri, document.getText()); for (const heading of tokens.filter(token => token.type === 'heading_open')) { const lineNumber = heading.map[0];