55using CodeNav . OutOfProc . Models ;
66using CodeNav . OutOfProc . ViewModels ;
77using Microsoft . VisualStudio . Extensibility ;
8- using Microsoft . VisualStudio . Extensibility . Editor ;
98using Microsoft . VisualStudio . Extensibility . UI ;
109using System . Windows ;
1110
1211namespace CodeNav . OutOfProc . Services ;
1312
1413public class CodeDocumentService (
1514 OutputWindowService logService ,
16- OutliningHelper outliningHelper )
15+ OutliningService outliningService ,
16+ WindowFrameService windowFrameService )
1717{
1818 /// <summary>
1919 /// DataContext for the tool window.
@@ -34,17 +34,19 @@ public class CodeDocumentService(
3434
3535 public OutputWindowService LogService => logService ;
3636
37- public OutliningHelper OutliningHelper => outliningHelper ;
37+ public OutliningService OutliningService => outliningService ;
3838
3939 public async Task < CodeDocumentViewModel > UpdateCodeDocumentViewModel (
4040 VisualStudioExtensibility ? extensibility ,
41- ITextViewSnapshot ? textView ,
41+ string ? filePath ,
42+ string ? text ,
4243 CancellationToken cancellationToken )
4344 {
4445 try
4546 {
4647 if ( extensibility == null ||
47- textView == null )
48+ string . IsNullOrEmpty ( filePath ) ||
49+ string . IsNullOrEmpty ( text ) )
4850 {
4951 return CodeDocumentViewModel ;
5052 }
@@ -60,20 +62,20 @@ public async Task<CodeDocumentViewModel> UpdateCodeDocumentViewModel(
6062
6163 // Get the new list of code items
6264 var codeItems = await DocumentMapper . MapDocument (
63- textView . Document ,
64- textView . FilePath ,
65+ text ,
66+ filePath ,
6567 CodeDocumentViewModel ,
6668 extensibility ,
6769 cancellationToken ) ;
6870
69- await logService . WriteInfo ( textView , $ "Found '{ codeItems . Count } ' code items") ;
71+ await logService . WriteInfo ( filePath , $ "Found '{ codeItems . Count } ' code items") ;
7072
7173 // Getting the new code items is done, cancel creating a loading placeholder
7274 await loadingCancellationTokenSource . CancelAsync ( ) ;
7375
7476 // Set properties on the CodeDocumentViewModel that are needed for other features
7577 CodeDocumentViewModel . CodeDocumentService = this ;
76- CodeDocumentViewModel . FilePath = textView . FilePath ?? string . Empty ;
78+ CodeDocumentViewModel . FilePath = filePath ?? string . Empty ;
7779
7880 if ( ! codeItems . Any ( ) )
7981 {
@@ -85,37 +87,39 @@ public async Task<CodeDocumentViewModel> UpdateCodeDocumentViewModel(
8587 // And update the DataContext for the tool window
8688 CodeDocumentViewModel . CodeItems = SortHelper . Sort ( codeItems , CodeDocumentViewModel . SortOrder ) ;
8789
88- await logService . WriteInfo ( textView , $ "Sorted code items on '{ CodeDocumentViewModel . SortOrder } '") ;
90+ await logService . WriteInfo ( filePath , $ "Sorted code items on '{ CodeDocumentViewModel . SortOrder } '") ;
8991
9092 // Apply highlights
9193 HighlightHelper . UnHighlight ( CodeDocumentViewModel ) ;
9294
93- await logService . WriteInfo ( textView , $ "Remove highlight from all code items") ;
95+ await logService . WriteInfo ( filePath , $ "Remove highlight from all code items") ;
9496
9597 // Apply current visibility settings to the document
9698 VisibilityHelper . SetCodeItemVisibility ( CodeDocumentViewModel , CodeDocumentViewModel . CodeItems , CodeDocumentViewModel . FilterRules ) ;
9799
98- await logService . WriteInfo ( textView , $ "Set code item visibility") ;
100+ await logService . WriteInfo ( filePath , $ "Set code item visibility") ;
99101
100102 // Apply filter rules
101103 FilterRuleHelper . ApplyFilterRules ( CodeDocumentViewModel , CodeDocumentViewModel . CodeItems , CodeDocumentViewModel . FilterRules ) ;
102104
103- await logService . WriteInfo ( textView , $ "Set code item filter rules") ;
105+ await logService . WriteInfo ( filePath , $ "Set code item filter rules") ;
104106
105107 // Apply history items
106108 HistoryHelper . ApplyHistoryIndicator ( CodeDocumentViewModel ) ;
107109
108- await logService . WriteInfo ( textView , $ "Apply history indicators") ;
110+ await logService . WriteInfo ( filePath , $ "Apply history indicators") ;
109111
110112 // Apply bookmarks
111113 BookmarkHelper . ApplyBookmarkIndicator ( CodeDocumentViewModel ) ;
112114
113- await logService . WriteInfo ( textView , $ "Apply bookmark indicators") ;
115+ await logService . WriteInfo ( filePath , $ "Apply bookmark indicators") ;
114116
115117 // Apply outlining
116- await OutliningHelper . SubscribeToRegionEvents ( CodeDocumentViewModel ) ;
118+ await OutliningService . SubscribeToRegionEvents ( CodeDocumentViewModel ) ;
117119
118- await logService . WriteInfo ( textView , $ "Apply outlining") ;
120+ await logService . WriteInfo ( filePath , $ "Apply outlining") ;
121+
122+ await windowFrameService . SubscribeToWindowFrameEvents ( ) ;
119123
120124 return CodeDocumentViewModel ;
121125 }
0 commit comments