Skip to content

Commit 87000a3

Browse files
committed
feat: merge 'feature/improvement/allow-tsserver-node-executable-to-be-configurable' ontop
2 parents f8c2e0b + 1ac2ceb commit 87000a3

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ require("typescript-tools").setup {
144144
-- locale of all tsserver messages, supported locales you can find here:
145145
-- https://github.com/microsoft/TypeScript/blob/3c221fc086be52b19801f6e8d82596d04607ede6/src/compiler/utilitiesPublic.ts#L620
146146
tsserver_locale = "en",
147+
-- Node executable configuration (for example, bun)
148+
tsserver_node_executable = "bun",
147149
-- mirror of VSCode's `typescript.suggest.completeFunctionCalls`
148150
complete_function_calls = false,
149151
include_completions_with_insert_text = true,

lua/typescript-tools/config.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
---@field tsserver_file_preferences table|fun(filetype: string): table
1010
---@field tsserver_max_memory number|"auto"
1111
---@field tsserver_locale string
12+
---@field tsserver_node_executable string
1213
---@field complete_function_calls boolean
1314
---@field expose_as_code_action ("fix_all"| "add_missing_imports"| "remove_unused" | "remove_unused_imports")[]
1415
---@field include_completions_with_insert_text boolean
@@ -125,6 +126,11 @@ function M.load_settings(settings)
125126
"string",
126127
true,
127128
},
129+
["settings.tsserver_node_executable"] = {
130+
settings.tsserver_node_executable,
131+
"string",
132+
true,
133+
},
128134
["settings.complete_function_calls"] = { settings.complete_function_calls, "boolean", true },
129135
["settings.expose_as_code_action"] = {
130136
settings.expose_as_code_action,
@@ -163,6 +169,10 @@ function M.load_settings(settings)
163169
__store.tsserver_file_preferences = {}
164170
end
165171

172+
if not settings.tsserver_node_executable then
173+
__store.tsserver_node_executable = "node"
174+
end
175+
166176
if not M.tsserver_log_level[settings.tsserver_logs] then
167177
__store.tsserver_logs = M.tsserver_log_level.off
168178
end

lua/typescript-tools/process.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ local function parse_response(initial_chunk, on_response)
123123
end
124124

125125
function Process:start()
126-
local command = is_win and "cmd.exe" or "node"
126+
local command = is_win and "cmd.exe" or plugin_config.tsserver_node_executable
127127

128128
if type(plugin_config.tsserver_max_memory) == "number" then
129129
table.insert(self.args, 1, "--max-old-space-size=" .. plugin_config.tsserver_max_memory)

0 commit comments

Comments
 (0)