diff --git a/extensions/emmet/npm-shrinkwrap.json b/extensions/emmet/npm-shrinkwrap.json index 96da41cbdb4..7d89647807b 100644 --- a/extensions/emmet/npm-shrinkwrap.json +++ b/extensions/emmet/npm-shrinkwrap.json @@ -4,7 +4,7 @@ "dependencies": { "@emmetio/abbreviation": { "version": "0.6.1", - "from": "@emmetio/abbreviation@>=0.6.1 <0.7.0", + "from": "@emmetio/abbreviation@>=0.6.0 <0.7.0", "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-0.6.1.tgz" }, "@emmetio/css-abbreviation": { @@ -22,11 +22,6 @@ "from": "@emmetio/css-snippets-resolver@>=0.2.5 <0.3.0", "resolved": "https://registry.npmjs.org/@emmetio/css-snippets-resolver/-/css-snippets-resolver-0.2.5.tgz" }, - "@emmetio/expand-abbreviation": { - "version": "0.5.8", - "from": "@emmetio/expand-abbreviation@>=0.5.8 <0.6.0", - "resolved": "https://registry.npmjs.org/@emmetio/expand-abbreviation/-/expand-abbreviation-0.5.8.tgz" - }, "@emmetio/extract-abbreviation": { "version": "0.1.2", "from": "@emmetio/extract-abbreviation@>=0.1.1 <0.2.0", @@ -74,7 +69,7 @@ }, "@emmetio/node": { "version": "0.1.2", - "from": "@emmetio/node@>=0.1.2 <0.2.0", + "from": "@emmetio/node@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/@emmetio/node/-/node-0.1.2.tgz" }, "@emmetio/output-profile": { @@ -89,7 +84,7 @@ }, "@emmetio/snippets": { "version": "0.2.4", - "from": "@emmetio/snippets@>=0.2.3 <0.3.0", + "from": "@emmetio/snippets@>=0.2.4 <0.3.0", "resolved": "https://registry.npmjs.org/@emmetio/snippets/-/snippets-0.2.4.tgz" }, "@emmetio/snippets-registry": { @@ -117,15 +112,25 @@ "from": "@emmetio/variable-resolver@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/@emmetio/variable-resolver/-/variable-resolver-0.2.1.tgz" }, + "emmet-abbreviation-helper": { + "version": "0.6.1", + "from": "emmet-abbreviation-helper@0.6.1", + "resolved": "https://registry.npmjs.org/emmet-abbreviation-helper/-/emmet-abbreviation-helper-0.6.1.tgz" + }, "image-size": { "version": "0.5.5", "from": "image-size@>=0.5.2 <0.6.0", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" }, "vscode-emmet-helper": { - "version": "1.0.0", - "from": "vscode-emmet-helper@1.0.0", - "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.0.0.tgz" + "version": "1.0.1", + "from": "vscode-emmet-helper@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.0.1.tgz" + }, + "vscode-expand-abbreviation": { + "version": "0.5.8", + "from": "vscode-expand-abbreviation@0.5.8", + "resolved": "https://registry.npmjs.org/vscode-expand-abbreviation/-/vscode-expand-abbreviation-0.5.8.tgz" }, "vscode-languageserver-types": { "version": "3.3.0", @@ -134,7 +139,7 @@ }, "vscode-nls": { "version": "2.0.2", - "from": "vscode-nls@>=2.0.1 <3.0.0", + "from": "vscode-nls@2.0.2", "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz" } } diff --git a/extensions/emmet/package.json b/extensions/emmet/package.json index 45d95fd764b..5675bfb33b6 100644 --- a/extensions/emmet/package.json +++ b/extensions/emmet/package.json @@ -193,12 +193,12 @@ "vscode": "1.0.1" }, "dependencies": { - "@emmetio/expand-abbreviation": "^0.5.8", + "vscode-expand-abbreviation": "0.5.8", "@emmetio/extract-abbreviation": "^0.1.1", "@emmetio/html-matcher": "^0.3.1", "@emmetio/css-parser": "^0.3.0", "@emmetio/math-expression": "^0.1.1", - "vscode-emmet-helper": "^1.0.0", + "vscode-emmet-helper": "^1.0.1", "vscode-languageserver-types": "^3.0.3", "image-size": "^0.5.2", "vscode-nls": "2.0.2" diff --git a/extensions/emmet/src/abbreviationActions.ts b/extensions/emmet/src/abbreviationActions.ts index 2ddfaae1e94..ef255129204 100644 --- a/extensions/emmet/src/abbreviationActions.ts +++ b/extensions/emmet/src/abbreviationActions.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import { expand } from '@emmetio/expand-abbreviation'; +import { expand } from 'vscode-expand-abbreviation'; import { Node, HtmlNode, Rule } from 'EmmetNode'; import { getNode, getInnerRange, getMappingForIncludedLanguages, parseDocument, validate } from './util'; import { getExpandOptions, extractAbbreviation, extractAbbreviationFromText, isStyleSheet, isAbbreviationValid, getEmmetMode } from 'vscode-emmet-helper'; diff --git a/extensions/emmet/src/test/abbreviationAction.test.ts b/extensions/emmet/src/test/abbreviationAction.test.ts index 2b7211fac75..b70278dd2df 100644 --- a/extensions/emmet/src/test/abbreviationAction.test.ts +++ b/extensions/emmet/src/test/abbreviationAction.test.ts @@ -44,6 +44,8 @@ const htmlContents = ` } ${bemFilterExample} + (ul>li.item$)*2 + (ul>li.item$)*2+span `; @@ -124,6 +126,14 @@ suite('Tests for Expand Abbreviations (HTML)', () => { return testHtmlExpandAbbreviation(new Selection(8, 36, 8, 36), 'ul>li.item$@44*2', ''); }); + test('Expand abbreviation with numbered repeaters in groups (HTML)', () => { + return testHtmlExpandAbbreviation(new Selection(17, 16, 17, 16), '(ul>li.item$)*2', '\n\t'); + }); + + test('Expand abbreviation with numbered repeaters in groups with sibling in the end (HTML)', () => { + return testHtmlExpandAbbreviation(new Selection(18, 21, 18, 21), '(ul>li.item$)*2+span', '\n\t\n\t'); + }); + test('Expand tag that is opened, but not closed (HTML)', () => { return testHtmlExpandAbbreviation(new Selection(9, 6, 9, 6), ''); });