Forge
csharpdeeb25a2
1#nullable enable
2
3namespace CascadeIDE.Features.Chat;
4
5/// <summary>Поиск тела сообщения в <see cref="ChatSurfaceSnapshot"/> по индексу ленты.</summary>
6public static class ChatSurfaceSnapshotMessageLookup
7{
8 public static string? TryGetMessageBody(ChatSurfaceSnapshot? snapshot, int messageIndex)
9 {
10 if (snapshot is null || messageIndex < 0)
11 return null;
12
13 foreach (var lane in snapshot.Layout.Lanes)
14 {
15 foreach (var entry in lane.Entries)
16 {
17 if (entry.Kind != ChatSurfaceEntryKind.Message)
18 continue;
19 if (entry.MessageIndex == messageIndex)
20 return entry.Body;
21 }
22 }
23
24 return null;
25 }
26}
27
View only · write via MCP/CIDE