From ed906dbec7f9cb394db49a6d12d4543b7d723cde Mon Sep 17 00:00:00 2001 From: nojaf Date: Thu, 24 Aug 2023 18:35:59 +0200 Subject: [PATCH] Use dotnet 8 feed. --- paket.dependencies | 4 ++-- paket.lock | 23 ++++++++++--------- .../AbstractClassStubGenerator.fs | 3 ++- src/FsAutoComplete.Core/CodeGeneration.fs | 11 +++++---- src/FsAutoComplete.Core/FCSPatches.fs | 6 +++-- src/FsAutoComplete.Core/Lexer.fs | 2 +- .../ParseAndCheckResults.fs | 1 + src/FsAutoComplete.Core/UntypedAstUtils.fs | 23 +++++++++++++------ 8 files changed, 44 insertions(+), 29 deletions(-) diff --git a/paket.dependencies b/paket.dependencies index e34f8d8f7..fde1e94bf 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -4,7 +4,7 @@ framework: netstandard2.0, netstandard2.1, net6.0, net7.0 source https://api.nuget.org/v3/index.json # this is the FCS nightly feed, re-enable at your own risk! -#source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json +source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json #source: ./libs storage: none strategy: min @@ -13,7 +13,7 @@ lowest_matching: true nuget BenchmarkDotNet 0.13.5 nuget Fantomas.Client >= 0.9 -nuget FSharp.Compiler.Service >= 43.7.400 +nuget FSharp.Compiler.Service >= 43.8.100-preview.23421.4 nuget Ionide.ProjInfo >= 0.62.0 nuget Ionide.ProjInfo.FCS >= 0.62.0 nuget Ionide.ProjInfo.ProjectSystem >= 0.62.0 diff --git a/paket.lock b/paket.lock index 5c1a1cada..737fe5ee6 100644 --- a/paket.lock +++ b/paket.lock @@ -59,22 +59,12 @@ NUGET FSharp.Compiler.Service (>= 41.0.1) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net5.0)) (&& (== netstandard2.1) (>= net5.0)) FSharp.Core (>= 6.0.1) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net5.0)) (&& (== netstandard2.1) (>= net5.0)) McMaster.NETCore.Plugins (>= 1.4) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net5.0)) (&& (== netstandard2.1) (>= net5.0)) - FSharp.Compiler.Service (43.7.400) - FSharp.Core (7.0.400) - System.Buffers (>= 4.5.1) - System.Collections.Immutable (>= 7.0) - System.Diagnostics.DiagnosticSource (>= 7.0.2) - System.Memory (>= 4.5.5) - System.Reflection.Emit (>= 4.7) - System.Reflection.Metadata (>= 7.0) - System.Runtime.CompilerServices.Unsafe (>= 6.0) FSharp.Control.AsyncSeq (3.2.1) FSharp.Core (>= 4.7.2) Microsoft.Bcl.AsyncInterfaces (>= 5.0) FSharp.Control.Reactive (5.0.5) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) FSharp.Core (>= 4.7.2) System.Reactive (>= 5.0 < 6.0) - FSharp.Core (7.0.400) FSharp.Data.Adaptive (1.2.13) FSharp.Core (>= 4.7) System.Reflection.Emit.Lightweight (>= 4.6) @@ -138,7 +128,7 @@ NUGET FSharp.Core (>= 7.0.400) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Ionide.ProjInfo.Sln (>= 0.62) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Microsoft.Build (>= 17.2) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) - Microsoft.Build.Framework (>= 17.6.3) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) + Microsoft.Build.Framework (>= 17.2) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) SemanticVersioning (>= 2.0.2) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Ionide.ProjInfo.FCS (0.62) FSharp.Compiler.Service (>= 43.7.400) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) @@ -489,6 +479,17 @@ NUGET Expecto (>= 9.0 < 10.0) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) (&& (== netstandard2.1) (>= netcoreapp3.1)) FSharp.Core (>= 4.6.2) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) (&& (== netstandard2.1) (>= netcoreapp3.1)) System.Collections.Immutable (>= 6.0) - restriction: || (== net6.0) (== net7.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) (&& (== netstandard2.1) (>= netcoreapp3.1)) + remote: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json + FSharp.Compiler.Service (43.8.100-preview.23421.4) + FSharp.Core (8.0.100-beta.23421.4) + System.Buffers (>= 4.5.1) + System.Collections.Immutable (>= 7.0) + System.Diagnostics.DiagnosticSource (>= 7.0.2) + System.Memory (>= 4.5.5) + System.Reflection.Emit (>= 4.7) + System.Reflection.Metadata (>= 7.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + FSharp.Core (8.0.100-beta.23421.4) GROUP Build STORAGE: NONE diff --git a/src/FsAutoComplete.Core/AbstractClassStubGenerator.fs b/src/FsAutoComplete.Core/AbstractClassStubGenerator.fs index ed67a2ed5..bfad5a169 100644 --- a/src/FsAutoComplete.Core/AbstractClassStubGenerator.fs +++ b/src/FsAutoComplete.Core/AbstractClassStubGenerator.fs @@ -29,7 +29,8 @@ type AbstractClassData = let private (|ExplicitCtor|_|) = function - | SynMemberDefn.Member(SynBinding(valData = SynValData(Some({ MemberKind = SynMemberKind.Constructor }), _, _)), _) -> + | SynMemberDefn.Member( + memberDefn = SynBinding(valData = SynValData(memberFlags = Some({ MemberKind = SynMemberKind.Constructor })))) -> Some() | _ -> None diff --git a/src/FsAutoComplete.Core/CodeGeneration.fs b/src/FsAutoComplete.Core/CodeGeneration.fs index 0e3c5ecd3..b21ddb5ae 100644 --- a/src/FsAutoComplete.Core/CodeGeneration.fs +++ b/src/FsAutoComplete.Core/CodeGeneration.fs @@ -631,14 +631,14 @@ module CodeGenerationUtils = /// We also get the range of the leading keyword to establish indent position let (|MemberNamePlusRangeAndKeywordRange|_|) = function - | SynBinding(valData = SynValData(Some mf, _, _); headPat = LongIdentPattern(name, range); trivia = trivia) when + | SynBinding(valData = SynValData(memberFlags = Some mf); headPat = LongIdentPattern(name, range); trivia = trivia) when mf.MemberKind = SynMemberKind.PropertyGet -> if name.StartsWith("get_") then Some(name, range, trivia.LeadingKeyword.Range) else Some("get_" + name, range, trivia.LeadingKeyword.Range) - | SynBinding(valData = SynValData(Some mf, _, _); headPat = LongIdentPattern(name, range); trivia = trivia) when + | SynBinding(valData = SynValData(memberFlags = Some mf); headPat = LongIdentPattern(name, range); trivia = trivia) when mf.MemberKind = SynMemberKind.PropertySet -> if name.StartsWith("set_") then @@ -852,9 +852,10 @@ module CodeGenerationUtils = let rec (|RationalConst|) = function - | SynRationalConst.Integer i -> string i - | SynRationalConst.Rational(numerator, denominator, _) -> sprintf "(%i/%i)" numerator denominator - | SynRationalConst.Negate(RationalConst s) -> sprintf "- %s" s + | SynRationalConst.Integer(value = i) -> string i + | SynRationalConst.Rational(numerator = numerator; denominator = denominator) -> + sprintf "(%i/%i)" numerator denominator + | SynRationalConst.Negate(rationalConst = RationalConst s) -> sprintf "- %s" s let rec (|TypeIdent|_|) = function diff --git a/src/FsAutoComplete.Core/FCSPatches.fs b/src/FsAutoComplete.Core/FCSPatches.fs index 31f8be868..66844a098 100644 --- a/src/FsAutoComplete.Core/FCSPatches.fs +++ b/src/FsAutoComplete.Core/FCSPatches.fs @@ -406,7 +406,8 @@ module SyntaxTreeOps = | SynExpr.YieldOrReturnFrom(_, e, _) | SynExpr.DoBang(e, _) | SynExpr.Fixed(e, _) - | SynExpr.Paren(e, _, _, _) -> walkExpr e + | SynExpr.Paren(e, _, _, _) + | SynExpr.DotLambda(expr = e) -> walkExpr e | SynExpr.NamedIndexedPropertySet(_, e1, e2, _) | SynExpr.DotSet(e1, _, e2, _) @@ -440,7 +441,8 @@ module SyntaxTreeOps = yield! bindings ] | SynExpr.ForEach(enumExpr = e1; bodyExpr = e2) - | SynExpr.While(whileExpr = e1; doExpr = e2) -> walkExpr e1 || walkExpr e2 + | SynExpr.While(whileExpr = e1; doExpr = e2) + | SynExpr.WhileBang(whileExpr = e1; doExpr = e2) -> walkExpr e1 || walkExpr e2 | SynExpr.For(identBody = e1; toBody = e2; doBody = e3) -> walkExpr e1 || walkExpr e2 || walkExpr e3 diff --git a/src/FsAutoComplete.Core/Lexer.fs b/src/FsAutoComplete.Core/Lexer.fs index cc7d503b3..0c5faaf12 100644 --- a/src/FsAutoComplete.Core/Lexer.fs +++ b/src/FsAutoComplete.Core/Lexer.fs @@ -68,7 +68,7 @@ module Lexer = | _ -> defines, langVersion) let sourceTokenizer = - FSharpSourceTokenizer(Seq.toList defines, Some "/tmp.fsx", langVersion) + FSharpSourceTokenizer(Seq.toList defines, Some "/tmp.fsx", langVersion, None) let lineTokenizer = sourceTokenizer.CreateLineTokenizer lineStr diff --git a/src/FsAutoComplete.Core/ParseAndCheckResults.fs b/src/FsAutoComplete.Core/ParseAndCheckResults.fs index 4c820231d..a043c2d46 100644 --- a/src/FsAutoComplete.Core/ParseAndCheckResults.fs +++ b/src/FsAutoComplete.Core/ParseAndCheckResults.fs @@ -645,6 +645,7 @@ type ParseAndCheckResults | CompletionItemKind.Argument -> 4 | CompletionItemKind.Other -> 5 | CompletionItemKind.Method(isExtension = true) -> 6 + | CompletionItemKind.SuggestedName -> 7 let decls = match filter with diff --git a/src/FsAutoComplete.Core/UntypedAstUtils.fs b/src/FsAutoComplete.Core/UntypedAstUtils.fs index c5801ed2b..a03b67447 100644 --- a/src/FsAutoComplete.Core/UntypedAstUtils.fs +++ b/src/FsAutoComplete.Core/UntypedAstUtils.fs @@ -81,9 +81,10 @@ let internal getRangesAtPosition input (r: Position) : Range list = addIfInside attr.Range walkExpr attr.ArgExpr - and walkTyparDecl (SynTyparDecl(attributes = AllAttrs attrs; Item2 = typar)) = + and walkTyparDecl (SynTyparDecl(attributes = AllAttrs attrs; typar = typar; intersectionConstraints = ts)) = List.iter walkAttribute attrs walkTypar typar + List.iter walkType ts and walkTyparDecls (typars: SynTyparDecls) = typars.TyparDecls |> List.iter walkTyparDecl @@ -243,6 +244,9 @@ let internal getRangesAtPosition input (r: Position) : Range list = walkType lhs walkType rhs | SynType.FromParseError(r) -> addIfInside r + | SynType.Intersection(typar = typar; types = ts) -> + Option.iter walkTypar typar + List.iter walkType ts and walkClause (SynMatchClause(pat, e1, e2, r, _, _)) = addIfInside r @@ -307,7 +311,8 @@ let internal getRangesAtPosition input (r: Position) : Range list = List.iter walkExpr es | SynExpr.App(_, _, e1, e2, r) | SynExpr.TryFinally(e1, e2, r, _, _, _) - | SynExpr.While(_, e1, e2, r) -> + | SynExpr.While(_, e1, e2, r) + | SynExpr.WhileBang(_, e1, e2, r) -> addIfInside r List.iter walkExpr [ e1; e2 ] | SynExpr.Record(_, _, fields, r) -> @@ -396,7 +401,7 @@ let internal getRangesAtPosition input (r: Position) : Range list = walkType t walkMemberSig sign walkExpr e - | SynExpr.Const(SynConst.Measure(_, _, m), r) -> + | SynExpr.Const(SynConst.Measure(synMeasure = m), r) -> addIfInside r walkMeasure m | SynExpr.Const(_, r) -> addIfInside r @@ -436,19 +441,23 @@ let internal getRangesAtPosition input (r: Position) : Range list = | SynExpr.Typar(t, r) -> addIfInside r walkTypar t + | SynExpr.DotLambda(expr = e) -> walkExpr e and walkMeasure = function - | SynMeasure.Product(m1, m2, r) - | SynMeasure.Divide(m1, m2, r) -> + | SynMeasure.Product(m1, _, m2, r) -> addIfInside r walkMeasure m1 walkMeasure m2 + | SynMeasure.Divide(m1, _, m2, r) -> + addIfInside r + Option.iter walkMeasure m1 + walkMeasure m2 | SynMeasure.Named(longIdent, r) -> addIfInside r | SynMeasure.Seq(ms, r) -> addIfInside r List.iter walkMeasure ms - | SynMeasure.Power(m, _, r) -> + | SynMeasure.Power(measure = m; range = r) -> addIfInside r walkMeasure m | SynMeasure.Var(ty, r) -> @@ -457,7 +466,7 @@ let internal getRangesAtPosition input (r: Position) : Range list = | SynMeasure.Paren(m, r) -> addIfInside r walkMeasure m - | SynMeasure.One + | SynMeasure.One _ | SynMeasure.Anon _ -> () and walkSimplePat =