haskell / haskell/haskell-language-server

snippet support for records - why not start at NamedFiedPuns?

Open
#4,690 2 comments 0 reactions 0 assignees View on GitHub
component: ghcide type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
2d 19h
Merged PRs (30d)
11

Description

Currently, the snippets for records generate things like this:
`Foo {foo = _foo}`

I don't like that because if there are multiple fields, I need to delete tons of placeholders (and I usually don't go through them by tabbing) and it works really bad with fields that e.g. follow the `_` lens convention (because then it generates things like `Foo {_foo = __foo}` which is even more noise.

Is there a specific reason why we couldn't start at `NamedFieldPuns` ala
`MkFoo {foo, bar, baz}` and then let the user extend if they want to give their fields an alias?

Thank you ~

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.