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: Generate an FSI 'context' for a project or file #442

Closed
wants to merge 5 commits into from

Conversation

baronfel
Copy link
Contributor

@baronfel baronfel commented Jul 14, 2019

This is the start of some FSI-enhancement features I'd like to add to FSAC.

The gist is that I'd like to be able to spin up an FSI instance with all of the dependencies of a project pre-referenced, all project-file DEFINEs included, etc.

I'd also like to be able to spin up an FSI instance at a given point in a file in a project and have all of the same stuff loaded PLUS all of the files in the project up to the file/location the user specified.

This would give a nice drop-in experience to using FSI that is similar to the stack ghci command or starting the scala repl with the -classpath option set to the output of your build dir.

Tasks:

  • implement project context
  • implement file context
  • test both in ionide
  • answer open questions around project references
  • answer open questions around handling multiple target frameworks

I want to get to something ~80%ish so that I can start using it and getting feedback.

@baronfel baronfel changed the title WIP: Generate an FSI 'context' for a project WIP: Generate an FSI 'context' for a project or file Jul 14, 2019
@baronfel baronfel force-pushed the fsi-project-context branch from 09c6156 to 6bc5a21 Compare July 14, 2019 17:54
@enricosada
Copy link
Contributor

love it!

@baronfel
Copy link
Contributor Author

With the release of dotnet-fsi and FSI previews having package manager support, it might make more sense to structure this as a load plug-in similar to #r project:path/to/project. That'd make this a bit more testable (the component would be a standalone tool that could be consumed in many ways) and it would make the ionide implementation simpler (ionide would just add an implicit #r to the project in question when the 'launch for project' option was chosen.

@baronfel baronfel force-pushed the fsi-project-context branch from 6bc5a21 to b7df155 Compare October 7, 2019 15:09
@baronfel baronfel force-pushed the fsi-project-context branch from b7df155 to 4c91bd4 Compare October 7, 2019 15:46
@baronfel
Copy link
Contributor Author

baronfel commented Dec 1, 2020

this isn't the way to go with this work. The way forward is a #r project handler that can be loaded into both FSAC and dotnet-fsi contexts, so I'm going to close this.

@baronfel baronfel closed this Dec 1, 2020
@baronfel baronfel deleted the fsi-project-context branch October 21, 2021 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants