in src/language/providers/closeElement.ts [114:174]
function checkItemsOnLine(
document: vscode.TextDocument,
position: vscode.Position,
range: vscode.Range,
itemsOnLine: number,
triggerText: string,
nsPrefix: string,
nearestTagNotClosed: string,
backpos: vscode.Position,
backpos3: vscode.Position
) {
if (itemsOnLine == 0 && !triggerText.includes('</')) {
if (triggerText.trim() === '>') {
insertSnippet('</' + nsPrefix + nearestTagNotClosed + '>', backpos)
} else {
switch (nearestTagNotClosed) {
case 'schema':
if (triggerText.endsWith('>>')) {
insertSnippet(
'\n\t$0\n</' + nsPrefix + nearestTagNotClosed + '>',
backpos
)
} else {
insertSnippet(
'>\n\t$0\n</' + nsPrefix + nearestTagNotClosed + '>',
backpos
)
}
break
default:
if (triggerText.endsWith('>>')) {
insertSnippet(
'</' + nsPrefix + nearestTagNotClosed + '>$0',
backpos
)
} else {
insertSnippet(
'>$1</' + nsPrefix + nearestTagNotClosed + '>',
backpos
)
}
break
}
}
}
if (itemsOnLine === 1 && !triggerText.includes('</')) {
checkNearestTagNotClosed(
document,
position,
range,
nearestTagNotClosed,
backpos,
nsPrefix
)
}
if (itemsOnLine > 1) {
checkTriggerText(triggerText, nsPrefix, backpos, nearestTagNotClosed)
}
}