18 lines · 628 B · TypeScript
RawDownload
import { Schema } from "effect";import { TrimmedNonEmptyString } from "./baseSchemas"; export const EDITORS = [  { id: "cursor", label: "Cursor", command: "cursor" },  { id: "vscode", label: "VS Code", command: "code" },  { id: "zed", label: "Zed", command: "zed" },  { id: "file-manager", label: "File Manager", command: null },] as const; export const EditorId = Schema.Literals(EDITORS.map((e) => e.id));export type EditorId = typeof EditorId.Type; export const OpenInEditorInput = Schema.Struct({  cwd: TrimmedNonEmptyString,  editor: EditorId,});export type OpenInEditorInput = typeof OpenInEditorInput.Type;