Forge
csharpdeeb25a2
1using CascadeIDE.Contracts;
2using CascadeIDE.Contracts.Experimental;
3using CascadeIDE.Contracts.Experimental.Capabilities;
4using CascadeIDE.Services;
5
6namespace CascadeIDE.Features.Markdown;
7
8/// <summary>Регистрация capabilities для markdown tooling (v1).</summary>
9[ApiStability(ApiStability.Experimental)]
10public sealed class MarkdownCapabilitiesModule : ICascadeFeatureModule
11{
12 public string Id => CapabilityIds.DocsMarkdown.ModuleId;
13
14 public void Register(ICapabilityRegistry registry)
15 {
16 registry.RegisterService(new ServiceCapabilityDescriptor
17 {
18 Id = CapabilityIds.DocsMarkdown.DiagramExpansionService,
19 OwnerModuleId = CapabilityIds.DocsMarkdown.ModuleId,
20 Stability = ApiStability.Experimental,
21 ContractType = typeof(MarkdownDiagramExpansion),
22 ImplementationType = typeof(MarkdownDiagramExpansion),
23 Tags = ["markdown", "diagrams", "kroki"]
24 });
25
26 registry.RegisterCommand(new CommandCapabilityDescriptor
27 {
28 Id = CapabilityIds.DocsMarkdown.DumpCapabilitiesCommand,
29 OwnerModuleId = CapabilityIds.DocsMarkdown.ModuleId,
30 Stability = ApiStability.Experimental,
31 Title = "Dump capabilities map to file",
32 Category = "Debug/Diagnostics",
33 Tags = ["debug", "diagnostics"]
34 });
35
36 registry.RegisterCommand(new CommandCapabilityDescriptor
37 {
38 Id = CapabilityIds.DocsMarkdown.ExportExpandedMarkdownCommand,
39 OwnerModuleId = CapabilityIds.DocsMarkdown.ModuleId,
40 Stability = ApiStability.Experimental,
41 Title = "Export expanded Markdown",
42 Category = "Markdown",
43 Tags = ["markdown", "export"]
44 });
45 }
46}
47
48
View only · write via MCP/CIDE