diff options
| author | Ariane Emory <[email protected]> | 2025-11-25 12:37:05 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-11-25 11:37:05 -0600 |
| commit | 52880417820b83e0fd469ddf7f0de917fc062e4c (patch) | |
| tree | dfc456e1a396f90f295e946ad85057361a373f7d | |
| parent | 4273fa9ccf5eec0ce32af4e88ace9a5ee74111c2 (diff) | |
| download | opencode-52880417820b83e0fd469ddf7f0de917fc062e4c.tar.gz opencode-52880417820b83e0fd469ddf7f0de917fc062e4c.zip | |
tweak: alphabetical (mostly) opencode models output (#4725)
Co-authored-by: Dax Raad <[email protected]>
| -rw-r--r-- | packages/opencode/src/cli/cmd/models.ts | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/opencode/src/cli/cmd/models.ts b/packages/opencode/src/cli/cmd/models.ts index 8ce27c284..1ae4ae12c 100644 --- a/packages/opencode/src/cli/cmd/models.ts +++ b/packages/opencode/src/cli/cmd/models.ts @@ -38,7 +38,8 @@ export const ModelsCommand = cmd({ function printModels(providerID: string, verbose?: boolean) { const provider = providers[providerID] - for (const [modelID, model] of Object.entries(provider.info.models)) { + const sortedModels = Object.entries(provider.info.models).sort(([a], [b]) => a.localeCompare(b)) + for (const [modelID, model] of sortedModels) { process.stdout.write(`${providerID}/${modelID}`) process.stdout.write(EOL) if (verbose) { @@ -59,7 +60,15 @@ export const ModelsCommand = cmd({ return } - for (const providerID of Object.keys(providers)) { + const providerIDs = Object.keys(providers).sort((a, b) => { + const aIsOpencode = a.startsWith("opencode") + const bIsOpencode = b.startsWith("opencode") + if (aIsOpencode && !bIsOpencode) return -1 + if (!aIsOpencode && bIsOpencode) return 1 + return a.localeCompare(b) + }) + + for (const providerID of providerIDs) { printModels(providerID, args.verbose) } }, |
