22 lines
658 B
TypeScript
22 lines
658 B
TypeScript
import { colorize, isRich, theme } from "../terminal/theme.js";
|
|
|
|
export const toPosixPath = (value: string) => value.replace(/\\/g, "/");
|
|
|
|
export function formatLine(label: string, value: string): string {
|
|
const rich = isRich();
|
|
return `${colorize(rich, theme.muted, `${label}:`)} ${colorize(rich, theme.command, value)}`;
|
|
}
|
|
|
|
export function writeFormattedLines(
|
|
stdout: NodeJS.WritableStream,
|
|
lines: Array<{ label: string; value: string }>,
|
|
opts?: { leadingBlankLine?: boolean },
|
|
): void {
|
|
if (opts?.leadingBlankLine) {
|
|
stdout.write("\n");
|
|
}
|
|
for (const line of lines) {
|
|
stdout.write(`${formatLine(line.label, line.value)}\n`);
|
|
}
|
|
}
|