{
}, {})
const groups = computed(() => props.groups.map((group) => {
+ const commands = fuse[group.key].results.value.map((result) => {
+ const { item, ...data } = result
+
+ return {
+ ...item,
+ ...data
+ }
+ })
+
return {
...group,
- commands: fuse[group.key].results.value.map(result => group.commands.find(command => command.id === result.item.id)).filter(Boolean).slice(0, group.options?.resultLimit || options.value.resultLimit)
+ commands: commands.slice(0, group.options?.resultLimit || options.value.resultLimit)
}
}).filter(group => group.commands.length))
diff --git a/src/runtime/components/navigation/CommandPaletteGroup.vue b/src/runtime/components/navigation/CommandPaletteGroup.vue
index b343f29f..717d98e5 100644
--- a/src/runtime/components/navigation/CommandPaletteGroup.vue
+++ b/src/runtime/components/navigation/CommandPaletteGroup.vue
@@ -26,7 +26,8 @@
{{ command.prefix }}
- {{ command[commandAttribute] }}
+
+ {{ command[commandAttribute] }}
{{ command.suffix }}
@@ -69,6 +70,15 @@ defineProps({
required: true
}
})
+
+function highlight ({ indices, value }, i = 1) {
+ const pair = indices[indices.length - i]
+ if (!pair) {
+ return value
+ }
+
+ return `${highlight({ indices, value: value.substring(0, pair[0]) }, i + 1)}${value.substring(pair[0], pair[1] + 1)}${value.substring(pair[1] + 1)}`
+}