Forge
csharpdeeb25a2
1namespace CascadeIDE.Features.UiChrome;
2
3/// <summary>
4/// Текущее размещение preview Markdown из merged <c>workspace.toml</c> (бандл + <c>.cascade/workspace.toml</c>).
5/// </summary>
6public static class MarkdownPreviewPlacementRuntime
7{
8 /// <summary>Значение по умолчанию до загрузки TOML и при сбросе тестов.</summary>
9 public const MarkdownPreviewPlacement DefaultPlacement = MarkdownPreviewPlacement.Mfd;
10
11 public static MarkdownPreviewPlacement Current { get; private set; } = DefaultPlacement;
12
13 internal static void ResetToCodeDefaults() => Current = DefaultPlacement;
14
15 internal static void ApplyWorkspaceToml(Features.Workspace.RepositoryWorkspaceToml? w)
16 {
17 ResetToCodeDefaults();
18 if (w is null)
19 return;
20 var placement = w.Chrome?.MarkdownPreviewPlacement;
21 if (!string.IsNullOrWhiteSpace(placement))
22 Current = MarkdownPreviewPlacementParser.ParseOrDefault(placement, DefaultPlacement);
23 }
24}
25
View only · write via MCP/CIDE