Smart markdown pasting does not occur in tilde code block (#189004)

smart paste checks ~~~ code block
This commit is contained in:
Meghan Kulkarni 2023-07-27 09:09:38 -07:00 committed by GitHub
parent b448b21744
commit df16c16211
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -66,7 +66,8 @@ const smartPasteRegexes = [
{ regex: /\[.*\]\(.*\)/g, isMarkdownLink: true, isInline: true }, // Is a Markdown Link
{ regex: /!\[.*\]\(.*\)/g, isMarkdownLink: true, isInline: true }, // Is a Markdown Image Link
{ regex: /\[([^\]]*)\]\(([^)]*)\)/g, isMarkdownLink: false, isInline: true }, // In a Markdown link
{ regex: /^```[\s\S]*?```$/gm, isMarkdownLink: false, isInline: false }, // In a fenced code block
{ regex: /^```[\s\S]*?```$/gm, isMarkdownLink: false, isInline: false }, // In a backtick fenced code block
{ regex: /^~~~[\s\S]*?~~~$/gm, isMarkdownLink: false, isInline: false }, // In a tildefenced code block
{ regex: /^\$\$[\s\S]*?\$\$$/gm, isMarkdownLink: false, isInline: false }, // In a fenced math block
{ regex: /`[^`]*`/g, isMarkdownLink: false, isInline: true }, // In inline code
{ regex: /\$[^$]*\$/g, isMarkdownLink: false, isInline: true }, // In inline math

View file

@ -141,13 +141,20 @@ suite('createEditAddingLinksForUriList', () => {
assert.strictEqual(smartPaste.pasteAsMarkdownLink, true);
});
test('Should evaluate pasteAsMarkdownLink as false for pasting within a code block', () => {
test('Should evaluate pasteAsMarkdownLink as false for pasting within a backtick code block', () => {
skinnyDocument.getText = function () { return '```\r\n\r\n```'; };
const range = new vscode.Range(0, 5, 0, 5);
const smartPaste = checkSmartPaste(skinnyDocument, range);
assert.strictEqual(smartPaste.pasteAsMarkdownLink, false);
});
test('Should evaluate pasteAsMarkdownLink as false for pasting within a tilde code block', () => {
skinnyDocument.getText = function () { return '~~~\r\n\r\n~~~'; };
const range = new vscode.Range(0, 5, 0, 5);
const smartPaste = checkSmartPaste(skinnyDocument, range);
assert.strictEqual(smartPaste.pasteAsMarkdownLink, false);
});
test('Should evaluate pasteAsMarkdownLink as false for pasting within a math block', () => {
skinnyDocument.getText = function () { return '$$$\r\n\r\n$$$'; };
const range = new vscode.Range(0, 5, 0, 5);