diff --git a/package.json b/package.json index 68af5c7..518e767 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,9 @@ "name": "prompter", "displayName": "Prompter", "description": "Easy prompt generation and apply edits using prompter.", - "version": "0.0.1", + "version": "0.0.2", "publisher": "abhishekbhakat", - "repository": "https://github.com/abhishekbhakat/prompter", + "repository": "https://git.bhakat.dev/abhishekbhakat/Prompter", "engines": { "vscode": "^1.98.0" }, diff --git a/src/providers/prompterTreeProvider.ts b/src/providers/prompterTreeProvider.ts index 5883e1a..7ea9210 100644 --- a/src/providers/prompterTreeProvider.ts +++ b/src/providers/prompterTreeProvider.ts @@ -85,7 +85,21 @@ export class PrompterTreeProvider implements vscode.TreeDataProvider { + // Sort by type first (directories first), then alphabetically by name + const sortedFiles = [...files].sort((a, b) => { + const [nameA, typeA] = a; + const [nameB, typeB] = b; + + // If types are different, directories (type 2) come before files (type 1) + if (typeA !== typeB) { + return typeB - typeA; // Descending order by type puts directories first + } + + // If types are the same, sort alphabetically by name + return nameA.localeCompare(nameB, undefined, { sensitivity: 'base' }); + }); + + return sortedFiles.map(([name, type]) => { const filePath = path.join(dirPath, name); const uri = vscode.Uri.file(filePath);