Skip to content

Commit e2a18e4

Browse files
committed
Fixes microsoft#29802 Corner cases of Select next/prev item feature
1 parent 9cb698b commit e2a18e4

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

extensions/emmet/src/selectItemHTML.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export function nextItemHTML(selectionStart: vscode.Position, selectionEnd: vsco
1313

1414
if (currentNode.type !== 'comment') {
1515
// If cursor is in the tag name, select tag
16-
if (selectionEnd.translate(0, -currentNode.name.length).isBefore(currentNode.open.start)) {
16+
if (selectionEnd.isBefore(currentNode.open.start.translate(0, currentNode.name.length))) {
1717
return getSelectionFromNode(currentNode, editor.document);
1818
}
1919

@@ -113,7 +113,7 @@ function getNextAttribute(selectionStart: vscode.Position, selectionEnd: vscode.
113113
return new vscode.Selection(attr.start, attr.end);
114114
}
115115

116-
if ((<vscode.Position>attr.value.start).isEqual(attr.value.end)) {
116+
if (!attr.value || (<vscode.Position>attr.value.start).isEqual(attr.value.end)) {
117117
// No attr value to select
118118
continue;
119119
}
@@ -163,7 +163,7 @@ function getPrevAttribute(selectionStart: vscode.Position, selectionEnd: vscode.
163163
continue;
164164
}
165165

166-
if ((<vscode.Position>attr.value.start).isEqual(attr.value.end) || selectionStart.isBefore(attr.value.start)) {
166+
if (!attr.value || (<vscode.Position>attr.value.start).isEqual(attr.value.end) || selectionStart.isBefore(attr.value.start)) {
167167
// select full attr
168168
return new vscode.Selection(attr.start, attr.end);
169169
}

0 commit comments

Comments
 (0)