haskell / haskell/stylish-haskell

Supporting more flexible configuration options

Open
#64 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

This is a bit of a brain dump...

We currently have a fork of stylish-haskell that matches the coding style we use at Silk. It does pretty specific things, like putting qualified imports at the bottom and doing numeric sorting where possible. I don't think it'd make sense to make a separate configuration option for this as "silk" is the only common denominator. But we also would rather not maintain a fork since this style is also used in our open source packages.

Could we keep the current defaults to not cause breakage but add more options for stylish so it's easier to customize? I thought a bit about the implementation and I think just using a Reader containing fine grained options would make the existing code cleaner and allow for easier extension.

The downside of this would be that there are a lot of things people might want to customize and if a lot of additions are submitted maintenance might become a pain. Especially since all the combinations need to play well together and some are mutually exclusive.

I'd appreciate some input on this!

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by reviewing how stylish-haskell currently defines and applies its formatting defaults, then assess the proposed fine-grained Reader-based options and their interactions. Done means customizable formatting, preserved existing defaults, and a maintainable approach to mutually exclusive options.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.