runComplete
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
- tcmts.cli.commands.routeComplete
- tcmts.cli.complete.complete
- tcmts.cli.main.execute
- tcmts.cli.main.words
- tcmts.cli.run.Started
- tcmts.cli.ui.UsageError