FsiX.Cli.Web
0.1.2
dotnet tool install --global FsiX.Cli.Web --version 0.1.2
dotnet new tool-manifest
dotnet tool install --local FsiX.Cli.Web --version 0.1.2
#tool dotnet:?package=FsiX.Cli.Web&version=0.1.2
nuke :add-package FsiX.Cli.Web --version 0.1.2
🔥 FsiX 🔥
A better REPL for F# with project/solution support and hot reloading.
Brings REPL driven development to F#!
📹 Demo
https://github.com/user-attachments/assets/fb14365c-758a-4603-b729-94e2eebe006d
✨ Features
Project & Solution Support (
*.fsproj/*.sln/*.slnx)
No need to manually reference DLLs or NuGets.
Thanks to proj-info, FsiX automatically detects your project structure and loads everything for you.Hot Reloading
Redefine a function with the same name, type signature, and (optionally) module path —
FsiX will patch the original assembly so all calls use the new version instantly.Inline Async & Computation Expressions
Write code like:
let! result = someAsyncCalland FsiX rewrites it into:
let result = someAsyncCall |> _.Run()Perfect for step-by-step debugging of async and other computation expressions.
File imports with
#openExample:
:open FileName.fsOpens the top-level module in MyFile.fs and any modules it depends on. Useful when working inside a specific file.
Shorter Directives
#qinstead of#quit.:q,:help, and other:alternatives for directives.Use your vim muscle memory in F#!
Modern REPL Experience
Autocompletion, history, and more niceties via PrettyPrompt
🚀 Installation
If your project uses regular .NET SDK:
dotnet tool install --global fsix
Or, if it uses Asp net core sdk:
dotnet tool install --global fsix.web
Then, just run
fsix #or fsix-web
in the root dir of your project
🎉 VS Code integration 🎉
FsiX now has full integration with VS Code! You can download extension here, or see sources in it's own repo.
🛠 Configuration
There is configuration file in ~/.config/fsix/repl.fsx if you are on GNU/Linux and %appdata%\fsix\repl.fsx if you are on windows.
It's basically just an F# script which is being run on repl start, which has to contain replConfig object with prompt configuration.
FsiX will also load on start .repl.fsix file if it's present in current dir.
📌 Future features
- fsix-daemon service which will use json-rpc protocol to communicate with any repl frontend
- vscode notebooks frontend
- ability to add REPL to any of your projects just as library
🤝 Contributing
Contributions are welcome! Feel free to open issues or PRs.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.