splint 1.0.0.0 → 1.0.0.1
raw patch · 2 files changed
+15/−19 lines, 2 files
Files
- README.markdown +3/−16
- splint.cabal +12/−3
README.markdown view
@@ -4,9 +4,9 @@ [](https://hackage.haskell.org/package/splint) [](https://www.stackage.org/package/splint) -Splint is a proof of concept, showing how to use [HLint 3][] as a [GHC source-plugin][]. It is similar to [hlint-source-plugin][] by Ollie Charles, except-that it doesn't have to re-parse the module in order to lint it.+Splint makes [HLint 3][] available as a [GHC source plugin][]. It is similar to+[hlint-source-plugin][] by Ollie Charles, except that it doesn't have to+re-parse the module in order to lint it. To use Splint, pass `-fplugin=Splint` to GHC. Any ideas suggested by HLint will be reported as warnings by GHC. For example, if you define `Main.hs` as:@@ -83,19 +83,6 @@ - You can't use the automated refactorings that HLint provides. - Using plugins marks every module as unsafe.--## To do--As stated, Splint is basically a tech demo. Although it's usable in its current-form, there is some low hanging fruit to fix before it should be considered-ready for production:--- [ ] Work with versions of GHC older than 8.10.-- [x] Accept command-line options using `-fplugin-opt=Splint:something`.-- [x] Reliably read HLint configuration.-- [x] Avoid re-reading HLint config for each source file.-- [x] Figure out a good output format for the warnings.-- [x] Publish to Hackage. [HLint 3]: https://neilmitchell.blogspot.com/2020/05/hlint-30.html [GHC source plugin]: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/extending_ghc.html#source-plugins
splint.cabal view
@@ -1,15 +1,24 @@ name: splint-version: 1.0.0.0+version: 1.0.0.1 +synopsis: HLint as a GHC source plugin.+description:+ Splint makes HLint 3 available as a GHC source plugin. To use it, pass+ @-fplugin=Splint@ to GHC. Any options passed to Splint are passed through to+ HLint. For example you can use @-fplugin-opt=Splint:'--ignore=Use concatMap'@+ to ignore the "Use @concatMap@" suggestion.+ build-type: Simple cabal-version: >= 1.10 category: Development-description: Splint is HLint as a GHC source plugin. extra-source-files: README.markdown license-file: LICENSE.markdown license: ISC maintainer: Taylor Fausak-synopsis: HLint as a GHC source plugin.++source-repository head+ location: https://github.com/tfausak/splint+ type: git library build-depends: