feat: opened tabs and selection in the @ menu

This commit is contained in:
loup
2025-01-31 09:16:43 +01:00
committed by Matt Rubens
parent 90ba9e18e1
commit 064dc4e52f
7 changed files with 131 additions and 10 deletions

View File

@@ -48,6 +48,7 @@ export function removeMention(text: string, position: number): { newText: string
}
export enum ContextMenuOptionType {
OpenedFile = "openedFile",
File = "file",
Folder = "folder",
Problems = "problems",
@@ -80,8 +81,14 @@ export function getContextMenuOptions(
if (query === "") {
if (selectedType === ContextMenuOptionType.File) {
const files = queryItems
.filter((item) => item.type === ContextMenuOptionType.File)
.map((item) => ({ type: ContextMenuOptionType.File, value: item.value }))
.filter(
(item) =>
item.type === ContextMenuOptionType.File || item.type === ContextMenuOptionType.OpenedFile,
)
.map((item) => ({
type: item.type,
value: item.value,
}))
return files.length > 0 ? files : [{ type: ContextMenuOptionType.NoResults }]
}
@@ -125,6 +132,12 @@ export function getContextMenuOptions(
}
if (query.startsWith("http")) {
suggestions.push({ type: ContextMenuOptionType.URL, value: query })
} else {
suggestions.push(
...queryItems
.filter((item) => item.type !== ContextMenuOptionType.OpenedFile)
.filter((item) => item.value?.toLowerCase().includes(lowerQuery)),
)
}
// Add exact SHA matches to suggestions