Forge
csharpdeeb25a2
1#nullable enable
2
3using CascadeIDE.Features.HybridIndex.Application;
4using CascadeIDE.Features.Documents;
5using CascadeIDE.Features.Editor;
6using CascadeIDE.Features.Markdown;
7using CascadeIDE.Features.Workspace;
8using CascadeIDE.Models;
9using CascadeIDE.Services;
10using CascadeIDE.ViewModels;
11
12namespace CascadeIDE.Features.WorkspaceNavigation.Application;
13
14/// <summary>Контекст shell для <see cref="Presentation.WorkspaceNavigationMapViewModel"/> (PFD navigation map).</summary>
15public interface IWorkspaceNavigationMapHost
16{
17 MainWindowViewModel Shell { get; }
18
19 SolutionWorkspaceViewModel Workspace { get; }
20
21 DocumentsWorkspaceViewModel Documents { get; }
22
23 EditorWorkspaceViewModel Editor { get; }
24
25 MarkdownPreviewToolViewModel MarkdownPreviewTool { get; }
26
27 CascadeIdeSettings Settings { get; }
28
29 Services.IIdeMcpActions IdeMcp { get; }
30
31 HybridIndexOrchestrator HybridIndex { get; }
32
33 bool IsPfdRegionExpanded { get; }
34
35 string? GetWorkspacePath();
36
37 string? CurrentFilePath { get; }
38
39 string EditorText { get; }
40
41 int? EditorSelectionStart { get; }
42
43 int ImpactedTestsBadge { get; }
44
45 string? LastTestSummary { get; }
46
47 Func<string, IReadOnlyList<string>, Task<string?>>? RequestPickFeatureDocAsync { get; }
48
49 void ApplyMfdRegionExpanded(bool expanded);
50
51 void TryNavigateToMfdShellPage(MfdShellPage page);
52
53 void SaveSettingsIfChanged();
54
55 void ScheduleEditorHudBannerRefresh();
56
57 void RevealEditorRange(string? path, int startLine, int endLine, int? column);
58}
59
View only · write via MCP/CIDE