chooseName

tcmts.cli.ui.chooseName · #5crljzcn · term · runs anywhere

One of the branch's names (values only, for kind: "value"), asked for by search.

import type { Codebase } from "#codebase/tcmts/cli/codebase";
import { choose } from "#codebase/tcmts/cli/ui";
import { shortHash } from "#codebase/tcmts/core/hash";

export function chooseName(cb: Codebase, usage: string, message: string, kind?: "value"): Promise<string> {
  const names = cb.store.names().filter((n) => !kind || n.kind !== "type");
  return choose(usage, message, names.map((n) => ({ value: n.path, label: n.path, hint: `${n.kind} ${shortHash(n.hash)}` })), true);
}

uses

used by