Browse Source

Remove duplicates

Matt Rubens 1 year ago
parent
commit
966ac5ecba
1 changed files with 12 additions and 1 deletions
  1. 12 1
      webview-ui/src/utils/context-mentions.ts

+ 12 - 1
webview-ui/src/utils/context-mentions.ts

@@ -178,7 +178,18 @@ export function getContextMenuOptions(
 
 	// Combine suggestions with matching items in the desired order
 	if (suggestions.length > 0 || matchingItems.length > 0) {
-		return [...suggestions, ...fileMatches, ...gitMatches, ...otherMatches]
+		const allItems = [...suggestions, ...fileMatches, ...gitMatches, ...otherMatches]
+		
+		// Remove duplicates based on type and value
+		const seen = new Set()
+		const deduped = allItems.filter(item => {
+			const key = `${item.type}-${item.value}`
+			if (seen.has(key)) return false
+			seen.add(key)
+			return true
+		})
+		
+		return deduped
 	}
 
 	return [{ type: ContextMenuOptionType.NoResults }]