diff --git a/extensions/emmet/src/defaultCompletionProvider.ts b/extensions/emmet/src/defaultCompletionProvider.ts index 0daed26f446..29fdcd860b1 100644 --- a/extensions/emmet/src/defaultCompletionProvider.ts +++ b/extensions/emmet/src/defaultCompletionProvider.ts @@ -28,7 +28,7 @@ export class DefaultCompletionItemProvider implements vscode.CompletionItemProvi } const helper = getEmmetHelper(); - const extractAbbreviationResults = helper.extractAbbreviation(document, position); + const extractAbbreviationResults = helper.extractAbbreviation(document, position, !isStyleSheet(syntax)); if (!extractAbbreviationResults) { return; } diff --git a/extensions/emmet/src/test/cssAbbreviationAction.test.ts b/extensions/emmet/src/test/cssAbbreviationAction.test.ts index 4f07358638b..9d53d8599f1 100644 --- a/extensions/emmet/src/test/cssAbbreviationAction.test.ts +++ b/extensions/emmet/src/test/cssAbbreviationAction.test.ts @@ -110,6 +110,23 @@ nav# }); }); + test('Skip when typing the last property value in single line rules (CSS)', () => { + const testContent = `.foo {padding: 10px; margin: a}`; + + return withRandomFileEditor(testContent, 'css', (editor, doc) => { + editor.selection = new Selection(0, 30, 0, 30); + return expandEmmetAbbreviation(null).then(() => { + assert.equal(editor.document.getText(), testContent); + const cancelSrc = new CancellationTokenSource(); + const completionPromise = completionProvider.provideCompletionItems(editor.document, new Position(0, 30), cancelSrc.token); + if (completionPromise) { + assert.equal(1, 2, `Invalid completion at property value`); + } + return Promise.resolve(); + }); + }); + }); + test('Allow hex color when typing property values when there is a property in the next line (CSS)', () => { const testContent = ` .foo {