move Spring Cli commands implementation to language server
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { Uri, workspace, window } from "vscode";
|
||||
import { SPRINGCLI } from "../Main";
|
||||
import { getTargetGuideMardown } from "./util";
|
||||
import { Uri, workspace, window, commands } from "vscode";
|
||||
import { getTargetGuideMardown, readResponseFromFile } from "./util";
|
||||
import { createConverter } from "vscode-languageclient/lib/common/protocolConverter";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
|
||||
|
||||
const CONVERTER = createConverter(undefined, true, true);
|
||||
@@ -13,11 +13,13 @@ export async function applyLspEdit(uri: Uri) {
|
||||
if (!uri) {
|
||||
uri = await getTargetGuideMardown();
|
||||
}
|
||||
const lspEdit = await SPRINGCLI.guideLspEdit(uri);
|
||||
|
||||
const fileContent = (await readResponseFromFile(uri)).toString();
|
||||
const lspEdit = await commands.executeCommand("sts/copilot/agent/lspEdits", uri.toString(), path.dirname(uri.fsPath), fileContent);
|
||||
const workspaceEdit = await CONVERTER.asWorkspaceEdit(lspEdit);
|
||||
console.log(lspEdit);
|
||||
|
||||
await Promise.all(workspaceEdit.entries().map(async ([uri, edits]) => {
|
||||
console.log(edits);
|
||||
if (fs.existsSync(uri.fsPath)) {
|
||||
const doc = await workspace.openTextDocument(uri.fsPath);
|
||||
await window.showTextDocument(doc);
|
||||
|
||||
Reference in New Issue
Block a user