gleam-lang/gleam

Extract record code action

开放

#4,406 创建于 2025年3月29日

 (1 条评论) (2 个反应) (0 位负责人)Rust (960 个派生)batch import
help wanted

仓库指标

星标
 (21,417 个星标)
PR 合并指标
 (平均合并 10天 19小时) (30 天内合并 69 个 PR)

描述

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.

贡献者指南