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)
};
}