refactor(code-actions): implement parameter object pattern for prompt generation

- Extract prompt templates into constants
- Add createPrompt utility for template string handling
- Consolidate code action handling in ClineProvider
- Update tests to use new parameter object pattern
This commit is contained in:
sam hoang
2025-01-12 21:20:02 +07:00
parent 02a8eb96f1
commit 1b26f91ea7
4 changed files with 79 additions and 40 deletions

View File

@@ -181,6 +181,20 @@ export class ClineProvider implements vscode.WebviewViewProvider {
return findLast(Array.from(this.activeInstances), (instance) => instance.view?.visible === true)
}
public static async handleCodeAction(
promptGenerator: (params: Record<string, string | any[]>) => string,
params: Record<string, string | any[]>
): Promise<void> {
const visibleProvider = ClineProvider.getVisibleInstance()
if (!visibleProvider) {
return
}
const prompt = promptGenerator(params)
await visibleProvider.initClineWithTask(prompt)
}
resolveWebviewView(
webviewView: vscode.WebviewView | vscode.WebviewPanel,
//context: vscode.WebviewViewResolveContext<unknown>, used to recreate a deallocated webview, but we don't need this since we use retainContextWhenHidden