@@ -1454,7 +1454,7 @@ type internal TypeCheckInfo
14541454 |> Some
14551455 | _ -> None)
14561456
1457- let GetCompletionsForUnionCaseField pos indexOrName caseIdRange isTheOnlyField declaredItems =
1457+ let GetCompletionsForUnionCaseField pos indexOrName caseIdRange isTheOnlyField suggestPatternNames declaredItems =
14581458 let declaredItems =
14591459 declaredItems
14601460 |> Option.bind ( FilterRelevantItemsBy getItem2 None IsPatternCandidate)
@@ -1468,19 +1468,27 @@ type internal TypeCheckInfo
14681468 |> List.mapi ( fun index _ -> Item.UnionCaseField( uci, index) |> ItemWithNoInst |> DefaultCompletionItem)
14691469 | _ -> []
14701470
1471- sResolutions.CapturedNameResolutions
1472- |> ResizeArray.tryPick ( fun r ->
1473- match r.Item with
1474- | Item.UnionCase( uci, _) when equals r.Range caseIdRange ->
1475- let list =
1476- declaredItems
1477- |> Option.map p13
1478- |> Option.defaultValue []
1479- |> List.append ( fields indexOrName isTheOnlyField uci)
1471+ if not suggestPatternNames then
1472+ declaredItems
1473+ else
14801474
1481- Some( SuggestNameForUnionCaseFieldPattern g caseIdRange.End pos uci indexOrName isTheOnlyField list, r.DisplayEnv, r.Range)
1482- | _ -> None)
1483- |> Option.orElse declaredItems
1475+ sResolutions.CapturedNameResolutions
1476+ |> ResizeArray.tryPick ( fun r ->
1477+ match r.Item with
1478+ | Item.UnionCase( uci, _) when equals r.Range caseIdRange ->
1479+ let list =
1480+ declaredItems
1481+ |> Option.map p13
1482+ |> Option.defaultValue []
1483+ |> List.append ( fields indexOrName isTheOnlyField uci)
1484+
1485+ Some(
1486+ SuggestNameForUnionCaseFieldPattern g caseIdRange.End pos uci indexOrName isTheOnlyField list,
1487+ r.DisplayEnv,
1488+ r.Range
1489+ )
1490+ | _ -> None)
1491+ |> Option.orElse declaredItems
14841492
14851493 let GetCompletionsForRecordField pos referencedFields declaredItems =
14861494 declaredItems
@@ -1999,7 +2007,7 @@ type internal TypeCheckInfo
19992007 getDeclaredItemsNotInRangeOpWithAllSymbols ()
20002008 |> Option.bind ( FilterRelevantItemsBy getItem2 None IsTypeCandidate)
20012009
2002- | Some( CompletionContext.Pattern patternContext) when options.SuggestPatternNames ->
2010+ | Some( CompletionContext.Pattern patternContext) ->
20032011 match patternContext with
20042012 | PatternContext.UnionCaseFieldIdentifier( referencedFields, caseIdRange) ->
20052013 GetUnionCaseFields caseIdRange referencedFields
@@ -2008,10 +2016,10 @@ type internal TypeCheckInfo
20082016 completions, nenv.DisplayEnv, m)
20092017 | PatternContext.PositionalUnionCaseField( fieldIndex, isTheOnlyField, caseIdRange) ->
20102018 getDeclaredItemsNotInRangeOpWithAllSymbols ()
2011- |> GetCompletionsForUnionCaseField pos ( Choice1Of2 fieldIndex) caseIdRange isTheOnlyField
2019+ |> GetCompletionsForUnionCaseField pos ( Choice1Of2 fieldIndex) caseIdRange isTheOnlyField options.SuggestPatternNames
20122020 | PatternContext.NamedUnionCaseField( fieldName, caseIdRange) ->
20132021 getDeclaredItemsNotInRangeOpWithAllSymbols ()
2014- |> GetCompletionsForUnionCaseField pos ( Choice2Of2 fieldName) caseIdRange false
2022+ |> GetCompletionsForUnionCaseField pos ( Choice2Of2 fieldName) caseIdRange false options.SuggestPatternNames
20152023 | PatternContext.RecordFieldIdentifier referencedFields ->
20162024 getDeclaredItemsNotInRangeOpWithAllSymbols ()
20172025 |> GetCompletionsForRecordField pos referencedFields
0 commit comments