diff --git a/src/index.ts b/src/index.ts index ad63ce8..dba66eb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -38,30 +38,22 @@ async function main() { allowPositionals: true, }); - const newConvo = args.new; const plainOut = args["plain-out"] ?? args.plain ?? !process.stdout.isTTY; const plainErr = args["plain-err"] ?? args.plain ?? !process.stderr.isTTY; - const modelOverride = args.model; - const showVersion = args.version; - const editConfig = args.config; - const generateGitMessage = args["git-message"]; - const generateReview = args.review; - const inputFiles = args.file; - const stdinContent = args.stdin; - if (showVersion) { + if (args.version) { console.log("0.0.0"); return; } - const config = await loadConfig(editConfig); + const config = await loadConfig(args.config); - if (editConfig || !config) { + if (args.config || !config) { await initConfig(config); return; } - const model = modelOverride ?? config.model; + const model = args.model ?? config.model; const renderer = new Renderer(plainOut, plainErr); @@ -74,25 +66,25 @@ async function main() { const convo = new Conversation(model); - if (!newConvo) { + if (!args.new) { await convo.load(); - if (modelOverride) convo.model = modelOverride; + if (args.model) convo.model = args.model; } const input = positionals.join(" ").trim(); let stdinText = ""; - if (stdinContent) stdinText = await consumers.text(process.stdin); + if (args.stdin) stdinText = await consumers.text(process.stdin); const files = []; - for (const file of inputFiles ?? []) + for (const file of args.file ?? []) files.push(fileFence(file, await fs.readFile(file, "utf8"))); let prompt = base(input, [ ...files, stdinText ? contextFence(stdinText) : "", ]); - if (generateGitMessage) { + if (args["git-message"]) { prompt = commitDiff(stdinText, [...files]); - } else if (generateReview) { + } else if (args.review) { prompt = review([...files, stdinText ? diffFence(stdinText) : "", input]); }