diff options
| author | Dax Raad <[email protected]> | 2025-06-10 10:46:55 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-06-10 13:30:13 -0400 |
| commit | 96b5a079fff01cedfa6d849fc6346f5d70a57d41 (patch) | |
| tree | 6bad0006f59f9bfec419f7ac7d1414da7ebb08df /packages | |
| parent | 0e58f488df63f2143fdc5efa9ea85b1751bf7c10 (diff) | |
| download | opencode-96b5a079fff01cedfa6d849fc6346f5d70a57d41.tar.gz opencode-96b5a079fff01cedfa6d849fc6346f5d70a57d41.zip | |
Update LSP client/server and CLI scrap command functionality
🤖 Generated with [OpenCode](https://opencode.ai)
Co-Authored-By: OpenCode <[email protected]>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/scrap.ts | 8 | ||||
| -rw-r--r-- | packages/opencode/src/lsp/client.ts | 3 | ||||
| -rw-r--r-- | packages/opencode/src/lsp/server.ts | 17 |
3 files changed, 17 insertions, 11 deletions
diff --git a/packages/opencode/src/cli/cmd/scrap.ts b/packages/opencode/src/cli/cmd/scrap.ts index 426607731..13f24ae27 100644 --- a/packages/opencode/src/cli/cmd/scrap.ts +++ b/packages/opencode/src/cli/cmd/scrap.ts @@ -1,6 +1,5 @@ import { App } from "../../app/app" import { VERSION } from "../version" -import { LSP } from "../../lsp" import { cmd } from "./cmd" export const ScrapCommand = cmd({ @@ -8,10 +7,9 @@ export const ScrapCommand = cmd({ builder: (yargs) => yargs.positional("file", { type: "string", demandOption: true }), describe: "test command", - async handler(args) { - await App.provide({ cwd: process.cwd(), version: VERSION }, async () => { - await LSP.touchFile(args.file, true) - await LSP.diagnostics() + async handler() { + await App.provide({ cwd: process.cwd(), version: VERSION }, async (app) => { + Bun.resolveSync("typescript/lib/tsserver.js", app.path.cwd) }) }, }) diff --git a/packages/opencode/src/lsp/client.ts b/packages/opencode/src/lsp/client.ts index e2f02216c..e7f8e9697 100644 --- a/packages/opencode/src/lsp/client.ts +++ b/packages/opencode/src/lsp/client.ts @@ -57,6 +57,7 @@ export namespace LSPClient { }) connection.listen() + const initialization = await input.initialization?.(app) await connection.sendRequest("initialize", { processId: server.pid, workspaceFolders: [ @@ -66,7 +67,7 @@ export namespace LSPClient { }, ], initializationOptions: { - ...input.initialization, + ...initialization, }, capabilities: { workspace: { diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index 5b2db4841..c13f10bec 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -10,7 +10,7 @@ export namespace LSPServer { export interface Info { id: string extensions: string[] - initialization?: Record<string, any> + initialization?: (app: App.Info) => Promise<Record<string, any>> spawn(app: App.Info): Promise<ChildProcessWithoutNullStreams | undefined> } @@ -27,10 +27,17 @@ export namespace LSPServer { ".mts", ".cts", ], - initialization: { - tsserver: { - path: require.resolve("typescript/lib/tsserver.js"), - }, + async initialization(app) { + const path = Bun.resolve( + "typescript/lib/tsserver.js", + app.path.cwd, + ).catch(() => {}) + if (!path) return {} + return { + tsserver: { + path, + }, + } }, async spawn() { const root = |
