From a301435a4c056589b75e792f49762aa01e4ddc5d Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Tue, 6 Feb 2024 13:31:57 -0600 Subject: [PATCH 1/2] add changelogs for next version --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 700b9d71b..634454724 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [0.70.0] - 2024-02-06 + +### Changed + +* [Update Ionide.ProjInfo and enable support for Reference Assemblies where they exist](https://github.com/fsharp/FsAutoComplete/pull/1228) ## [0.69.0] - 2024-01-14 From 72a5932f46d7019d85d3e00fa182a3822cdfeed1 Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Tue, 13 Feb 2024 09:39:47 -0600 Subject: [PATCH 2/2] make Project Output the executable/loadable assembly, not the reference assembly again --- src/FsAutoComplete/CommandResponse.fs | 14 ++++++++++++-- .../LspServers/AdaptiveServerState.fs | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/FsAutoComplete/CommandResponse.fs b/src/FsAutoComplete/CommandResponse.fs index 6d54bfeee..7d98794e5 100644 --- a/src/FsAutoComplete/CommandResponse.fs +++ b/src/FsAutoComplete/CommandResponse.fs @@ -146,17 +146,27 @@ module CommandResponse = Version: string FullPath: string } + /// a structure containing the data needed to render project trees for a solution explorer type ProjectResponse = - { Project: ProjectFilePath + { + /// the fully qualified path to the project file + Project: ProjectFilePath + /// the list of fully-qualified paths of the files in the project Files: List + /// the fully-qualified path to the primary output (executable, library, etc.) of the project. + /// note that this is _not_ a reference assembly Output: string ProjectReferences: List PackageReferences: List References: List OutputType: ProjectOutputType + /// a useful subset of project file properties for this permutation of the project Info: ProjectResponseInfoDotnetSdk + /// the list of items in the project, such as compile items, content items, etc. this + /// should be a superset of data like the Files, Project/Package References, etc Items: List - AdditionalInfo: Map } + AdditionalInfo: Map + } and ProjectOutputType = | Library diff --git a/src/FsAutoComplete/LspServers/AdaptiveServerState.fs b/src/FsAutoComplete/LspServers/AdaptiveServerState.fs index 01973474c..629f21a5a 100644 --- a/src/FsAutoComplete/LspServers/AdaptiveServerState.fs +++ b/src/FsAutoComplete/LspServers/AdaptiveServerState.fs @@ -853,7 +853,7 @@ type AdaptiveState(lspClient: FSharpLspClient, sourceTextFactory: ISourceTextFac let ws = { ProjectFileName = projectFileName ProjectFiles = responseFiles - OutFileOpt = Option.ofObj projectOption.ResolvedTargetPath + OutFileOpt = Option.ofObj projectOption.TargetPath References = references Extra = projectOption ProjectItems = projViewerItemsNormalized.Items