From 15c69e167e0a71f9238c73477aba7762a6cfd315 Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Tue, 11 Jul 2023 08:09:18 -0500 Subject: [PATCH] uncomment commented out code and try a test run --- src/FsAutoComplete.Core/InlayHints.fs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/FsAutoComplete.Core/InlayHints.fs b/src/FsAutoComplete.Core/InlayHints.fs index 7cd7fb66a..7ce580ece 100644 --- a/src/FsAutoComplete.Core/InlayHints.fs +++ b/src/FsAutoComplete.Core/InlayHints.fs @@ -971,8 +971,9 @@ let provideHints parameterHints.Add hint | :? FSharpMemberOrFunctionOrValue as methodOrConstructor when - hintConfig.ShowParameterHints && methodOrConstructor.IsConstructor - -> // TODO: support methods when this API comes into FCS + hintConfig.ShowParameterHints + && (methodOrConstructor.IsMethod || methodOrConstructor.IsConstructor) + -> let endPosForMethod = symbolUse.Range.End let line, _ = Position.toZ endPosForMethod @@ -995,13 +996,17 @@ let provideHints methodOrConstructor.CurriedParameterGroups |> Seq.concat |> Array.ofSeq // TODO: need ArgumentLocations to be surfaced for idx = 0 to parameters.Length - 1 do - // let paramLocationInfo = tupledParamInfos.ArgumentLocations.[idx] + let paramLocationInfo = tupledParamInfos.ArgumentLocations.[idx] let param = parameters.[idx] let paramName = param.DisplayName - // if shouldCreateHint param && paramLocationInfo.IsNamedArgument then - // let hint = { Text = paramName + " ="; Pos = paramLocationInfo.ArgumentRange.Start; Kind = Parameter } - // parameterHints.Add(hint) + if + ShouldCreate.paramHint methodOrConstructor param paramName + && paramLocationInfo.IsNamedArgument + then + let hint = createParamHint paramLocationInfo.ArgumentRange paramName + parameterHints.Add(hint) + () // This will only happen for curried methods defined in F#. @@ -1018,8 +1023,7 @@ let provideHints Some(definitionArgs.[i], v) else None) - |> Array.filter Option.isSome - |> Array.map Option.get + |> Array.choose id for (definitionArg, appliedArgRange) in parms do let! appliedArgText = text[appliedArgRange]