repo mirror list: use shell-friendly kebab sort keys · Entire

repo mirror list: use shell-friendly kebab sort keys

bb5c8bf→main·

gtrrz-victor·1w ago·1 file·+8 added/-6 removed

Sort keys become lower-case single tokens (clone-url, not "CLONE URL"), so --sort clone-url needs no quoting. Headers keep their upper-case display text. The unknown-column error now lists the friendly keys.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Sessions

01KX0N45RGEWPVEQR2CHC2M90PView transcript

[?
Rename Repo Column to Name for ConsistencyClaude Code·1 step](/content/gh/entireio/cli/session/dec0d061-ea6a-4326-b5dd-6ba25b48eed6#timeline-01KX0N45RGEWPVEQR2CHC2M90P/index.html)

Changes

1

28 unmodified lines

29
30
31
32
33
34
33
34
35
36
37
35
36
37
38
39
40
41
42
53 unmodified lines

96
97
98
97
99
100
101
102

28 unmodified lines

header string
}

// Keys are lower-case, single shell tokens (kebab-case for multi-word columns)
// so `--sort clone-url` needs no quoting; headers stay upper-case display text.
var (
    colName     = column{key: "NAME", header: "NAME (owner/repo)"}
    colCloneURL = column{key: "CLONE URL", header: "CLONE URL"}
    colPrivate  = column{key: "PRIVATE", header: "PRIVATE"}
    colAccess   = column{key: "ACCESS", header: "ACCESS"}
    colStatus   = column{key: "STATUS", header: "STATUS"}
    colName     = column{key: "name", header: "NAME (owner/repo)"}
    colCloneURL = column{key: "clone-url", header: "CLONE URL"}
    colPrivate  = column{key: "private", header: "PRIVATE"}
    colAccess   = column{key: "access", header: "ACCESS"}
    colStatus   = column{key: "status", header: "STATUS"}
)

// columnHeaders is the display-header view of a column set, for the table/field
53 unmodified lines

}
    valid := make([]string, len(columns))
    for i, c := range columns {
        valid[i] = strings.ToLower(c.key)
        valid[i] = c.key
    }
    return column{}, false, fmt.Errorf("unknown sort column %q; valid columns: %s", name, strings.Join(valid, ", "))
}

Mcmd/entire/cli/repo_mirror.go+8/-6