FSharpLint is a style checking tool for F#. It points out locations where a set of rules on how F# is to be styled have been broken. The tool is configurable via JSON and can be run from a console app, or as an MSBuild task. It also provides an interface to easily integrate the tool into other software.
The project aims to let the user know of problems through matching user defined hints a la HLint, and also by using custom rules written in F# similar to the rules in Mascot and StyleCop.
The tool in use (running as an MSBuild task with TreatWarningsAsErrors set to true):
FSharpLint can be used in several ways:
- Running as dotnet tool from command line.
- In VS Code using the Ionide-FSharp plugin.
- In Visual Studio using the F# Lint extension.
- As an MSBuild Task.
- In other editors through FsAutoComplete Language Server
The docs contain an overview of the tool and how to use it, including a list of the available rules for linting.
Package | Version |
---|---|
dotnet tool | |
API |
- Make sure you've installed the .NET version defined in global.json
- Run
dotnet tool restore
to install all developer tools required to build the project - Run
dotnet fake build -t Build
to build (which executes theBuild
target from the FAKE-based build script) - To run tests use
dotnet fake build -t Test
- To build documentation use
dotnet fake build -t Docs
- Make sure you've installed the .NET version defined in global.json
- Run
dotnet tool restore
to install all developer tools required to build the project - Run
dotnet fake build
to build default target of build script - Build documentation to make sure everything is fine with
dotnet fake build -t Docs
- Go to docs folder
cd docs
and start Fornax in watch modedotnet fornax watch
- Your documentation should be now accessible on
localhost:8080
and will be regenerated on every file save
Please read the Releasing Guidelines if you're a maintainer.
Bug reports, feature requests, and pull requests are very welcome! Please read the Contribution Guidelines to get started.
The project is licensed under MIT. For more information on the license see the LICENSE file.
The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)