summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAriane Emory <[email protected]>2025-11-25 12:37:05 -0500
committerGitHub <[email protected]>2025-11-25 11:37:05 -0600
commit52880417820b83e0fd469ddf7f0de917fc062e4c (patch)
treedfc456e1a396f90f295e946ad85057361a373f7d
parent4273fa9ccf5eec0ce32af4e88ace9a5ee74111c2 (diff)
downloadopencode-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.ts13
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)
}
},