mirror of
https://github.com/sst/opencode.git
synced 2025-08-31 10:17:26 +00:00
Update LSP client/server and CLI scrap command functionality
🤖 Generated with [OpenCode](https://opencode.ai) Co-Authored-By: OpenCode <noreply@opencode.ai>
This commit is contained in:
parent
0e58f488df
commit
96b5a079ff
3 changed files with 17 additions and 11 deletions
|
@ -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)
|
||||
})
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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: {
|
||||
|
|
|
@ -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 =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue