csharpdeeb25a2 | 1 | namespace CascadeIDE.Features.Chat; |
| 2 | |
| 3 | /// <summary>Три допустимых сочетания для отправки сообщения или переноса строки в composer (Skia).</summary> |
| 4 | public static class ChatComposerChordOptions |
| 5 | { |
| 6 | public static readonly string[] Ordered = ["Enter", "Ctrl+Enter", "Shift+Enter"]; |
| 7 | |
| 8 | /// <summary>Дефолт «как в мессенджерах»: не совпадает с выбранным send chord.</summary> |
| 9 | public static string ComplementaryChord(string send) |
| 10 | { |
| 11 | if (string.Equals(send, "Enter", StringComparison.Ordinal)) |
| 12 | return "Ctrl+Enter"; |
| 13 | if (string.Equals(send, "Ctrl+Enter", StringComparison.Ordinal)) |
| 14 | return "Enter"; |
| 15 | if (string.Equals(send, "Shift+Enter", StringComparison.Ordinal)) |
| 16 | return "Ctrl+Enter"; |
| 17 | return "Ctrl+Enter"; |
| 18 | } |
| 19 | |
| 20 | public static bool IsDefined(string chord) => |
| 21 | Ordered.Any(o => string.Equals(o, chord, StringComparison.Ordinal)); |
| 22 | } |
| 23 | |
View only · write via MCP/CIDE