From 26c998ebf1d31efda4e2b8df9aa8b8d32a6f9574 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 20 Jun 2026 09:46:24 +0800 Subject: [PATCH] Add Qwen brand icon for CommandIconMap - Add Qwen.svg imageset (sourced from qwen-code zed-extension) - Update CommandIconMap entry to use bundled Qwen asset - Add test assertion for qwen icon resolution Signed-off-by: Alex --- .../CommandIcons/Qwen.imageset/Contents.json | 16 ++++++++++++++++ .../CommandIcons/Qwen.imageset/Qwen.svg | 1 + .../Terminal/Models/CommandIconMap.swift | 1 + supacodeTests/CommandIconMapTests.swift | 1 + 4 files changed, 19 insertions(+) create mode 100644 supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Contents.json create mode 100644 supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Qwen.svg diff --git a/supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Contents.json b/supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Contents.json new file mode 100644 index 00000000..12c40eb1 --- /dev/null +++ b/supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "Qwen.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Qwen.svg b/supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Qwen.svg new file mode 100644 index 00000000..6232ae3e --- /dev/null +++ b/supacode/Assets.xcassets/CommandIcons/Qwen.imageset/Qwen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/supacode/Features/Terminal/Models/CommandIconMap.swift b/supacode/Features/Terminal/Models/CommandIconMap.swift index 665cb00c..f95472ee 100644 --- a/supacode/Features/Terminal/Models/CommandIconMap.swift +++ b/supacode/Features/Terminal/Models/CommandIconMap.swift @@ -44,6 +44,7 @@ enum CommandIconMap { "gemini": TabIconSource(systemSymbol: "sparkle", assetName: "Gemini"), "kimi": TabIconSource(systemSymbol: "sparkle", assetName: "Kimi"), "opencode": TabIconSource(systemSymbol: "sparkle", assetName: "OpenCode"), + "qwen": TabIconSource(systemSymbol: "sparkle", assetName: "Qwen"), "omp": TabIconSource(systemSymbol: "sparkle", assetName: "OMP"), "oh-my-pi": TabIconSource(systemSymbol: "sparkle", assetName: "OMP"), "pi": TabIconSource(systemSymbol: "sparkle", assetName: "Pi"), diff --git a/supacodeTests/CommandIconMapTests.swift b/supacodeTests/CommandIconMapTests.swift index 1a9cd28c..26647558 100644 --- a/supacodeTests/CommandIconMapTests.swift +++ b/supacodeTests/CommandIconMapTests.swift @@ -77,6 +77,7 @@ struct CommandIconMapTests { #expect(CommandIconMap.iconForFirstToken("cursor-agent")?.assetName == "Cursor") #expect(CommandIconMap.iconForFirstToken("cline")?.assetName == "Cline") #expect(CommandIconMap.iconForFirstToken("droid")?.assetName == "Droid") + #expect(CommandIconMap.iconForFirstToken("qwen")?.assetName == "Qwen") // Aider has no bundled brand asset — sparkle fallback only. #expect(CommandIconMap.iconForFirstToken("aider")?.systemSymbol == "sparkle") #expect(CommandIconMap.iconForFirstToken("aider")?.assetName == nil) -- 2.51.2