From 04f25df8458a14d9bda07b0ec657fb8b67cd86ef Mon Sep 17 00:00:00 2001 From: Ramya Achutha Rao Date: Wed, 28 Jun 2017 14:39:44 -0700 Subject: [PATCH] Emmet suggestions for jsx only when expicitly asked for #29532 --- extensions/emmet/package.json | 4 ++-- extensions/emmet/src/defaultCompletionProvider.ts | 4 +++- extensions/emmet/src/util.ts | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/emmet/package.json b/extensions/emmet/package.json index 0d865fc3a49..801d3c74465 100644 --- a/extensions/emmet/package.json +++ b/extensions/emmet/package.json @@ -40,8 +40,8 @@ }, "emmet.includeLanguages": { "type": "object", - "default": {}, - "description": "Enable emmet abbreviations in languages that are not supported by default. Add a mapping here between the language and emmet supported syntax.\n Eg: {\"php\": \"html\"}" + "default": {}, + "description": "Enable emmet abbreviations in languages that are not supported by default. Add a mapping here between the language and emmet supported language.\n Eg: {\"php\": \"html\", \"javascript\": \"javascriptreact\"}" }, "emmet.variables":{ "type": "object", diff --git a/extensions/emmet/src/defaultCompletionProvider.ts b/extensions/emmet/src/defaultCompletionProvider.ts index 76836ce8881..1118fdf42f6 100644 --- a/extensions/emmet/src/defaultCompletionProvider.ts +++ b/extensions/emmet/src/defaultCompletionProvider.ts @@ -26,7 +26,9 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi syntax = this.syntaxHelper(syntax, document, position); } - if (!syntax || (isSyntaxMapped && vscode.workspace.getConfiguration('emmet')['showExpandedAbbreviation'] !== 'always')) { + if (!syntax + || ((isSyntaxMapped || syntax === 'jsx') + && vscode.workspace.getConfiguration('emmet')['showExpandedAbbreviation'] !== 'always')) { return; } diff --git a/extensions/emmet/src/util.ts b/extensions/emmet/src/util.ts index f46a6150c96..643a66e071a 100644 --- a/extensions/emmet/src/util.ts +++ b/extensions/emmet/src/util.ts @@ -20,7 +20,9 @@ export const LANGUAGE_MODES: Object = { 'scss': [':'], 'sass': [':'], 'less': [':'], - 'stylus': [':'] + 'stylus': [':'], + 'javascriptreact': ['.', '}'], + 'typescriptreact': ['.', '}'] }; // Explicitly map languages to their parent language to get emmet completion support