fix(sessions): provide plain-text extension theme

This commit is contained in:
Federico Jaramillo Martinez
2026-07-20 14:01:47 +02:00
parent b48b147b5b
commit a884773357
5 changed files with 188 additions and 5 deletions
@@ -0,0 +1,28 @@
import { Theme } from "@earendil-works/pi-coding-agent";
import { describe, expect, it } from "vitest";
import { plainTextTheme } from "./plainTextTheme.js";
describe("plainTextTheme", () => {
it("preserves Pi Theme compatibility without adding formatting", () => {
const text = "plain extension output";
const formatters: ((value: string) => string)[] = [
(value) => plainTextTheme.fg("accent", value),
(value) => plainTextTheme.bg("selectedBg", value),
(value) => plainTextTheme.bold(value),
(value) => plainTextTheme.italic(value),
(value) => plainTextTheme.underline(value),
(value) => plainTextTheme.inverse(value),
(value) => plainTextTheme.strikethrough(value),
plainTextTheme.getThinkingBorderColor("high"),
plainTextTheme.getBashModeBorderColor(),
];
expect(plainTextTheme).toBeInstanceOf(Theme);
for (const format of formatters) expect(format(text)).toBe(text);
});
it("returns no terminal ANSI prefixes", () => {
expect(plainTextTheme.getFgAnsi("accent")).toBe("");
expect(plainTextTheme.getBgAnsi("selectedBg")).toBe("");
});
});