"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.
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
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.
"haskell.hlint.run": "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.
The extension architecture is based off of the PHPValidationProvider from the built-in php extension.
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