Skip to content
An extension to bring hlint to vscode
Branch: master
Clone or download
Latest commit e20892d Apr 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode update May 10, 2016
images renamed gif...damn windows case insensitivity Dec 30, 2015
src Merge pull request #26 from rimmington/multi-line-quick-fix Apr 10, 2019
test Initial Commit Nov 19, 2015
typings Initial Commit Nov 19, 2015
.gitignore Initial Commit Nov 19, 2015
.vscodeignore Initial Commit Nov 19, 2015
LICENSE.txt Initial Commit Nov 19, 2015 version bump May 10, 2016
package.json Title for configuration options Aug 24, 2017
publish_steps version bump May 10, 2016
tsconfig.json 0.0.4 release Jan 27, 2016
tslint.json Added tslint and cleaned up code Dec 30, 2015



"haskell-linter" is a wrapper for hlint. It highlights hlint warnings and errors inline and provides a code-action to accept hlint suggestions.


It expects a version of hlint >= 1.9.1 to be installed and already added to the path. If it is installed but cannot be found, add the path to your preferences as seen below.

	"haskell.hlint.executablePath": "Path\To\Executable"



There are various options that can be configured by making changes to your user or workspace preferences.

Lint onType or onSave

By default the linter will lint as you type. Alternatively, set to onSave or never if you want to lint only when the file is saved (works best if auto-save is on) or disable it for a workspace or entirely.

	"": "onType" // also: "onSave", "never"


By default the linter simply calls the hlint command without arguments. To specify a set of hints to use or a set of hints to ignore, add them to the configuration as shown below.

	"haskell.hlint.hints": ["Default", "Dollar", "Generalise"],
    "haskell.hlint.ignore": ["Redundant do"]


Make sure you have a hlint installed and that the version is 1.9.1 or newer. If you're having issues with the extension, set the logLevel setting to log and check the output in the developer tools console.

    "haskell.hlint.logLevel": "log"


The extension architecture is based off of the PHPValidationProvider from the built-in php extension.




  • Added hlint.ignore configuration (Thanks to @vigoo)


  • Fixed bug where linting was always being performed on save
  • Added option to disable linting
  • Added configuration schema to package.json which helps users when changing preferences


  • Fixed configuration, setting haskell.hlint.executablePath should work
  • Fixed code actions in response to this VS Code issue
  • Made issues more readable
  • Get information/choose from multiple suggestions
  • Default linting is now onType
  • Removed ignoreSeverity setting
You can’t perform that action at this time.