gleam-lang/gleam

Extract record code action

Open

#4.406 geöffnet am 29. März 2025

Auf GitHub ansehen
 (1 Kommentar) (2 Reaktionen) (0 zugewiesene Personen)Rust (960 Forks)batch import
help wanted

Repository-Metriken

Stars
 (21.417 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 9T 23h) (58 gemergte PRs in 30 T)

Beschreibung

Given a type definition, if some of the fields of one of the variants are selected then a code action if offered to extract them into a new custom type.

pub type NewsPost {
  NewsPost(
    title: String,
    subtitle: String,
    published: calendar.Date,
// Selection start
    author_name: String,
    author_url: String,
// Selection end
  )
}

Could become

pub type NewsPost {
  NewsPost(
    title: String,
    subtitle: String,
    published: calendar.Date,
    author: Author,
  )
}

pub type Author {
  Author(name: String, url: String)
}

Here I've gone for an idealised version that determines ideal names for the fields, but it would still be useful even if it is not able to do this. The original field labels and a placeholder type + variant name could be used.

Contributor Guide