Skip to content

Commit ea1b3b0

Browse files
author
Omar Tawfik
committed
Upgrade to Preview5 Roslyn nugets
1 parent 08d8c6d commit ea1b3b0

File tree

9 files changed

+41
-57
lines changed

9 files changed

+41
-57
lines changed

.nuget/NuGet.Config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
99
<clear />
1010
<add key="myget.org fsharp-daily" value="https://www.myget.org/F/fsharp-daily/api/v3/index.json" />
11-
<add key="myget.org roslyn-dev15-preview4-df-nightly" value="https://dotnet.myget.org/F/roslyn-dev15-preview4-df-nightly/api/v3/index.json" />
11+
<add key="myget.org roslyn-dev15-preview-5-nightly" value="https://dotnet.myget.org/F/roslyn-dev15-preview-5-nightly/api/v3/index.json" />
1212
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
1313
<add key="myget.org dotnet-buildtools" value="https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json" />
1414
<add key="myget.org roslyn-tools" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />

packages.config

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
<package id="WiX.Toolset.2015" version="3.10.0.1503" />
1919
<package id="Microsoft.VisualFSharp.Core.Redist" version="1.0.0" />
2020
<package id="Microsoft.VisualFSharp.Type.Providers.Redist" version="1.0.0" />
21-
<package id="Microsoft.CodeAnalysis.Common" version="2.0.0-beta4-60808-03" targetFramework="net46" />
22-
<package id="Microsoft.CodeAnalysis.EditorFeatures" version="2.0.0-beta4-60808-03" targetFramework="net46" />
23-
<package id="Microsoft.CodeAnalysis.EditorFeatures.Text" version="2.0.0-beta4-60808-03" targetFramework="net46" />
24-
<package id="Microsoft.CodeAnalysis.Features" version="2.0.0-beta4-60808-03" targetFramework="net46" />
25-
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="2.0.0-beta4-60808-03" targetFramework="net46" />
26-
<package id="Microsoft.VisualStudio.LanguageServices" version="2.0.0-beta4-60808-03" targetFramework="net46" />
21+
<package id="Microsoft.CodeAnalysis.Common" version="2.0.0-beta5-60922-03" targetFramework="net46" />
22+
<package id="Microsoft.CodeAnalysis.EditorFeatures" version="2.0.0-beta5-60922-03" targetFramework="net46" />
23+
<package id="Microsoft.CodeAnalysis.EditorFeatures.Text" version="2.0.0-beta5-60922-03" targetFramework="net46" />
24+
<package id="Microsoft.CodeAnalysis.Features" version="2.0.0-beta5-60922-03" targetFramework="net46" />
25+
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="2.0.0-beta5-60922-03" targetFramework="net46" />
26+
<package id="Microsoft.VisualStudio.LanguageServices" version="2.0.0-beta5-60922-03" targetFramework="net46" />
2727
<package id="Microsoft.Composition" version="1.0.27" targetFramework="net46" />
2828
<package id="Microsoft.VisualStudio.Threading" version="14.1.131" targetFramework="net46" />
2929
<package id="Microsoft.VisualStudio.Shell.14.0" version="14.3.25407" targetFramework="net46" />

src/FSharpSource.Settings.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<FsiToolExe>fsi.exe</FsiToolExe>
9191
<FsLexToolExe>fslex.exe</FsLexToolExe>
9292
<FsYaccToolExe>fsyacc.exe</FsYaccToolExe>
93-
<RoslynVersion>2.0.0-beta4-60808-03</RoslynVersion>
93+
<RoslynVersion>2.0.0-beta5-60922-03</RoslynVersion>
9494
<RoslynVSBinariesVersion>14.0</RoslynVSBinariesVersion>
9595
<RoslynVSPackagesVersion>14.3.25407</RoslynVSPackagesVersion>
9696
</PropertyGroup>

vsintegration/src/FSharp.Editor/DocumentDifferenceService.fs

Lines changed: 0 additions & 28 deletions
This file was deleted.

vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,6 @@
4949
<Compile Include="LanguageDebugInfoService.fs">
5050
<Link>Debugging\LanguageDebugInfoService.fs</Link>
5151
</Compile>
52-
<Compile Include="DocumentDifferenceService.fs">
53-
<Link>Diagnostics\DocumentDifferenceService.fs</Link>
54-
</Compile>
5552
<Compile Include="DocumentDiagnosticAnalyzer.fs">
5653
<Link>Diagnostics\DocumentDiagnosticAnalyzer.fs</Link>
5754
</Compile>

vsintegration/src/FSharp.Editor/GoToDefinitionService.fs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,15 @@ open Microsoft.FSharp.Compiler.Range
2929
open Microsoft.FSharp.Compiler.SourceCodeServices
3030

3131
type internal FSharpNavigableItem(document: Document, textSpan: TextSpan, displayString: string) =
32+
member this.DisplayString = displayString
33+
3234
interface INavigableItem with
3335
member this.Glyph = Glyph.BasicFile
3436
member this.DisplayFileLocation = true
35-
member this.DisplayString = displayString
37+
member this.IsImplicitlyDeclared = false
3638
member this.Document = document
3739
member this.SourceSpan = textSpan
40+
member this.DisplayTaggedParts = Unchecked.defaultof<ImmutableArray<TaggedText>>
3841
member this.ChildItems = ImmutableArray<INavigableItem>.Empty
3942

4043
[<Shared>]
@@ -124,7 +127,7 @@ type internal FSharpGoToDefinitionService [<ImportingConstructor>] ([<ImportMany
124127

125128
if definitionTask.Status = TaskStatus.RanToCompletion then
126129
if definitionTask.Result.Any() then
127-
let navigableItem = definitionTask.Result.First() // F# API provides only one INavigableItem
130+
let navigableItem = definitionTask.Result.First() :?> FSharpNavigableItem // F# API provides only one INavigableItem
128131
for presenter in presenters do
129132
presenter.DisplayResult(navigableItem.DisplayString, definitionTask.Result)
130133
true

vsintegration/src/FSharp.Editor/IndentationService.fs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,15 @@ type internal FSharpIndentationService() =
4848

4949
interface ISynchronousIndentationService with
5050
member this.GetDesiredIndentation(document: Document, lineNumber: int, cancellationToken: CancellationToken): Nullable<IndentationResult> =
51-
let sourceTextTask= document.GetTextAsync(cancellationToken)
51+
let sourceTextTask = document.GetTextAsync(cancellationToken)
5252
sourceTextTask.Wait(cancellationToken)
53-
5453
let sourceText = CommonRoslynHelpers.GetCompletedTaskResult(sourceTextTask)
55-
let tabSize = document.Options.GetOption(FormattingOptions.TabSize, FSharpCommonConstants.FSharpLanguageName)
54+
55+
let optionsTask = document.GetOptionsAsync(cancellationToken)
56+
optionsTask.Wait(cancellationToken)
57+
let options = CommonRoslynHelpers.GetCompletedTaskResult(optionsTask)
58+
59+
let tabSize = options.GetOption(FormattingOptions.TabSize, FSharpCommonConstants.FSharpLanguageName)
5660

5761
match FSharpIndentationService.GetDesiredIndentation(sourceText, lineNumber, tabSize) with
5862
| None -> Nullable<IndentationResult>()

vsintegration/src/FSharp.Editor/LanguageService.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ type internal FSharpLanguageService(package : FSharpPackage) =
6969
optionsCache.Add(projectId, options)
7070

7171
if obj.ReferenceEquals(workspace.ProjectTracker.GetProject(projectId), null) then
72-
let projectSite = new FSharpProjectSite(hier, this.SystemServiceProvider, workspace, projectFileName);
72+
let projectSite = new FSharpProjectSite(hier, this.SystemServiceProvider, workspace, projectFileName, projectId.Id);
7373
projectSite.Initialize(hier, site)
7474
| _ -> ()
7575
| _ -> ()

vsintegration/src/FSharp.Editor/ProjectSite.fs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,21 @@ open Microsoft.CodeAnalysis
1818
open Microsoft.VisualStudio.LanguageServices.Implementation
1919
open Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem
2020

21-
type internal FSharpProjectSite(hierarchy: IVsHierarchy, serviceProvider: System.IServiceProvider, visualStudioWorkspace: VisualStudioWorkspaceImpl, projectName: string) =
22-
inherit AbstractProject(visualStudioWorkspace.ProjectTracker, null, projectName, hierarchy, FSharpCommonConstants.FSharpLanguageName, serviceProvider, visualStudioWorkspace, null)
21+
type internal FSharpProjectSite(hierarchy: IVsHierarchy, serviceProvider: System.IServiceProvider, visualStudioWorkspace: VisualStudioWorkspaceImpl, projectName: string, projectGuid: Guid) =
22+
inherit AbstractProject(
23+
projectTracker = visualStudioWorkspace.ProjectTracker,
24+
reportExternalErrorCreatorOpt = null,
25+
projectSystemName = projectName,
26+
projectFilePath = projectName,
27+
hierarchy = hierarchy,
28+
language = FSharpCommonConstants.FSharpLanguageName,
29+
projectGuid = projectGuid,
30+
serviceProvider = serviceProvider,
31+
visualStudioWorkspaceOpt = visualStudioWorkspace,
32+
hostDiagnosticUpdateSourceOpt = null,
33+
commandLineParserServiceOpt = null)
34+
35+
override this.LastDesignTimeBuildSucceeded with get() = false
2336

2437
member internal this.Initialize(hier: IVsHierarchy, site : IProjectSite) =
2538
this.ProjectTracker.AddProject(this)
@@ -31,7 +44,7 @@ type internal FSharpProjectSite(hierarchy: IVsHierarchy, serviceProvider: System
3144
new AdviseProjectSiteChanges(fun () -> this.Disconnect()))
3245

3346
// Add files and references
34-
for file in site.SourceFilesOnDisk() do this.AddDocument(hier, file)
47+
for file in site.SourceFilesOnDisk() do this.AddDocumentAux(hier, file)
3548
for ref in this.GetReferences(site.CompilerFlags()) do this.AddReference(ref)
3649

3750
member this.GetReferences(flags : string[]) =
@@ -43,20 +56,15 @@ type internal FSharpProjectSite(hierarchy: IVsHierarchy, serviceProvider: System
4356
member this.RemoveReference(filePath: string) =
4457
this.RemoveMetadataReference(filePath)
4558

46-
member internal this.AddDocument(hier: IVsHierarchy, file : string) =
47-
let itemid =
48-
match hier.ParseCanonicalName(file) with
49-
| (VSConstants.S_OK, id) -> id
50-
| _ -> uint32 VSConstants.VSITEMID.Nil
51-
52-
let document = this.ProjectTracker.DocumentProvider.TryGetDocumentForFile(this, itemid, file, SourceCodeKind.Regular, fun x -> true)
53-
this.AddDocument(document, true)
59+
member internal this.AddDocumentAux(_: IVsHierarchy, file :string) =
60+
let document = this.ProjectTracker.DocumentProvider.TryGetDocumentForFile(this, null, file, SourceCodeKind.Regular, fun x -> true)
61+
this.AddDocument(document, true, true)
5462

5563
member internal this.OnProjectSettingsChanged(hier: IVsHierarchy, site : IProjectSite) =
5664
let sourceFiles = site.SourceFilesOnDisk()
5765

5866
// Added files
59-
for file in sourceFiles do if not(this.ContainsFile(file)) then this.AddDocument(hier, file)
67+
for file in sourceFiles do if not(this.ContainsFile(file)) then this.AddDocumentAux(hier, file)
6068
// Removed files
6169
let removedDocuments = this.GetCurrentDocuments() |> Seq.where(fun doc -> not(sourceFiles |> Seq.contains(doc.FilePath))) |> Seq.toList
6270
for doc in removedDocuments do this.RemoveDocument(doc)

0 commit comments

Comments
 (0)