@nbtca/prompt 1.0.13 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,32 +7,25 @@ import { marked } from 'marked';
7
7
  import TerminalRenderer from 'marked-terminal';
8
8
  import chalk from 'chalk';
9
9
  import open from 'open';
10
- import inquirer from 'inquirer';
11
- import { error, info, success, warning } from '../core/ui.js';
10
+ import { select, isCancel, confirm } from '@clack/prompts';
11
+ import { error, warning, success, createSpinner } from '../core/ui.js';
12
12
  import { spawn } from 'child_process';
13
13
  import { t } from '../i18n/index.js';
14
- /**
15
- * Detect terminal capabilities
16
- */
17
14
  function detectTerminalCapabilities() {
18
15
  const term = (process.env['TERM'] || '').toLowerCase();
19
16
  const termProgram = (process.env['TERM_PROGRAM'] || '').toLowerCase();
20
17
  const colorTerm = process.env['COLORTERM'];
21
- // Detect image support (iTerm2, Kitty, WezTerm, etc.)
22
18
  const supportsImages = termProgram.includes('iterm') ||
23
19
  term.includes('kitty') ||
24
20
  termProgram.includes('wezterm') ||
25
21
  term.includes('sixel');
26
- // Detect color support
27
22
  const supportsColor = colorTerm !== undefined ||
28
23
  term.includes('color') ||
29
24
  term.includes('256') ||
30
25
  term.includes('ansi') ||
31
26
  termProgram !== '';
32
- // Detect Unicode support
33
27
  const supportsUnicode = (process.env['LANG'] || '').includes('UTF-8') ||
34
28
  (process.env['LC_ALL'] || '').includes('UTF-8');
35
- // Determine terminal type
36
29
  let terminalType = 'basic';
37
30
  if (supportsImages && supportsColor && supportsUnicode) {
38
31
  terminalType = 'advanced';
@@ -40,20 +33,10 @@ function detectTerminalCapabilities() {
40
33
  else if (supportsColor && supportsUnicode) {
41
34
  terminalType = 'enhanced';
42
35
  }
43
- return {
44
- supportsColor,
45
- supportsImages,
46
- supportsUnicode,
47
- terminalType
48
- };
36
+ return { supportsColor, supportsImages, supportsUnicode, terminalType };
49
37
  }
50
- /**
51
- * Get marked-terminal renderer options based on terminal capabilities
52
- */
53
38
  function getRendererOptions(capabilities) {
54
- // Text width for better readability
55
39
  const width = Math.min(process.stdout.columns || 80, 100);
56
- // For basic terminals, use simpler ASCII characters
57
40
  if (capabilities.terminalType === 'basic') {
58
41
  return {
59
42
  width,
@@ -67,65 +50,32 @@ function getRendererOptions(capabilities) {
67
50
  }
68
51
  };
69
52
  }
70
- // For enhanced and advanced terminals, use Unicode box-drawing characters
71
53
  return {
72
54
  width,
73
55
  tableOptions: {
74
56
  chars: {
75
- top: '─',
76
- 'top-mid': '',
77
- 'top-left': '',
78
- 'top-right': '',
79
- bottom: '─',
80
- 'bottom-mid': '┴',
81
- 'bottom-left': '└',
82
- 'bottom-right': '┘',
83
- left: '│',
84
- 'left-mid': '├',
85
- mid: '─',
86
- 'mid-mid': '┼',
87
- right: '│',
88
- 'right-mid': '┤',
89
- middle: '│'
57
+ top: '─', 'top-mid': '┬', 'top-left': '┌', 'top-right': '┐',
58
+ bottom: '─', 'bottom-mid': '', 'bottom-left': '└', 'bottom-right': '┘',
59
+ left: '│', 'left-mid': '', mid: '─', 'mid-mid': '┼',
60
+ right: '│', 'right-mid': '', middle: '│'
90
61
  }
91
62
  }
92
63
  };
93
64
  }
94
- // Detect terminal capabilities once at startup
95
65
  const terminalCapabilities = detectTerminalCapabilities();
96
- // Configure marked with terminal-optimized renderer
97
- marked.setOptions({
98
- // @ts-ignore - markedTerminal类型定义问题
99
- renderer: new TerminalRenderer(getRendererOptions(terminalCapabilities))
100
- });
101
- /**
102
- * GitHub仓库配置
103
- */
104
- const GITHUB_REPO = {
105
- owner: 'nbtca',
106
- repo: 'documents',
107
- branch: 'main'
108
- };
109
- /**
110
- * GitHub Token (可选 - 用于避免 API 速率限制)
111
- * 从环境变量读取,如果没有则使用未认证请求
112
- */
66
+ // @ts-ignore
67
+ marked.setOptions({ renderer: new TerminalRenderer(getRendererOptions(terminalCapabilities)) });
68
+ const GITHUB_REPO = { owner: 'nbtca', repo: 'documents', branch: 'main' };
113
69
  const GITHUB_TOKEN = process.env['GITHUB_TOKEN'] || process.env['GH_TOKEN'];
114
- /**
115
- * 预定义的文档分类
116
- */
117
70
  const DOC_CATEGORIES = [
118
- { name: '[Tutorial] 教程', path: 'tutorial' },
119
- { name: '[Repair] 维修日', path: '维修日' },
120
- { name: '[Events] 相关活动举办', path: '相关活动举办' },
121
- { name: '[Process] 流程文档', path: 'process' },
122
- { name: '[Repair] 维修相关', path: 'repair' },
123
- { name: '[Archive] 归档文档', path: 'archived' },
124
- { name: '[README] 项目说明', path: 'README.md' }
71
+ { name: '📖 教程', path: 'tutorial' },
72
+ { name: '🔧 维修日记', path: '维修日' },
73
+ { name: '🎉 活动文档', path: '相关活动举办' },
74
+ { name: '📋 流程文档', path: 'process' },
75
+ { name: '🛠 维修相关', path: 'repair' },
76
+ { name: '📦 归档文档', path: 'archived' },
77
+ { name: '📄 项目说明 (README)', path: 'README.md' },
125
78
  ];
126
- /**
127
- * 从GitHub获取目录内容
128
- */
129
79
  async function fetchGitHubDirectory(path = '') {
130
80
  const url = `https://api.github.com/repos/${GITHUB_REPO.owner}/${GITHUB_REPO.repo}/contents/${path}?ref=${GITHUB_REPO.branch}`;
131
81
  try {
@@ -133,17 +83,11 @@ async function fetchGitHubDirectory(path = '') {
133
83
  'Accept': 'application/vnd.github.v3+json',
134
84
  'User-Agent': 'NBTCA-CLI'
135
85
  };
136
- // 如果有 GitHub Token,添加认证头以避免速率限制
137
- if (GITHUB_TOKEN) {
86
+ if (GITHUB_TOKEN)
138
87
  headers['Authorization'] = `Bearer ${GITHUB_TOKEN}`;
139
- }
140
- const response = await axios.get(url, {
141
- timeout: 10000,
142
- headers
143
- });
88
+ const response = await axios.get(url, { timeout: 10000, headers });
144
89
  return response.data
145
90
  .filter((item) => {
146
- // 过滤掉 node_modules, .git 等目录
147
91
  if (item.name.startsWith('.'))
148
92
  return false;
149
93
  if (item.name === 'node_modules')
@@ -152,7 +96,6 @@ async function fetchGitHubDirectory(path = '') {
152
96
  return false;
153
97
  if (item.name === 'pnpm-lock.yaml')
154
98
  return false;
155
- // 只显示目录和 markdown 文件
156
99
  if (item.type === 'file' && !item.name.endsWith('.md'))
157
100
  return false;
158
101
  return true;
@@ -164,7 +107,6 @@ async function fetchGitHubDirectory(path = '') {
164
107
  sha: item.sha
165
108
  }))
166
109
  .sort((a, b) => {
167
- // 目录排在前面
168
110
  if (a.type === 'dir' && b.type === 'file')
169
111
  return -1;
170
112
  if (a.type === 'file' && b.type === 'dir')
@@ -173,7 +115,6 @@ async function fetchGitHubDirectory(path = '') {
173
115
  });
174
116
  }
175
117
  catch (err) {
176
- // 提供更详细的错误信息
177
118
  if (err.response?.status === 403) {
178
119
  const rateLimitRemaining = err.response.headers['x-ratelimit-remaining'];
179
120
  const rateLimitReset = err.response.headers['x-ratelimit-reset'];
@@ -186,319 +127,201 @@ async function fetchGitHubDirectory(path = '') {
186
127
  throw new Error(`无法获取目录内容: ${err.message}`);
187
128
  }
188
129
  }
189
- /**
190
- * 从GitHub获取文件原始内容
191
- */
192
130
  async function fetchGitHubRawContent(path) {
193
131
  const url = `https://raw.githubusercontent.com/${GITHUB_REPO.owner}/${GITHUB_REPO.repo}/${GITHUB_REPO.branch}/${path}`;
194
132
  try {
195
- const response = await axios.get(url, {
196
- timeout: 15000,
197
- headers: {
198
- 'User-Agent': 'NBTCA-CLI'
199
- }
200
- });
133
+ const response = await axios.get(url, { timeout: 15000, headers: { 'User-Agent': 'NBTCA-CLI' } });
201
134
  return response.data;
202
135
  }
203
136
  catch (err) {
204
137
  throw new Error(`无法获取文件内容: ${err.message}`);
205
138
  }
206
139
  }
207
- /**
208
- * 清理和格式化Markdown内容
209
- * 移除VitePress frontmatter和特殊语法,优化终端显示
210
- */
211
140
  function cleanMarkdownContent(content, capabilities) {
212
141
  let cleaned = content;
213
- // 1. 移除 YAML frontmatter (---开头结尾的部分)
214
142
  cleaned = cleaned.replace(/^---\n[\s\S]*?\n---\n/m, '');
215
- // 2. 移除 VitePress 的特殊容器语法 (:::info, :::tip, :::warning 等)
216
- // 保留内容,只移除容器标记
217
143
  cleaned = cleaned.replace(/^:::(info|tip|warning|danger|details).*$/gm, '');
218
144
  cleaned = cleaned.replace(/^:::$/gm, '');
219
- // 3. 处理 VitePress 的 [[toc]] 语法
220
145
  cleaned = cleaned.replace(/\[\[toc\]\]/gi, '**目录**\n\n_(请在浏览器中查看完整目录)_\n');
221
- // 4. 优化图片显示 - 根据终端能力调整
222
146
  if (capabilities.terminalType === 'basic') {
223
- // Basic terminals: Replace images with simple text references
224
- // This prevents clutter from image syntax that can't be displayed
225
- cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt, _url) => {
226
- const description = alt || '图片';
227
- return `📎 [${description}]`;
228
- });
147
+ cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt) => `📎 [${alt || '图片'}]`);
229
148
  }
230
149
  else if (capabilities.terminalType === 'enhanced') {
231
- // Enhanced terminals: Keep alt text and show it's an image
232
150
  cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt, url) => {
233
- const description = alt || '图片';
234
151
  const filename = url.split('/').pop() || url;
235
- return `🖼️ **[图片: ${description}]**\n _${filename}_`;
152
+ return `🖼️ **[图片: ${alt || '图片'}]**\n _${filename}_`;
236
153
  });
237
154
  }
238
- // For advanced terminals (supportsImages), keep original markdown
239
- // marked-terminal will handle the image syntax appropriately
240
- // 5. 清理多余的空行(超过2个连续空行压缩为2个)
241
155
  cleaned = cleaned.replace(/\n{3,}/g, '\n\n');
242
- // 6. 移除 HTML 注释
243
156
  cleaned = cleaned.replace(/<!--[\s\S]*?-->/g, '');
244
- // 7. 移除 HTML 标签但保留内容 (for better terminal display)
245
157
  cleaned = cleaned.replace(/<([a-z][a-z0-9]*)[^>]*>(.*?)<\/\1>/gi, '$2');
246
- // 8. 清理开头和结尾的空白
247
158
  cleaned = cleaned.trim();
248
159
  return cleaned;
249
160
  }
250
- /**
251
- * 提取文档标题(从第一个 # 标题)
252
- */
253
161
  function extractDocTitle(content) {
254
162
  const match = content.match(/^#\s+(.+)$/m);
255
163
  return match?.[1]?.trim() ?? null;
256
164
  }
165
+ async function displayInPager(content, title) {
166
+ const trans = t();
167
+ return new Promise((resolve) => {
168
+ const pager = process.env['PAGER'] || 'less';
169
+ const fullContent = `${chalk.cyan.bold(`>> ${title}`)}\n${chalk.gray('='.repeat(80))}\n\n${content}\n\n${chalk.gray('='.repeat(80))}\n${chalk.dim(trans.docs.endOfDocument)}\n`;
170
+ const lessArgs = ['-R', '-F', '-X'];
171
+ try {
172
+ const child = spawn(pager, lessArgs, { stdio: ['pipe', 'inherit', 'inherit'], shell: true });
173
+ child.stdin.write(fullContent);
174
+ child.stdin.end();
175
+ child.on('exit', (code) => resolve(code === 0));
176
+ child.on('error', () => {
177
+ console.error(chalk.yellow(trans.docs.pagerNotAvailable));
178
+ console.log(fullContent);
179
+ resolve(false);
180
+ });
181
+ }
182
+ catch {
183
+ console.log(fullContent);
184
+ resolve(false);
185
+ }
186
+ });
187
+ }
257
188
  /**
258
- * 浏览目录并选择文档
189
+ * Browse a GitHub directory with @clack/prompts select()
259
190
  */
260
191
  async function browseDirectory(dirPath = '') {
261
192
  const trans = t();
262
193
  try {
263
- info(dirPath ? `${trans.docs.loadingDir}: ${dirPath}` : trans.docs.loading);
194
+ const s = createSpinner(dirPath ? `${trans.docs.loadingDir}: ${dirPath}` : trans.docs.loading);
264
195
  const items = await fetchGitHubDirectory(dirPath);
265
- console.log('\r' + ' '.repeat(60) + '\r'); // 清除加载提示
196
+ s.stop('');
266
197
  if (items.length === 0) {
267
198
  warning(trans.docs.emptyDir);
268
199
  return;
269
200
  }
270
- // 构建选择列表
271
- const choices = [
272
- ...(dirPath ? [
273
- { name: chalk.gray(trans.docs.upToParent), value: { type: 'back' } },
274
- new inquirer.Separator()
275
- ] : []),
201
+ const options = [
202
+ ...(dirPath ? [{ value: '__back__', label: chalk.gray('↑ ' + trans.docs.upToParent) }] : []),
276
203
  ...items.map(item => ({
277
- name: item.type === 'dir'
278
- ? chalk.cyan(`[DIR] ${item.name}/`)
279
- : chalk.white(`[MD] ${item.name}`),
280
- value: item
204
+ value: item.path,
205
+ label: item.type === 'dir'
206
+ ? chalk.cyan('📁 ' + item.name + '/')
207
+ : chalk.white('📄 ' + item.name),
208
+ hint: item.type === 'dir' ? 'dir' : '.md',
281
209
  })),
282
- new inquirer.Separator(),
283
- { name: chalk.gray(trans.docs.returnToMenu), value: { type: 'exit' } }
210
+ { value: '__exit__', label: chalk.gray('✕ ' + trans.docs.returnToMenu) },
284
211
  ];
285
- const { selected } = await inquirer.prompt([
286
- {
287
- type: 'list',
288
- name: 'selected',
289
- message: dirPath ? `${trans.docs.currentDir}: ${dirPath}` : trans.docs.chooseDoc,
290
- choices,
291
- pageSize: 15,
292
- loop: false
293
- }
294
- ]);
295
- // 处理用户选择
296
- if (selected.type === 'exit') {
212
+ const selected = await select({
213
+ message: dirPath ? `${trans.docs.currentDir}: ${dirPath}` : trans.docs.chooseDoc,
214
+ options,
215
+ });
216
+ if (isCancel(selected) || selected === '__exit__')
297
217
  return;
298
- }
299
- else if (selected.type === 'back') {
300
- // 返回上级目录
218
+ if (selected === '__back__') {
301
219
  const parentPath = dirPath.split('/').slice(0, -1).join('/');
302
220
  await browseDirectory(parentPath);
303
221
  }
304
- else if (selected.type === 'dir') {
305
- // 进入子目录
306
- await browseDirectory(selected.path);
307
- }
308
- else if (selected.type === 'file') {
309
- // 查看文件
310
- await viewMarkdownFile(selected.path);
311
- // 查看完后继续浏览当前目录
312
- await browseDirectory(dirPath);
222
+ else {
223
+ const item = items.find(i => i.path === selected);
224
+ if (item?.type === 'dir') {
225
+ await browseDirectory(selected);
226
+ }
227
+ else if (item?.type === 'file') {
228
+ await viewMarkdownFile(selected);
229
+ await browseDirectory(dirPath);
230
+ }
313
231
  }
314
232
  }
315
233
  catch (err) {
316
234
  error(trans.docs.loadError);
317
235
  console.log(chalk.gray(` ${trans.docs.errorHint}: ${err.message}`));
318
- const { retry } = await inquirer.prompt([
319
- {
320
- type: 'confirm',
321
- name: 'retry',
322
- message: trans.docs.retry,
323
- default: true
324
- }
325
- ]);
326
- if (retry) {
236
+ const retry = await confirm({ message: trans.docs.retry });
237
+ if (!isCancel(retry) && retry) {
327
238
  await browseDirectory(dirPath);
328
239
  }
329
240
  }
330
241
  }
331
242
  /**
332
- * 使用系统pager (less/more) 显示内容
333
- * 提供类似vim/journalctl的阅读体验
334
- */
335
- async function displayInPager(content, title) {
336
- const trans = t();
337
- return new Promise((resolve) => {
338
- // 检测可用的pager程序
339
- const pager = process.env['PAGER'] || 'less';
340
- // 为内容添加标题
341
- const fullContent = `${chalk.cyan.bold(`>> ${title}`)}\n${chalk.gray('='.repeat(80))}\n\n${content}\n\n${chalk.gray('='.repeat(80))}\n${chalk.dim(trans.docs.endOfDocument)}\n`;
342
- // less的参数: -R (支持颜色), -F (如果内容少于一屏则直接显示), -X (退出时不清屏)
343
- const lessArgs = ['-R', '-F', '-X'];
344
- try {
345
- const child = spawn(pager, lessArgs, {
346
- stdio: ['pipe', 'inherit', 'inherit'],
347
- shell: true
348
- });
349
- // 将内容写入pager的stdin
350
- child.stdin.write(fullContent);
351
- child.stdin.end();
352
- child.on('exit', (code) => {
353
- resolve(code === 0);
354
- });
355
- child.on('error', () => {
356
- // 如果pager失败,回退到直接输出
357
- console.error(chalk.yellow(trans.docs.pagerNotAvailable));
358
- console.log(fullContent);
359
- resolve(false);
360
- });
361
- }
362
- catch {
363
- // 回退方案: 直接输出
364
- console.log(fullContent);
365
- resolve(false);
366
- }
367
- });
368
- }
369
- /**
370
- * 查看Markdown文件
243
+ * View a markdown file using pager, then offer next-action select()
371
244
  */
372
245
  async function viewMarkdownFile(path) {
373
246
  const trans = t();
374
247
  try {
375
- info(`${trans.docs.loading.replace('...', '')}: ${path}`);
376
- // 从GitHub获取原始Markdown内容
248
+ const s = createSpinner(`${trans.docs.loading.replace('...', '')}: ${path}`);
377
249
  const rawContent = await fetchGitHubRawContent(path);
378
- // 清理VitePress特殊语法 - 使用终端能力优化显示
379
250
  const cleanedContent = cleanMarkdownContent(rawContent, terminalCapabilities);
380
- // 提取标题
381
251
  const title = extractDocTitle(cleanedContent) || path.split('/').pop() || path;
382
- // 渲染Markdown到终端
383
252
  const rendered = await marked(cleanedContent);
384
- console.log('\r' + ' '.repeat(60) + '\r'); // 清除加载提示
385
- // 使用pager显示文档 (类似vim/journalctl的阅读体验)
253
+ s.stop('');
386
254
  await displayInPager(rendered, `${title}\n${chalk.gray(` ${path}`)}`);
387
- console.log(); // 添加空行
255
+ console.log();
388
256
  success(trans.docs.docCompleted);
389
257
  console.log();
390
- // 提供后续操作选项
391
- const { action } = await inquirer.prompt([
392
- {
393
- type: 'list',
394
- name: 'action',
395
- message: trans.docs.chooseAction,
396
- choices: [
397
- { name: trans.docs.backToList, value: 'back' },
398
- { name: trans.docs.reread, value: 'reread' },
399
- { name: trans.docs.openBrowser, value: 'browser' }
400
- ]
401
- }
402
- ]);
403
- if (action === 'browser') {
258
+ const action = await select({
259
+ message: trans.docs.chooseAction,
260
+ options: [
261
+ { value: 'back', label: trans.docs.backToList },
262
+ { value: 'reread', label: trans.docs.reread },
263
+ { value: 'browser', label: trans.docs.openBrowser },
264
+ ],
265
+ });
266
+ if (isCancel(action))
267
+ return;
268
+ if (action === 'browser')
404
269
  await openDocsInBrowser(path);
405
- }
406
- else if (action === 'reread') {
407
- // 重新阅读文档
270
+ if (action === 'reread')
408
271
  await viewMarkdownFile(path);
409
- }
410
272
  }
411
273
  catch (err) {
412
- console.log('\r' + ' '.repeat(60) + '\r');
413
274
  error(trans.docs.loadError);
414
275
  console.log(chalk.gray(` ${trans.docs.errorHint}: ${err.message}`));
415
- warning(trans.docs.openBrowserPrompt);
416
- console.log();
417
- const { openBrowser } = await inquirer.prompt([
418
- {
419
- type: 'confirm',
420
- name: 'openBrowser',
421
- message: trans.docs.openBrowserPrompt,
422
- default: true
423
- }
424
- ]);
425
- if (openBrowser) {
276
+ const openBrowser = await confirm({ message: trans.docs.openBrowserPrompt });
277
+ if (!isCancel(openBrowser) && openBrowser) {
426
278
  await openDocsInBrowser(path);
427
279
  }
428
280
  }
429
281
  }
430
282
  /**
431
- * 在浏览器中打开知识库
283
+ * Open docs in browser with real spinner
432
284
  */
433
285
  export async function openDocsInBrowser(path) {
434
286
  const trans = t();
287
+ const s = createSpinner(trans.docs.opening);
435
288
  try {
436
- info(trans.docs.opening);
437
289
  const url = path
438
290
  ? `https://docs.nbtca.space/${path.replace(/\.md$/, '')}`
439
291
  : 'https://docs.nbtca.space';
440
292
  await open(url);
441
- success(trans.docs.browserOpened);
293
+ s.stop(trans.docs.browserOpened);
442
294
  }
443
- catch (err) {
444
- error(trans.docs.browserError);
295
+ catch {
296
+ s.error(trans.docs.browserError);
445
297
  console.log(chalk.gray(` ${trans.docs.browserErrorHint}`));
446
298
  }
447
299
  console.log();
448
300
  }
449
301
  /**
450
- * 显示知识库菜单
302
+ * Show docs category menu
451
303
  */
452
304
  export async function showDocsMenu() {
453
305
  const trans = t();
454
306
  while (true) {
455
- console.log();
456
- console.log(chalk.cyan.bold(` >> ${trans.docs.title}`));
457
- console.log(chalk.dim(` ${trans.docs.subtitle}`));
458
- console.log(chalk.dim(` ${trans.docs.navigationHint}`));
459
- // 显示终端能力信息 - 帮助用户了解文档渲染能力
460
- const terminalTypeDisplay = {
461
- 'basic': chalk.yellow(trans.docs.terminalBasic),
462
- 'enhanced': chalk.cyan(trans.docs.terminalEnhanced),
463
- 'advanced': chalk.green(trans.docs.terminalAdvanced)
464
- }[terminalCapabilities.terminalType];
465
- console.log(chalk.dim(` ${trans.docs.terminalProfile}: ${terminalTypeDisplay} | ${trans.docs.terminalSupport}: ${[
466
- terminalCapabilities.supportsColor && 'Color',
467
- terminalCapabilities.supportsUnicode && 'Unicode',
468
- terminalCapabilities.supportsImages && 'Image'
469
- ].filter(Boolean).join(', ') || 'Text'}`));
470
- console.log();
471
- const choices = [
472
- ...DOC_CATEGORIES.map(cat => ({
473
- name: cat.name,
474
- value: cat.path
475
- })),
476
- new inquirer.Separator(),
477
- { name: chalk.gray(trans.docs.openBrowser), value: 'browser' },
478
- { name: chalk.gray(trans.docs.returnToMenu), value: 'back' }
307
+ const options = [
308
+ ...DOC_CATEGORIES.map(cat => ({ value: cat.path, label: cat.name })),
309
+ { value: 'browser', label: chalk.gray('🌐 ' + trans.docs.openBrowser) },
310
+ { value: 'back', label: chalk.gray('← ' + trans.docs.returnToMenu) },
479
311
  ];
480
- const { action } = await inquirer.prompt([
481
- {
482
- type: 'list',
483
- name: 'action',
484
- message: trans.docs.chooseCategory,
485
- choices,
486
- pageSize: 15,
487
- loop: false
488
- }
489
- ]);
490
- if (action === 'back') {
312
+ const action = await select({
313
+ message: trans.docs.chooseCategory,
314
+ options,
315
+ });
316
+ if (isCancel(action) || action === 'back')
491
317
  return;
492
- }
493
- else if (action === 'browser') {
318
+ if (action === 'browser') {
494
319
  await openDocsInBrowser();
495
320
  }
496
321
  else if (action === 'README.md') {
497
- // 直接查看 README
498
322
  await viewMarkdownFile('README.md');
499
323
  }
500
324
  else {
501
- // 浏览指定目录
502
325
  await browseDirectory(action);
503
326
  }
504
327
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"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"}