@@ -19,7 +19,8 @@ open EnvDTE
19
19
open Microsoft.VisualStudio .ComponentModelHost
20
20
open Microsoft.VisualStudio .Editor
21
21
open Microsoft.VisualStudio .Text .Editor
22
-
22
+ open Microsoft.VisualStudio .Text
23
+ open Microsoft.VisualStudio .Utilities
23
24
24
25
type VSStd2KCmdID = VSConstants.VSStd2KCmdID // nested type
25
26
type VSStd97CmdID = VSConstants.VSStd97CmdID // nested type
@@ -86,14 +87,14 @@ type internal FsiToolWindow() as this =
86
87
87
88
let providerGlobal = Package.GetGlobalService( typeof< IOleServiceProvider>) :?> IOleServiceProvider
88
89
let provider = new ServiceProvider( providerGlobal) :> System.IServiceProvider
89
- let textViewAdapter =
90
+ let textViewAdapter , contentTypeRegistry =
90
91
// end of 623708 workaround.
91
92
let componentModel = provider.GetService( typeof< SComponentModel>) :?> IComponentModel
92
- componentModel.GetService< IVsEditorAdaptersFactoryService>()
93
+ componentModel.GetService< IVsEditorAdaptersFactoryService>(), componentModel.GetService < IContentTypeRegistryService >()
93
94
94
95
// REVIEW: trap provider nulls?
95
96
let providerNative = provider.GetService( typeof< IOleServiceProvider>) :?> IOleServiceProvider
96
- let textLines = Util.CreateObjectT< VsTextBufferClass, IVsTextLines> provider
97
+ let textLines = Util.CreateObjectT< VsTextBufferClass, IVsTextLines> provider
97
98
do setSiteForObjectWithSite textLines providerNative
98
99
do textLines.InitializeContent( " " , 0 ) |> throwOnFailure0
99
100
let textView = Util.CreateObjectT< VsTextViewClass, IVsTextView> provider
@@ -123,7 +124,7 @@ type internal FsiToolWindow() as this =
123
124
do codeWinMan.OnNewView( textView) |> throwOnFailure0
124
125
125
126
// Create the stream on top of the text buffer.
126
- let textStream = new TextBufferStream( textViewAdapter.GetDataBuffer( textLines))
127
+ let textStream = new TextBufferStream( textViewAdapter.GetDataBuffer( textLines), contentTypeRegistry )
127
128
let synchronizationContext = System.Threading.SynchronizationContext.Current
128
129
let win32win = { new System.Windows.Forms.IWin32Window with member this.Handle = textView.GetWindowHandle()}
129
130
let mutable textView = textView
0 commit comments