Skip to content

Commit f3a31a4

Browse files
authored
fix uri fragment slugification microsoft#94508 (microsoft#94655)
1 parent 95bc288 commit f3a31a4

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

extensions/markdown-language-features/src/markdownEngine.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import * as vscode from 'vscode';
1010
import { MarkdownContributionProvider as MarkdownContributionProvider } from './markdownExtensions';
1111
import { Slugifier } from './slugify';
1212
import { SkinnyTextDocument } from './tableOfContentsProvider';
13-
import { Schemes, isOfScheme } from './util/links';
13+
import { MarkdownFileExtensions, Schemes, isOfScheme } from './util/links';
1414

1515
const UNICODE_NEWLINE_REGEX = /\u2028|\u2029/g;
1616

@@ -251,7 +251,9 @@ export class MarkdownEngine {
251251
}
252252
}
253253

254-
if (uri.fragment) {
254+
const extname = path.extname(uri.fsPath);
255+
256+
if (uri.fragment && (extname === '' || MarkdownFileExtensions.includes(extname))) {
255257
uri = uri.with({
256258
fragment: this.slugifier.fromHeading(uri.fragment).value
257259
});

extensions/markdown-language-features/src/util/links.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,15 @@ export function getUriForLinkWithKnownExternalScheme(link: string): vscode.Uri |
3232
export function isOfScheme(scheme: string, link: string): boolean {
3333
return link.toLowerCase().startsWith(scheme);
3434
}
35+
36+
export const MarkdownFileExtensions: readonly string[] = [
37+
'.md',
38+
'.mkd',
39+
'.mdwn',
40+
'.mdown',
41+
'.markdown',
42+
'.markdn',
43+
'.mdtxt',
44+
'.mdtext',
45+
'.workbook',
46+
];

0 commit comments

Comments
 (0)