function checkItemsOnLine()

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)
  }
}