From eb3e94c846db22ad4c5f994372ceb31bacc6e1f3 Mon Sep 17 00:00:00 2001 From: wuyangfan <1102042793@qq.com> Date: Fri, 5 Jun 2026 17:43:24 +0800 Subject: [PATCH] fix: use checkbox markers in tool multiselect --- src/prompts/searchable-multi-select.ts | 2 +- test/prompts/searchable-multi-select.test.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/prompts/searchable-multi-select.ts b/src/prompts/searchable-multi-select.ts index f4de429c0..84f338d94 100644 --- a/src/prompts/searchable-multi-select.ts +++ b/src/prompts/searchable-multi-select.ts @@ -172,7 +172,7 @@ async function createSearchableMultiSelect(): Promise< const actualIndex = startIndex + i; const isActive = actualIndex === cursor; const selected = selectedSet.has(item.value); - const icon = selected ? chalk.green('◉') : chalk.dim('○'); + const icon = selected ? chalk.green('[x]') : chalk.dim('[ ]'); const arrow = isActive ? chalk.cyan('›') : ' '; const name = isActive ? chalk.cyan(item.name) : item.name; const isRefresh = selected && item.configured; diff --git a/test/prompts/searchable-multi-select.test.ts b/test/prompts/searchable-multi-select.test.ts index 99971a9c7..741610ddb 100644 --- a/test/prompts/searchable-multi-select.test.ts +++ b/test/prompts/searchable-multi-select.test.ts @@ -217,4 +217,14 @@ describe('searchable-multi-select keybindings', () => { expect(renderOutput).not.toMatch(/Tab.*confirm/); }); }); + + describe('selection markers', () => { + it('should render checkbox-style markers for selected and unselected items', async () => { + await setup(); + expect(renderOutput).toContain('[ ] Tool A'); + + pressKey('space'); + expect(renderOutput).toContain('[x] Tool A'); + }); + }); });