Forge
csharp4405de34
1namespace CascadeIDE.Services;
2
3/// <summary>
4/// Краткий заголовок команды для палитры, если записи в <see cref="IdeCommandPaletteCatalog"/> нет
5/// (например alias в <c>intent-catalog.toml</c> указывает на MCP-команду без отдельной строки палитры).
6/// </summary>
7public static class IdeCommandDocDisplay
8{
9 /// <summary>Текст до « returns:» из <see cref="IdeCommandsDoc"/>; иначе <paramref name="commandId"/>.</summary>
10 public static string ShortTitleForCommandId(string commandId)
11 {
12 if (string.IsNullOrEmpty(commandId))
13 return "";
14 if (!IdeCommandsDoc.TryGetSummary(commandId, out var summary) || string.IsNullOrWhiteSpace(summary))
15 return commandId;
16
17 var s = summary.Trim();
18 var i = s.IndexOf(" returns:", StringComparison.OrdinalIgnoreCase);
19 if (i > 0)
20 s = s[..i].TrimEnd();
21 if (s.Length > 200)
22 s = s[..197] + "…";
23 return string.IsNullOrEmpty(s) ? commandId : s;
24 }
25}
26
View only · write via MCP/CIDE