Skip to content

Commit aa09b6d

Browse files
committed
Automatically select newly created files in workspace provider upon preview acceptance
- once response preview is ready (file watcher resumes), should select (check) for context all newly created files (if any) └── apps └── editor └── src ├── commands │ └── apply-response-command │ ├── apply-response-command.ts │ └── utils │ ├── preview │ │ ├── preview.ts │ │ └── workspace-listener.ts │ └── preview-handler.ts ├── context │ └── providers │ └── workspace │ └── workspace-provider.ts └── views └── prompt └── frontend └── hooks └── use-preview-manager.ts
1 parent 6731550 commit aa09b6d

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

‎apps/editor/src/commands/apply-response-command/utils/preview-handler.ts‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,30 @@ export const preview_handler = async (params: {
133133
const { workspace_map, default_workspace } =
134134
get_workspace_map_and_default()
135135

136+
const newly_created_files = preview_result.accepted_files
137+
.filter((f) => f.file_state === 'new')
138+
.map((f) => {
139+
const workspace_root = resolve_workspace_root({
140+
workspace_name: f.workspace_name,
141+
workspace_map,
142+
default_workspace
143+
})
144+
if (!workspace_root) return undefined
145+
return path.isAbsolute(f.file_path)
146+
? normalize_path(f.file_path)
147+
: normalize_path(path.join(workspace_root, f.file_path))
148+
})
149+
.filter((p): p is string => p !== undefined)
150+
151+
if (newly_created_files.length > 0) {
152+
const current_selected =
153+
params.workspace_provider.get_all_selected_paths()
154+
const new_selected = Array.from(
155+
new Set([...current_selected, ...newly_created_files])
156+
)
157+
await params.workspace_provider.set_selected_files(new_selected)
158+
}
159+
136160
const files_by_workspace = new Map<string, string[]>()
137161
for (const state of accepted_states) {
138162
const workspace_root = resolve_workspace_root({

0 commit comments

Comments
 (0)