Skip sorting flag aliases during completion

This commit is contained in:
2026-11-03 13:15:21 +00:00
parent f4ed4c4839
commit 0acbbf45ad
3 changed files with 33 additions and 8 deletions

View File

@@ -38,11 +38,25 @@ func (aliases resolvedFlagAliases) neutralRecords() []commandmeta.FlagAlias {
records := make([]commandmeta.FlagAlias, 0, len(keys))
for _, key := range keys {
alias := aliases.bySpelling[key]
records = append(records, commandmeta.FlagAlias{Source: alias.source.token(), Target: alias.target.token()})
records = append(records, alias.neutralRecord())
}
return records
}
// lookupRecords skips sorting: resolved source spellings are unique and the
// parser's lookup does not depend on record order.
func (aliases resolvedFlagAliases) lookupRecords() []commandmeta.FlagAlias {
records := make([]commandmeta.FlagAlias, 0, len(aliases.bySpelling))
for _, alias := range aliases.bySpelling {
records = append(records, alias.neutralRecord())
}
return records
}
func (alias resolvedFlagAlias) neutralRecord() commandmeta.FlagAlias {
return commandmeta.FlagAlias{Source: alias.source.token(), Target: alias.target.token()}
}
func (spelling capturedFlagSpelling) token() string {
if spelling.short {
return "-" + spelling.name