func positionDefault()

in tui/picker.go [95:149]


func positionDefault(items []list.Item, defaultValue string) ([]list.Item, int) {
	selectedIndex := 0
	if defaultValue == "" {
		return items, selectedIndex
	}

	defaultIndex := 0
	newItems := []list.Item{}
	defaultItem := item{}
	createItem := item{}
	returnItems := []list.Item{}

	for i, v := range items {
		item := v.(item)
		if item.value == defaultValue || item.label == defaultValue || defaultValue == item.value+"|"+item.label {
			defaultItem = item
			text := defaultItem.label + " (Default Value)"
			defaultItem.label = text
			items[i] = defaultItem
			defaultIndex = i
			continue
		}
		if strings.Contains(item.label, "Create New Project") {
			createItem = item
			continue
		}
		newItems = append(newItems, item)
	}

	if len(items) <= 10 {
		return items, defaultIndex
	}

	createAdded := 0
	if createItem.label != "" {
		createAdded++
		returnItems = append(returnItems, createItem)
	}

	defaultAdded := 0
	if defaultItem.value != "" {
		defaultAdded++

		returnItems = append(returnItems, defaultItem)
	}

	selectedIndex = (createAdded + defaultAdded) - 1
	if selectedIndex < 0 {
		selectedIndex = 0
	}

	returnItems = append(returnItems, newItems...)

	return returnItems, selectedIndex
}