Skip to content

Conversation

@KevinRansom
Copy link
Contributor

Update #help fsi command to display help text for package managers.

  F# Interactive directives:

    #r "file.dll";;                   // Reference (dynamically load) the given DLL
    #I "path";;                       // Add the given search path for referenced DLLs
    #load "file.fs" ...;;             // Load the given file(s) as if compiled and referenced
    #time ["on"|"off"];;              // Toggle timing on/off
    #help;;                           // Display help
    #r "nuget:FSharp.Data, 3.1.2";;   // Load Nuget Package 'FSharp.Data' version '3.1.2'
    #r "nuget:FSharp.Data";;          // Load Nuget Package 'FSharp.Data' with the highest version
    #quit;;                           // Exit

  F# Interactive command line options:

Update fsscript, to allow language configuration and quiet mode to improve testing. Add tests.

@KevinRansom KevinRansom requested review from brettfo and cartermp July 14, 2020 18:46
@brettfo
Copy link
Member

brettfo commented Jul 14, 2020

What about #I "nuget:some-custom-feed-or-path"?

@KevinRansom
Copy link
Contributor Author

@brettfo , not implemented yet.

@KevinRansom
Copy link
Contributor Author

/cc @brettfo, @cartermp

please.

Comment on lines +29 to +38
let baseArgs = [|
typeof<FSharpScript>.Assembly.Location;
"--noninteractive";
"--targetprofile:" + computedProfile
if quiet then "--quiet"
match langVersion with
| LangVersion.V47 -> "--langversion:4.7"
| LangVersion.V50 -> "--langversion:5.0"
| LangVersion.Preview -> "--langversion:preview"
|]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let baseArgs = [|
typeof<FSharpScript>.Assembly.Location;
"--noninteractive";
"--targetprofile:" + computedProfile
if quiet then "--quiet"
match langVersion with
| LangVersion.V47 -> "--langversion:4.7"
| LangVersion.V50 -> "--langversion:5.0"
| LangVersion.Preview -> "--langversion:preview"
|]
let baseArgs =
[|
typeof<FSharpScript>.Assembly.Location;
"--noninteractive";
"--targetprofile:" + computedProfile
if quiet then "--quiet"
match langVersion with
| LangVersion.V47 -> "--langversion:4.7"
| LangVersion.V50 -> "--langversion:5.0"
| LangVersion.Preview -> "--langversion:preview"
|]

Comment on lines +166 to +170
member _.HelpMessages = [|
sprintf """ #r "nuget:FSharp.Data, 3.1.2";; // %s 'FSharp.Data' %s '3.1.2'""" (SR.loadNugetPackage()) (SR.version())
sprintf """ #r "nuget:FSharp.Data";; // %s 'FSharp.Data' %s""" (SR.loadNugetPackage()) (SR.highestVersion())
|]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
member _.HelpMessages = [|
sprintf """ #r "nuget:FSharp.Data, 3.1.2";; // %s 'FSharp.Data' %s '3.1.2'""" (SR.loadNugetPackage()) (SR.version())
sprintf """ #r "nuget:FSharp.Data";; // %s 'FSharp.Data' %s""" (SR.loadNugetPackage()) (SR.highestVersion())
|]
member _.HelpMessages =
[|
sprintf """ #r "nuget:FSharp.Data, 3.1.2";; // %s 'FSharp.Data' %s '3.1.2'""" (SR.loadNugetPackage()) (SR.version())
sprintf """ #r "nuget:FSharp.Data";; // %s 'FSharp.Data' %s""" (SR.loadNugetPackage()) (SR.highestVersion())
|]

Comment on lines +328 to +333
member _.GetRegisteredDependencyManagerHelpText (compilerTools, outputDir, errorReport) = [|
let managers = RegisteredDependencyManagers compilerTools (Option.ofString outputDir) errorReport
for kvp in managers do
let dm = kvp.Value
yield! dm.HelpMessages
|]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
member _.GetRegisteredDependencyManagerHelpText (compilerTools, outputDir, errorReport) = [|
let managers = RegisteredDependencyManagers compilerTools (Option.ofString outputDir) errorReport
for kvp in managers do
let dm = kvp.Value
yield! dm.HelpMessages
|]
member _.GetRegisteredDependencyManagerHelpText (compilerTools, outputDir, errorReport) =
[|
let managers = RegisteredDependencyManagers compilerTools (Option.ofString outputDir) errorReport
for kvp in managers do
let dm = kvp.Value
yield! dm.HelpMessages
|]

@KevinRansom KevinRansom merged commit 97ec795 into dotnet:master Jul 19, 2020
@KevinRansom KevinRansom deleted the poundhelp branch August 19, 2020 20:23
nosami pushed a commit to xamarin/visualfsharp that referenced this pull request Feb 23, 2021
* help text

* Fix tests

* Moar tests

* Fix x platform testing
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.

3 participants