Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Lazy load projects #198

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

WIP

9b54ec1
Select commit
Loading
Failed to load commit list.
Open

[WIP] Lazy load projects #198

WIP
9b54ec1
Select commit
Loading
Failed to load commit list.
Deleted GitHub App / Copilot for PRs succeeded Nov 3, 2023 in 29s

Analysis complete

Summary

Added support for accessing and sorting compile items in fsproj files. Modified WorkspacePeek.fs to use a new type for fsproj data and added a function to Library.fs to get the full paths of compile items.

Walkthrough

  • Add FsprojData type to store fsproj path and compile items (link)
  • Modify getInfo function to use getFsprojCompileItemPaths to get compile items for fsproj files (link)
  • Modify peek function to sort and map fsproj files to FsprojData records and wrap them in Interesting.Directory case (link, link)
  • Add getFsprojCompileItemPaths function to ProjectLoader module in Library.fs to load and evaluate fsproj files using System.Xml namespace and getCompileItems function (link, link)

Poem

Sing, O Muse, of the valiant F# coders, who dared to explore the fsproj files
And craft a new type to store their data, with skill and cunning like Hephaestus
They used the Microsoft.Build.Evaluation assembly, a mighty tool of Zeus
To get the full paths of compile items, and sort them by their order and use

Emoji

📝🛠️🚀

Include these descriptions in your pull request description by including the following marker tags:

  • copilot:all: all the content, in one go
  • copilot:summary: a one paragraph summary of the code changes
  • copilot:walkthrough: a step by step walkthrough of the code changes
  • copilot:poem: a poem about the code changes!
  • copilot:emoji: three emoji that capture the changes

Feedback is welcome. Simply add a comment to this PR of the form /copilot feedback [your comments here].

Details

Copilot for PRs is a limited technical preview from GitHub Next.

It's aim is to make it easier to write pull request descriptions by providing automatically generated suggestions based on the code changes.

To find out more go to https://githubnext.com/projects/copilot-for-pull-requests or come and chat with us on Discord

Progress:

File Status Duration
Summary & Walkthrough ✅ Finished 25.8 seconds
src/Ionide.ProjInfo.ProjectSystem/WorkspacePeek.fs ✅ Finished 16.2 seconds
src/Ionide.ProjInfo/Library.fs ✅ Finished 16.8 seconds