mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-24 16:02:55 +08:00
fix(jetbrains): use shell env for CLI PATH
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@kilocode/kilo-jetbrains": patch
|
||||
---
|
||||
|
||||
Fix the JetBrains plugin finding shell-installed tools like bun and gh when launched from Finder or Dock.
|
||||
+3
-2
@@ -5,6 +5,7 @@ import ai.kilocode.backend.dev.KiloDevMode
|
||||
import ai.kilocode.log.KiloLog
|
||||
import com.intellij.openapi.application.ApplicationInfo
|
||||
import com.intellij.openapi.application.PathManager
|
||||
import com.intellij.util.EnvironmentUtil
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.coroutines.withTimeout
|
||||
@@ -91,7 +92,7 @@ class KiloBackendCliManager(
|
||||
}
|
||||
|
||||
// Must be called from a background thread — devStorageEnv() performs blocking I/O (mkdirs).
|
||||
internal fun buildEnv(pwd: String, base: Map<String, String> = System.getenv()): Map<String, String> =
|
||||
internal fun buildEnv(pwd: String, base: Map<String, String> = EnvironmentUtil.getEnvironmentMap()): Map<String, String> =
|
||||
buildKiloCliEnv(pwd, base, log)
|
||||
|
||||
private suspend fun spawn(cli: File): CliServer.State =
|
||||
@@ -238,7 +239,7 @@ private const val DEFAULT_CONFIG = """{"permission":{"edit":"ask","bash":"ask"}}
|
||||
// Must be called from a background thread — devStorageEnv() performs blocking I/O (mkdirs).
|
||||
internal fun buildKiloCliEnv(
|
||||
pwd: String,
|
||||
base: Map<String, String> = System.getenv(),
|
||||
base: Map<String, String> = EnvironmentUtil.getEnvironmentMap(),
|
||||
log: KiloLog = KiloLog.create(KiloBackendCliManager::class.java),
|
||||
): Map<String, String> = buildMap {
|
||||
putAll(base)
|
||||
|
||||
+9
@@ -79,6 +79,15 @@ class KiloBackendCliManagerEnvTest {
|
||||
assertEquals(cfg, env["KILO_CONFIG_CONTENT"])
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `isolation disabled - base PATH is preserved`() {
|
||||
val path = "/opt/homebrew/bin:/usr/bin"
|
||||
|
||||
val env = manager.buildEnv("pwd123", mapOf("PATH" to path))
|
||||
|
||||
assertEquals(path, env["PATH"])
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `isolation disabled - no XDG storage overrides are injected`() {
|
||||
val env = manager.buildEnv("pwd123", emptyMap())
|
||||
|
||||
Reference in New Issue
Block a user