From 30ccdf6b6cd39f3f1fe31dfdb7acff7000126072 Mon Sep 17 00:00:00 2001 From: William Desgardin <37619478+wdesgardin@users.noreply.github.com> Date: Mon, 29 Mar 2021 23:18:59 +0200 Subject: [PATCH] feat: add typographer option for markdown preview (#119641) Co-authored-by: Matt Bierner --- extensions/markdown-language-features/package.json | 6 ++++++ extensions/markdown-language-features/package.nls.json | 1 + extensions/markdown-language-features/src/markdownEngine.ts | 4 +++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/extensions/markdown-language-features/package.json b/extensions/markdown-language-features/package.json index b86d4e41e7f..c56d7db04bb 100644 --- a/extensions/markdown-language-features/package.json +++ b/extensions/markdown-language-features/package.json @@ -207,6 +207,12 @@ "description": "%markdown.preview.linkify%", "scope": "resource" }, + "markdown.preview.typographer": { + "type": "boolean", + "default": false, + "description": "%markdown.preview.typographer%", + "scope": "resource" + }, "markdown.preview.fontFamily": { "type": "string", "default": "-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif", diff --git a/extensions/markdown-language-features/package.nls.json b/extensions/markdown-language-features/package.nls.json index ff874da0d7c..e813c401885 100644 --- a/extensions/markdown-language-features/package.nls.json +++ b/extensions/markdown-language-features/package.nls.json @@ -3,6 +3,7 @@ "description": "Provides rich language support for Markdown.", "markdown.preview.breaks.desc": "Sets how line-breaks are rendered in the Markdown preview. Setting it to 'true' creates a
for newlines inside paragraphs.", "markdown.preview.linkify": "Enable or disable conversion of URL-like text to links in the Markdown preview.", + "markdown.preview.typographer": "Enable or disable some language-neutral replacement and quotes beautification in the Markdown preview.", "markdown.preview.doubleClickToSwitchToEditor.desc": "Double click in the Markdown preview to switch to the editor.", "markdown.preview.fontFamily.desc": "Controls the font family used in the Markdown preview.", "markdown.preview.fontSize.desc": "Controls the font size in pixels used in the Markdown preview.", diff --git a/extensions/markdown-language-features/src/markdownEngine.ts b/extensions/markdown-language-features/src/markdownEngine.ts index 5e010755f9e..3d84a24ad30 100644 --- a/extensions/markdown-language-features/src/markdownEngine.ts +++ b/extensions/markdown-language-features/src/markdownEngine.ts @@ -17,6 +17,7 @@ const UNICODE_NEWLINE_REGEX = /\u2028|\u2029/g; interface MarkdownItConfig { readonly breaks: boolean; readonly linkify: boolean; + readonly typographer: boolean; } class TokenCache { @@ -187,7 +188,8 @@ export class MarkdownEngine { const config = vscode.workspace.getConfiguration('markdown', resource); return { breaks: config.get('preview.breaks', false), - linkify: config.get('preview.linkify', true) + linkify: config.get('preview.linkify', true), + typographer: config.get('preview.typographer', false) }; }