All Projects → fsprojects → Fsharplint

fsprojects / Fsharplint

Licence: mit
Lint tool for F#

Programming Languages

fsharp
127 projects

Projects that are alternatives of or similar to Fsharplint

Ansible Lint Action
GitHub Action for running ansible-lint as part of your workflows! [ https://github.com/marketplace/actions/ansible-lint ]
Stars: ✭ 124 (-44.64%)
Mutual labels:  linter, lint
Protoc Gen Lint
A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations.
Stars: ✭ 221 (-1.34%)
Mutual labels:  linter, lint
Njsscan
njsscan is a semantic aware SAST tool that can find insecure code patterns in your Node.js applications.
Stars: ✭ 128 (-42.86%)
Mutual labels:  linter, lint
Scopelint
scopelint checks for unpinned variables in go programs
Stars: ✭ 110 (-50.89%)
Mutual labels:  linter, lint
Whispers
Identify hardcoded secrets and dangerous behaviours
Stars: ✭ 66 (-70.54%)
Mutual labels:  linter, lint
Yamllint
A linter for YAML files.
Stars: ✭ 1,750 (+681.25%)
Mutual labels:  linter, lint
Misspell Fixer
Simple tool for fixing common misspellings, typos in source code
Stars: ✭ 154 (-31.25%)
Mutual labels:  linter, lint
Phplint
🐛 A tool that can speed up linting of php files by running several lint processes at once.
Stars: ✭ 646 (+188.39%)
Mutual labels:  linter, lint
Textlint
The pluggable natural language linter for text and markdown.
Stars: ✭ 2,158 (+863.39%)
Mutual labels:  linter, lint
Clippy Check
📎 GitHub Action for PR annotations with clippy warnings
Stars: ✭ 159 (-29.02%)
Mutual labels:  linter, lint
Svlint
SystemVerilog linter
Stars: ✭ 103 (-54.02%)
Mutual labels:  linter, lint
Woke
✊ Detect non-inclusive language in your source code.
Stars: ✭ 190 (-15.18%)
Mutual labels:  linter, lint
Atom Linter Alex
Linter plugin using alex to catch insensitive, inconsiderate writing
Stars: ✭ 87 (-61.16%)
Mutual labels:  linter, lint
Editorconfig Checker
A tool to verify that your files are in harmony with your .editorconfig
Stars: ✭ 119 (-46.87%)
Mutual labels:  linter, lint
Stylelint
A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
Stars: ✭ 9,350 (+4074.11%)
Mutual labels:  linter, lint
Protolint
A pluggable linter and fixer to enforce Protocol Buffer style and conventions.
Stars: ✭ 142 (-36.61%)
Mutual labels:  linter, lint
Gradle Lint Plugin
A pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts.
Stars: ✭ 473 (+111.16%)
Mutual labels:  linter, lint
Redbot
REDbot is lint for HTTP.
Stars: ✭ 475 (+112.05%)
Mutual labels:  linter, lint
Cflint
Static code analysis for CFML (a linter)
Stars: ✭ 156 (-30.36%)
Mutual labels:  linter, lint
Ue4 Style Guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,656 (+1085.71%)
Mutual labels:  linter, lint

FSharpLint GitHub Actions Build Status

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):

Example

Usage

FSharpLint can be used in several ways:

Documentation

The docs contains an overview of the tool and how to use it, including a list of the available rules for linting.

Nuget Packages

Package Version
dotnet tool NuGet Status
API NuGet Status

How to build application

  1. Make sure you've installed .Net Core version defined in global.json
  2. Run dotnet tool restore to install all developer tools required to build the project
  3. Run dotnet fake build to build default target of build script
  4. To run tests use dotnet fake build -t Test
  5. To build documentation use dotnet fake build -t Docs

How to work with documentation

  1. Make sure you've installed .Net Core version defined in global.json
  2. Run dotnet tool restore to install all developer tools required to build the project
  3. Run dotnet fake build to build default target of build script
  4. Build documentation to make sure everything is fine with dotnet fake build -t Docs
  5. Go to docs folder cd docs and start Fornax in watch mode dotnet fornax watch
  6. Your documentation should be now accessible on localhost:8080 and will be regenerated on every file save

How to release

  1. Update CHANGELOG.md by adding new entry (## [X.Y.Z]) and commit it.
  2. Create version tag (git tag vX.Y.Z)
  3. Push the tag to the repo git push origin vX.Y.Z - this will start CI process that will create a GitHub release and publish the packages to NuGet

How to contribute

Bug reports, feature requests, and pull requests are very welcome! Please read the Contribution Guidelines to get started.

Licensing

The project is licensed under MIT. For more information on the license see the LICENSE file.

Maintainer(s)

The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].