import * as NodeServices from "@effect/platform-node/NodeServices";
import * as Effect from "effect/Effect";
import { EDITORS } from "@t3tools/contracts";
import { resolveEditorCommand } from "@t3tools/shared/editor";
import * as HostProcess from "@t3tools/shared/HostProcess";
const zed = EDITORS.find((e) => e.id === "zed")!;
const S = "/tmp/issue-lead-33443-r1";
const cases: Record<string, string> = {
  "only ZFS zed on PATH": `${S}/zfsbin:/usr/bin:/bin`,
  "ZFS zed + zeditor on PATH": `${S}/variants/bin-zfs-and-zeditor:/usr/bin:/bin`,
  "no zed at all": "/usr/bin:/bin",
};
for (const [name, PATH] of Object.entries(cases)) {
  const r = await Effect.runPromise(
    resolveEditorCommand(zed, { HOME: `${S}/variants/home`, PATH }).pipe(
      Effect.provideService(HostProcess.Platform, "linux"),
      Effect.provide(NodeServices.layer),
    ),
  );
  console.log(name.padEnd(28), "=>", JSON.stringify(r));
}
