diff --git a/packages/vscode-vue/client.js b/packages/vscode-vue/client.js index bee45eb48..662feb92a 100644 --- a/packages/vscode-vue/client.js +++ b/packages/vscode-vue/client.js @@ -1,3 +1,5 @@ -let modulePath = './dist/client'; -try { modulePath = require.resolve('./out/nodeClientMain'); } catch { } -module.exports = require(modulePath); +try { + module.exports = require('./out/nodeClientMain'); +} catch { } + +module.exports = require('./dist/client'); diff --git a/packages/vscode-vue/server.js b/packages/vscode-vue/server.js index c81323cb9..ab9d39599 100644 --- a/packages/vscode-vue/server.js +++ b/packages/vscode-vue/server.js @@ -1,3 +1,5 @@ -let modulePath = './dist/server'; -try { modulePath = require.resolve('@volar/vue-language-server/bin/vue-language-server'); } catch { } -module.exports = require(modulePath); +try { + module.exports = require('@volar/vue-language-server/bin/vue-language-server'); +} catch { } + +module.exports = require('./dist/server'); diff --git a/packages/vscode-vue/src/nodeClientMain.ts b/packages/vscode-vue/src/nodeClientMain.ts index f83ecffa4..1d5484ec3 100644 --- a/packages/vscode-vue/src/nodeClientMain.ts +++ b/packages/vscode-vue/src/nodeClientMain.ts @@ -49,7 +49,7 @@ export function activate(context: vscode.ExtensionContext) { runOptions.execArgv.push("--max-old-space-size=" + maxOldSpaceSize); } const debugOptions: lsp.ForkOptions = { execArgv: ['--nolazy', '--inspect=' + port] }; - const serverOptions: lsp.ServerOptions = { + let serverOptions: lsp.ServerOptions = { run: { module: serverModule.fsPath, transport: lsp.TransportKind.ipc, @@ -61,6 +61,29 @@ export function activate(context: vscode.ExtensionContext) { options: debugOptions }, }; + const bunPath: string | undefined = undefined; // path to .bun/bin/bun + if (bunPath) { + serverOptions = { + run: { + transport: { + kind: lsp.TransportKind.socket, + port: port + 10, + }, + options: runOptions, + command: bunPath, + args: ['run', serverModule.fsPath], + }, + debug: { + transport: { + kind: lsp.TransportKind.socket, + port: port + 10, + }, + options: debugOptions, + command: bunPath, + args: ['run', serverModule.fsPath], + }, + }; + } const clientOptions: lsp.LanguageClientOptions = { middleware, documentSelector: langs.map(lang => ({ language: lang })),