FsHotWatch.Lint
0.7.0-alpha.26
See the version list below for details.
dotnet add package FsHotWatch.Lint --version 0.7.0-alpha.26
NuGet\Install-Package FsHotWatch.Lint -Version 0.7.0-alpha.26
<PackageReference Include="FsHotWatch.Lint" Version="0.7.0-alpha.26" />
<PackageVersion Include="FsHotWatch.Lint" Version="0.7.0-alpha.26" />
<PackageReference Include="FsHotWatch.Lint" />
paket add FsHotWatch.Lint --version 0.7.0-alpha.26
#r "nuget: FsHotWatch.Lint, 0.7.0-alpha.26"
#:package FsHotWatch.Lint@0.7.0-alpha.26
#addin nuget:?package=FsHotWatch.Lint&version=0.7.0-alpha.26&prerelease
#tool nuget:?package=FsHotWatch.Lint&version=0.7.0-alpha.26&prerelease
FsHotWatch.Lint
Plugin that runs FSharpLint using the warm FSharpChecker's parse and check results -- no re-parsing needed.
Status: early alpha, and a lot of it is AI-written. APIs shift between versions and rough edges are expected — your mileage may vary. Issues and PRs are very welcome.
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 every check (lint is part of it) and show warnings
fshw check
# Inspect just the lint plugin without triggering a run
fshw status lint
# Query lint warning count (plugin command)
fshw warnings
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.401)
- FSharpLint.Core (>= 0.27.0)
- FsHotWatch (>= 0.10.0-alpha.44)
- System.Security.Cryptography.Xml (>= 10.0.11)
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.28 | 41 | 10/6/2026 |
| 0.7.0-alpha.27 | 59 | 9/29/2026 |
| 0.7.0-alpha.26 | 62 | 9/23/2026 |
| 0.7.0-alpha.25 | 75 | 9/17/2026 |
| 0.7.0-alpha.24 | 68 | 9/15/2026 |
| 0.7.0-alpha.23 | 80 | 9/4/2026 |
| 0.7.0-alpha.22 | 87 | 9/1/2026 |
| 0.7.0-alpha.21 | 77 | 8/31/2026 |
| 0.7.0-alpha.20 | 115 | 8/13/2026 |
| 0.7.0-alpha.18 | 83 | 8/11/2026 |
| 0.7.0-alpha.17 | 83 | 8/3/2026 |
| 0.7.0-alpha.16 | 76 | 7/15/2026 |
| 0.7.0-alpha.15 | 78 | 7/2/2026 |
| 0.7.0-alpha.14 | 94 | 6/24/2026 |
| 0.7.0-alpha.13 | 83 | 6/17/2026 |
| 0.7.0-alpha.12 | 85 | 6/8/2026 |
| 0.7.0-alpha.11 | 75 | 5/28/2026 |
| 0.7.0-alpha.10 | 88 | 4/29/2026 |
| 0.7.0-alpha.9 | 94 | 4/26/2026 |
| 0.7.0-alpha.8 | 86 | 4/25/2026 |