runComplete

tcmts.cli.run.runComplete · #ebfh5sru · term · runs on the server

uses tcmts.cli.main.execute, which uses tcmts.cli.help.usageError, which uses tcmts.cli.help.usageOf, which uses tcmts.cli.style.bold, which uses node:util

Runs tcm complete, without opening the codebase.

import { routeComplete } from "#codebase/tcmts/cli/commands";
import { complete } from "#codebase/tcmts/cli/complete";
import { execute, words } from "#codebase/tcmts/cli/main";
import type { Started } from "#codebase/tcmts/cli/run";
import { UsageError } from "#codebase/tcmts/cli/ui";
import { parse } from "@bomb.sh/router";

export function runComplete({ cmd, rest, cwd }: Started): number {
  // completing a word shouldn't open (or fail to find) the codebase
  const r = execute(cmd, parse(routeComplete(), { argv: rest }));
  const asked = words(r.literals);
  if (!r.model.shell && !rest.includes("--"))
    throw new UsageError(
      "usage: tcm complete <zsh|bash|fish|powershell>, e.g. `source <(tcm complete zsh)` in ~/.zshrc",
    );
  complete(r.model.shell, asked, cwd);
  return 0;
}

uses

used by