diff --git a/extensions/markdown-language-features/src/markdownEngine.ts b/extensions/markdown-language-features/src/markdownEngine.ts index 9bd90ead16a..35b8d19495d 100644 --- a/extensions/markdown-language-features/src/markdownEngine.ts +++ b/extensions/markdown-language-features/src/markdownEngine.ts @@ -109,13 +109,14 @@ export class MarkdownEngine { } public async parse(document: vscode.Uri, source: string): Promise { + const UNICODE_NEWLINE_REGEX = /\u2028|\u2029/g; const { text, offset } = this.stripFrontmatter(source); this.currentDocument = document; this._slugCount = new Map(); const engine = await this.getEngine(document); - return engine.parse(text, {}).map(token => { + return engine.parse(text.replace(UNICODE_NEWLINE_REGEX, ''), {}).map(token => { if (token.map) { token.map[0] += offset; token.map[1] += offset; diff --git a/extensions/markdown-language-features/src/test/documentSymbolProvider.test.ts b/extensions/markdown-language-features/src/test/documentSymbolProvider.test.ts index 9df272ccecd..483c8395db0 100644 --- a/extensions/markdown-language-features/src/test/documentSymbolProvider.test.ts +++ b/extensions/markdown-language-features/src/test/documentSymbolProvider.test.ts @@ -83,7 +83,7 @@ suite('markdown.DocumentSymbolProvider', () => { assert.strictEqual(symbols[0].children[1].name, '## h3'); }); - test.skip('Should handle line separator in file. Issue #63749', async () => { + test('Should handle line separator in file. Issue #63749', async () => { const symbols = await getSymbolsForFile(`# A - foo