FsHotWatch.Lint
0.7.0-alpha.10
dotnet add package FsHotWatch.Lint --version 0.7.0-alpha.10
NuGet\Install-Package FsHotWatch.Lint -Version 0.7.0-alpha.10
<PackageReference Include="FsHotWatch.Lint" Version="0.7.0-alpha.10" />
<PackageVersion Include="FsHotWatch.Lint" Version="0.7.0-alpha.10" />
<PackageReference Include="FsHotWatch.Lint" />
paket add FsHotWatch.Lint --version 0.7.0-alpha.10
#r "nuget: FsHotWatch.Lint, 0.7.0-alpha.10"
#:package FsHotWatch.Lint@0.7.0-alpha.10
#addin nuget:?package=FsHotWatch.Lint&version=0.7.0-alpha.10&prerelease
#tool nuget:?package=FsHotWatch.Lint&version=0.7.0-alpha.10&prerelease
FsHotWatch.Lint
Plugin that runs FSharpLint using the warm FSharpChecker's parse and check results -- no re-parsing needed.
Why
FSharpLint normally parses your entire project from scratch every time
you run it. With FsHotWatch, the compiler is already warm -- the lint
plugin calls lintParsedSource directly with the AST and type-check
results that are already in memory, so linting takes milliseconds.
How it works
- You save a file
- The daemon type-checks it with the warm FSharpChecker
- LintPlugin receives
FileCheckedwith parse results and check results - It calls
FSharpLint.lintParsedSourcewith the warm AST - Warnings are reported to the error ledger
Configuration
In .fshw.json:
{
"lint": true
}
Set "lint": false to disable. The plugin automatically loads
fsharplint.json from your repo root if it exists.
CLI
# Run linter on all files and show warnings
fshw lint
# Query lint warning count
fshw warnings
# Show all errors (including lint warnings)
fshw errors
Programmatic usage
daemon.RegisterHandler(
LintPlugin.create
(Some "fsharplint.json") // config path (or None for defaults)
None // lintRunner override (None → built-in)
None // timeoutSec (None → no timeout)
)
Install
dotnet add package FsHotWatch.Lint
| 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. |
-
net10.0
- FSharp.Core (>= 10.1.203)
- FSharpLint.Core (>= 0.26.11--date20260212-1023.git-8e20e0b)
- FsHotWatch (>= 0.8.0-alpha.12)
- System.Security.Cryptography.Xml (>= 10.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.0-alpha.10 | 54 | 4/29/2026 |
| 0.7.0-alpha.9 | 62 | 4/26/2026 |
| 0.7.0-alpha.8 | 57 | 4/25/2026 |
| 0.7.0-alpha.7 | 52 | 4/23/2026 |
| 0.7.0-alpha.3 | 53 | 4/18/2026 |
| 0.7.0-alpha.2 | 60 | 4/15/2026 |
| 0.6.0-alpha.1 | 52 | 4/12/2026 |
| 0.5.0-alpha.1 | 53 | 4/12/2026 |
| 0.3.0-alpha.1 | 59 | 4/8/2026 |
| 0.1.0-alpha.1 | 63 | 4/3/2026 |