From a29afa12fd2ee171ef0d2094cdb438476fcebc56 Mon Sep 17 00:00:00 2001 From: Louis Qian Date: Wed, 9 Apr 2025 03:14:32 -0500 Subject: [PATCH] fix: get `in use` toolchain from `selectToolchain` & parse `in use` separately --- Sources/Swiftly/ListAvailable.swift | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Sources/Swiftly/ListAvailable.swift b/Sources/Swiftly/ListAvailable.swift index 653ddc26..62799c63 100644 --- a/Sources/Swiftly/ListAvailable.swift +++ b/Sources/Swiftly/ListAvailable.swift @@ -49,7 +49,7 @@ struct ListAvailable: SwiftlyCommand { try ToolchainSelector(parsing: input) } - let config = try Config.load(ctx) + var config = try Config.load(ctx) let tc: [ToolchainVersion] @@ -71,15 +71,19 @@ struct ListAvailable: SwiftlyCommand { let toolchains = tc.filter { selector?.matches(toolchain: $0) ?? true } let installedToolchains = Set(config.listInstalledToolchains(selector: selector)) - let activeToolchain = config.inUse + let (inUse, _) = try await selectToolchain(ctx, config: &config) let printToolchain = { (toolchain: ToolchainVersion) in var message = "\(toolchain)" - if toolchain == activeToolchain { - message += " (installed, in use)" - } else if installedToolchains.contains(toolchain) { + if installedToolchains.contains(toolchain) { message += " (installed)" } + if let inUse, toolchain == inUse { + message += " (in use)" + } + if toolchain == config.inUse { + message += " (default)" + } ctx.print(message) }