refactor(lmc): remove intermediate vars and directly access CLI args

This commit is contained in:
mitchell 2026-06-27 03:31:03 -04:00
parent 4aaa80898d
commit a8cbfb3665

View file

@ -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]);
}