From 7ee4deb88e76111ff9c2912cc8d60c71e0afeb46 Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Wed, 25 Feb 2026 13:23:12 +0530 Subject: [PATCH 1/2] fix(lsp): show clear error when Terminal is not installed --- src/cm/lsp/serverLauncher.ts | 26 ++++++++++++++++++++++---- src/lang/ar-ye.json | 3 ++- src/lang/be-by.json | 3 ++- src/lang/bn-bd.json | 3 ++- src/lang/cs-cz.json | 3 ++- src/lang/de-de.json | 3 ++- src/lang/en-us.json | 3 ++- src/lang/es-sv.json | 3 ++- src/lang/fr-fr.json | 3 ++- src/lang/he-il.json | 3 ++- src/lang/hi-in.json | 3 ++- src/lang/hu-hu.json | 3 ++- src/lang/id-id.json | 3 ++- src/lang/ir-fa.json | 3 ++- src/lang/it-it.json | 3 ++- src/lang/ja-jp.json | 3 ++- src/lang/ko-kr.json | 3 ++- src/lang/ml-in.json | 3 ++- src/lang/mm-unicode.json | 3 ++- src/lang/mm-zawgyi.json | 3 ++- src/lang/pl-pl.json | 3 ++- src/lang/pt-br.json | 3 ++- src/lang/pu-in.json | 3 ++- src/lang/ru-ru.json | 3 ++- src/lang/tl-ph.json | 3 ++- src/lang/tr-tr.json | 3 ++- src/lang/uk-ua.json | 3 ++- src/lang/uz-uz.json | 3 ++- src/lang/vi-vn.json | 3 ++- src/lang/zh-cn.json | 3 ++- src/lang/zh-hant.json | 3 ++- src/lang/zh-tw.json | 3 ++- 32 files changed, 84 insertions(+), 35 deletions(-) diff --git a/src/cm/lsp/serverLauncher.ts b/src/cm/lsp/serverLauncher.ts index 8c0fb3c76..bee86a063 100644 --- a/src/cm/lsp/serverLauncher.ts +++ b/src/cm/lsp/serverLauncher.ts @@ -1,5 +1,6 @@ import lspStatusBar from "components/lspStatusBar"; import toast from "components/toast"; +import alert from "dialogs/alert"; import confirm from "dialogs/confirm"; import loader from "dialogs/loader"; import type { @@ -24,6 +25,11 @@ const STATUS_DECLINED: InstallStatus = "declined"; const STATUS_FAILED: InstallStatus = "failed"; const AXS_BINARY = "$PREFIX/axs"; +const TERMINAL_REQUIRED_MESSAGE = strings.terminal_required_message_for_lsp; + +interface LspError extends Error { + code?: string; +} function getExecutor(): Executor { const executor = (globalThis as unknown as { Executor?: Executor }).Executor; @@ -564,10 +570,6 @@ async function waitForWebSocket( ); } -interface LspError extends Error { - code?: string; -} - export interface EnsureServerResult { uuid: string | null; /** Port discovered from port file (for auto-port discovery) */ @@ -598,6 +600,22 @@ export async function ensureServerRunning( // Failed to check, proceed with normal startup } + const terminal = ( + globalThis as unknown as { + Terminal?: { isInstalled?: () => Promise | boolean }; + } + ).Terminal; + let isTerminalInstalled = false; + try { + isTerminalInstalled = Boolean(await terminal?.isInstalled?.()); + } catch {} + if (!isTerminalInstalled) { + alert(strings.error, TERMINAL_REQUIRED_MESSAGE); + const unavailable: LspError = new Error(TERMINAL_REQUIRED_MESSAGE); + unavailable.code = "LSP_SERVER_UNAVAILABLE"; + throw unavailable; + } + const installed = await ensureInstalled(server); if (!installed) { const unavailable: LspError = new Error( diff --git a/src/lang/ar-ye.json b/src/lang/ar-ye.json index 129fcb512..b417f6f44 100644 --- a/src/lang/ar-ye.json +++ b/src/lang/ar-ye.json @@ -502,5 +502,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/be-by.json b/src/lang/be-by.json index 1f96af769..74d67885f 100644 --- a/src/lang/be-by.json +++ b/src/lang/be-by.json @@ -504,5 +504,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/bn-bd.json b/src/lang/bn-bd.json index eb29b6a57..1628d6669 100644 --- a/src/lang/bn-bd.json +++ b/src/lang/bn-bd.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/cs-cz.json b/src/lang/cs-cz.json index 8527ca228..b2b0cfe27 100644 --- a/src/lang/cs-cz.json +++ b/src/lang/cs-cz.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/de-de.json b/src/lang/de-de.json index 7bf7bb084..e0aadd09f 100644 --- a/src/lang/de-de.json +++ b/src/lang/de-de.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/en-us.json b/src/lang/en-us.json index 0a5634ded..5135c6b76 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/es-sv.json b/src/lang/es-sv.json index 3a889fa4e..df739e423 100644 --- a/src/lang/es-sv.json +++ b/src/lang/es-sv.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/fr-fr.json b/src/lang/fr-fr.json index 7b8fa63a8..8abffc159 100644 --- a/src/lang/fr-fr.json +++ b/src/lang/fr-fr.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/he-il.json b/src/lang/he-il.json index a3f81becc..0f1be6389 100644 --- a/src/lang/he-il.json +++ b/src/lang/he-il.json @@ -504,5 +504,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/hi-in.json b/src/lang/hi-in.json index 37080c0a8..966b4624b 100644 --- a/src/lang/hi-in.json +++ b/src/lang/hi-in.json @@ -504,5 +504,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/hu-hu.json b/src/lang/hu-hu.json index 833e9aebb..e0a8b1c0c 100644 --- a/src/lang/hu-hu.json +++ b/src/lang/hu-hu.json @@ -503,5 +503,6 @@ "shortcut request sent": "Parancsikon-kérelem megnyitva. A befejezéshez koppintson a hozzáadás gombra.", "add to home screen": "Hozzáadás a kezdőképernyőhöz", "pin shortcuts not supported": "Ez az eszköz nem támogatja a kezdőképernyő-parancsikonokat.", - "save file before home shortcut": "A kezdőképernyőhöz való hozzáadás előtt mentse el a fájlt." + "save file before home shortcut": "A kezdőképernyőhöz való hozzáadás előtt mentse el a fájlt.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/id-id.json b/src/lang/id-id.json index 240c9e29c..5f894d38d 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -504,5 +504,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/ir-fa.json b/src/lang/ir-fa.json index c41f2864e..5acb9b264 100644 --- a/src/lang/ir-fa.json +++ b/src/lang/ir-fa.json @@ -504,5 +504,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/it-it.json b/src/lang/it-it.json index 38bddbfc1..2608b8764 100644 --- a/src/lang/it-it.json +++ b/src/lang/it-it.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/ja-jp.json b/src/lang/ja-jp.json index a6fef1098..48dec6055 100644 --- a/src/lang/ja-jp.json +++ b/src/lang/ja-jp.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/ko-kr.json b/src/lang/ko-kr.json index 813966f0c..36af009a2 100644 --- a/src/lang/ko-kr.json +++ b/src/lang/ko-kr.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/ml-in.json b/src/lang/ml-in.json index 3765c5a1c..955403320 100644 --- a/src/lang/ml-in.json +++ b/src/lang/ml-in.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/mm-unicode.json b/src/lang/mm-unicode.json index f7a54754a..c04ff1c8f 100644 --- a/src/lang/mm-unicode.json +++ b/src/lang/mm-unicode.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/mm-zawgyi.json b/src/lang/mm-zawgyi.json index 1f0fa5ce7..65c85e9ec 100644 --- a/src/lang/mm-zawgyi.json +++ b/src/lang/mm-zawgyi.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/pl-pl.json b/src/lang/pl-pl.json index f602127cd..1ea38f72f 100644 --- a/src/lang/pl-pl.json +++ b/src/lang/pl-pl.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/pt-br.json b/src/lang/pt-br.json index e7801b988..9abdf1019 100644 --- a/src/lang/pt-br.json +++ b/src/lang/pt-br.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/pu-in.json b/src/lang/pu-in.json index 9d0f0a339..075606f6a 100644 --- a/src/lang/pu-in.json +++ b/src/lang/pu-in.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/ru-ru.json b/src/lang/ru-ru.json index d9b04c03c..e8f53c1ef 100644 --- a/src/lang/ru-ru.json +++ b/src/lang/ru-ru.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/tl-ph.json b/src/lang/tl-ph.json index be61af7a9..9c2d16f2f 100644 --- a/src/lang/tl-ph.json +++ b/src/lang/tl-ph.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/tr-tr.json b/src/lang/tr-tr.json index 34a9abf6f..f0357bfbd 100644 --- a/src/lang/tr-tr.json +++ b/src/lang/tr-tr.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/uk-ua.json b/src/lang/uk-ua.json index 2abf40219..7aa16f0b1 100644 --- a/src/lang/uk-ua.json +++ b/src/lang/uk-ua.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/uz-uz.json b/src/lang/uz-uz.json index e3b8cac8c..a3be43b7c 100644 --- a/src/lang/uz-uz.json +++ b/src/lang/uz-uz.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/vi-vn.json b/src/lang/vi-vn.json index a23329c22..84b0e9773 100644 --- a/src/lang/vi-vn.json +++ b/src/lang/vi-vn.json @@ -504,5 +504,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index 652aa0d83..2b957481d 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/zh-hant.json b/src/lang/zh-hant.json index bcac1dfc9..fca601729 100644 --- a/src/lang/zh-hant.json +++ b/src/lang/zh-hant.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index db9c40738..13cbb65d6 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -503,5 +503,6 @@ "shortcut request sent": "Shortcut request opened. Tap Add to finish.", "add to home screen": "Add to home screen", "pin shortcuts not supported": "Home screen shortcuts are not supported on this device.", - "save file before home shortcut": "Save the file before adding it to the home screen." + "save file before home shortcut": "Save the file before adding it to the home screen.", + "terminal_required_message_for_lsp": "Terminal not installed. Please install Terminal first to use LSP servers." } From 06604c5cab318e580075d52bbbdea7df4e68f319 Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Wed, 25 Feb 2026 13:33:38 +0530 Subject: [PATCH 2/2] fix --- src/cm/lsp/serverLauncher.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/cm/lsp/serverLauncher.ts b/src/cm/lsp/serverLauncher.ts index bee86a063..c2f89a533 100644 --- a/src/cm/lsp/serverLauncher.ts +++ b/src/cm/lsp/serverLauncher.ts @@ -25,7 +25,13 @@ const STATUS_DECLINED: InstallStatus = "declined"; const STATUS_FAILED: InstallStatus = "failed"; const AXS_BINARY = "$PREFIX/axs"; -const TERMINAL_REQUIRED_MESSAGE = strings.terminal_required_message_for_lsp; + +function getTerminalRequiredMessage(): string { + return ( + strings?.terminal_required_message_for_lsp ?? + "Terminal not installed. Please install Terminal first to use LSP servers." + ); +} interface LspError extends Error { code?: string; @@ -610,8 +616,9 @@ export async function ensureServerRunning( isTerminalInstalled = Boolean(await terminal?.isInstalled?.()); } catch {} if (!isTerminalInstalled) { - alert(strings.error, TERMINAL_REQUIRED_MESSAGE); - const unavailable: LspError = new Error(TERMINAL_REQUIRED_MESSAGE); + const message = getTerminalRequiredMessage(); + alert(strings?.error, message); + const unavailable: LspError = new Error(message); unavailable.code = "LSP_SERVER_UNAVAILABLE"; throw unavailable; }