Skip to content

Commit f75efc3

Browse files
Kevin RansomKevin Ransom
Kevin Ransom
authored and
Kevin Ransom
committed
Merged PR 49218: Fix Package manager for release /dev17.14
Fix PM ---- #### AI description (iteration 1) #### PR Classification Bug fix #### PR Summary This pull request addresses issues with the package manager for the release `/dev17.14`, ensuring proper handling of script project options and text view caret positions. - `FSharpProjectOptionsManager.fs`: Refactored handling of `textViewAndCaret` to improve script project options retrieval. - `ScriptClosure.fs`: Fixed filtering logic for package manager lines. - `Extensions.fs`: Corrected parameter in `GetActiveView` method to ensure proper text buffer handling. <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
2 parents e165bbe + e3bbfae commit f75efc3

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

src/Compiler/Driver/ScriptClosure.fs

+4-2
Original file line numberDiff line numberDiff line change
@@ -327,11 +327,13 @@ module ScriptPreprocessClosure =
327327
for kv in tcConfig.packageManagerLines do
328328
let packageManagerKey, packageManagerLines = kv.Key, kv.Value
329329

330-
match packageManagerLines |> List.filter (not << isEditorCursorInPackageLines) with
330+
let packageManagerLines =
331+
packageManagerLines |> List.filter (not << isEditorCursorInPackageLines)
332+
333+
match packageManagerLines with
331334
| [] -> ()
332335
| packageManagerLine :: _ ->
333336
let m = packageManagerLine.Range
334-
let packageManagerLines = packageManagerLines
335337
yield! processPackageManagerLines m packageManagerLines scriptName packageManagerKey
336338
]
337339

vsintegration/src/FSharp.Editor/Common/Extensions.fs

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ type Document with
139139
| hr, _, _, docData, _ when ErrorHandler.Succeeded(hr) && docData <> IntPtr.Zero ->
140140
match Marshal.GetObjectForIUnknown docData with
141141
| :? IVsTextBuffer as ivsTextBuffer ->
142-
match textManager.GetActiveView(1, ivsTextBuffer) with
142+
match textManager.GetActiveView(0, ivsTextBuffer) with
143143
| hr, vsTextView when ErrorHandler.Succeeded(hr) -> Some vsTextView
144144
| _ -> None
145145
| _ -> None

vsintegration/src/FSharp.Editor/LanguageService/FSharpProjectOptionsManager.fs

+6-4
Original file line numberDiff line numberDiff line change
@@ -200,13 +200,16 @@ type private FSharpProjectOptionsReactor(checker: FSharpChecker) =
200200
cancellableTask {
201201
let! ct = CancellableTask.getCancellationToken ()
202202
let! fileStamp = document.GetTextVersionAsync(ct)
203+
let textViewAndCaret () : (IVsTextView * Position) option = document.TryGetTextViewAndCaretPos()
203204

204205
match singleFileCache.TryGetValue(document.Id) with
205206
| false, _ ->
206207
let! sourceText = document.GetTextAsync(ct)
207208

208209
let getProjectOptionsFromScript textViewAndCaret =
209-
match textViewAndCaret with
210+
let caret = textViewAndCaret ()
211+
212+
match caret with
210213
| None ->
211214
checker.GetProjectOptionsFromScript(
212215
document.FilePath,
@@ -226,7 +229,6 @@ type private FSharpProjectOptionsReactor(checker: FSharpChecker) =
226229
userOpName = userOpName
227230
)
228231

229-
let textViewAndCaret = document.TryGetTextViewAndCaretPos()
230232
let! scriptProjectOptions, _ = getProjectOptionsFromScript textViewAndCaret
231233
let project = document.Project
232234

@@ -266,7 +268,7 @@ type private FSharpProjectOptionsReactor(checker: FSharpChecker) =
266268

267269
let updateProjectOptions () =
268270
async {
269-
let! scriptProjectOptions, _ = getProjectOptionsFromScript None
271+
let! scriptProjectOptions, _ = getProjectOptionsFromScript textViewAndCaret
270272

271273
checker.NotifyFileChanged(document.FilePath, scriptProjectOptions)
272274
|> Async.Start
@@ -281,7 +283,7 @@ type private FSharpProjectOptionsReactor(checker: FSharpChecker) =
281283
match value with
282284
| projectId, fileStamp, parsingOptions, projectOptions, _ ->
283285
let subscription =
284-
match textViewAndCaret with
286+
match textViewAndCaret () with
285287
| Some(textView, _) ->
286288
subscribeToTextViewEvents (textView, (Some onChangeCaretHandler), (Some onKillFocus), (Some onSetFocus))
287289
| None -> None

0 commit comments

Comments
 (0)