haskell / haskell/haskell-language-server

Implement some of Scala Metals' code actions

Open
#3,358 1 comment 0 reactions 0 assignees View on GitHub
type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
3d 21h
Merged PRs (30d)
13

Description

Pretty open ticket. [Link to Metals' CodeActions section](https://scalameta.org/metals/docs/codeactions/codeactions)

---------------

Here is a code action that seems like low-hanging fruit!

![](https://scalameta.org/metals/assets/images/CreateNewSymbol-b260f2bbe6acb0319a6345a37f51bac3.gif)

We could have a similar action, where if an upper-case symbol is undefined, we generate a template for a datatype with that name.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked Metals CodeActions documentation and compare its CreateNewSymbol example with the Haskell language server's existing code-action support. Define the scope for handling an undefined upper-case symbol and generating a datatype template, then identify the relevant implementation and tests before making changes. Done means the action is available for the stated case and its behavior is covered by tests.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.