fix pyright

This commit is contained in:
Dax Raad
2025-08-11 22:26:18 -04:00
parent 9437cf4ff6
commit e6f3cf0839
3 changed files with 19 additions and 5 deletions

View File

@@ -2,7 +2,6 @@ import { LSP } from "../../../lsp"
import { bootstrap } from "../../bootstrap"
import { cmd } from "../cmd"
import { Log } from "../../../util/log"
import { appendFile } from "fs/promises"
export const LSPCommand = cmd({
command: "lsp",
@@ -18,9 +17,6 @@ const DiagnosticsCommand = cmd({
await bootstrap({ cwd: process.cwd() }, async () => {
await LSP.touchFile(args.file, true)
console.log(await LSP.diagnostics())
await appendFile(args.file, `\nconst x: number = "foo"`)
await LSP.touchFile(args.file, true)
console.log(await LSP.diagnostics())
})
},
})

View File

@@ -210,7 +210,24 @@ export namespace LSPServer {
extensions: [".py", ".pyi"],
root: NearestRoot(["pyproject.toml", "setup.py", "setup.cfg", "requirements.txt", "Pipfile", "pyrightconfig.json"]),
async spawn(_, root) {
const proc = spawn(BunProc.which(), ["x", "pyright-langserver", "--stdio"], {
let binary = Bun.which("pyright-langserver")
const args = []
if (!binary) {
const js = path.join(Global.Path.bin, "node_modules", "pyright", "dist", "pyright-langserver.js")
if (!(await Bun.file(js).exists())) {
await Bun.spawn([BunProc.which(), "install", "pyright"], {
cwd: Global.Path.bin,
env: {
...process.env,
BUN_BE_BUN: "1",
},
}).exited
}
binary = BunProc.which()
args.push(...["run", js])
}
args.push("--stdio")
const proc = spawn(binary, args, {
cwd: root,
env: {
...process.env,