refactor(lmc): remove intermediate vars and directly access CLI args
This commit is contained in:
parent
4aaa80898d
commit
a8cbfb3665
1 changed files with 10 additions and 18 deletions
28
src/index.ts
28
src/index.ts
|
|
@ -38,30 +38,22 @@ async function main() {
|
||||||
allowPositionals: true,
|
allowPositionals: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
const newConvo = args.new;
|
|
||||||
const plainOut = args["plain-out"] ?? args.plain ?? !process.stdout.isTTY;
|
const plainOut = args["plain-out"] ?? args.plain ?? !process.stdout.isTTY;
|
||||||
const plainErr = args["plain-err"] ?? args.plain ?? !process.stderr.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");
|
console.log("0.0.0");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const config = await loadConfig(editConfig);
|
const config = await loadConfig(args.config);
|
||||||
|
|
||||||
if (editConfig || !config) {
|
if (args.config || !config) {
|
||||||
await initConfig(config);
|
await initConfig(config);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const model = modelOverride ?? config.model;
|
const model = args.model ?? config.model;
|
||||||
|
|
||||||
const renderer = new Renderer(plainOut, plainErr);
|
const renderer = new Renderer(plainOut, plainErr);
|
||||||
|
|
||||||
|
|
@ -74,25 +66,25 @@ async function main() {
|
||||||
|
|
||||||
const convo = new Conversation(model);
|
const convo = new Conversation(model);
|
||||||
|
|
||||||
if (!newConvo) {
|
if (!args.new) {
|
||||||
await convo.load();
|
await convo.load();
|
||||||
if (modelOverride) convo.model = modelOverride;
|
if (args.model) convo.model = args.model;
|
||||||
}
|
}
|
||||||
|
|
||||||
const input = positionals.join(" ").trim();
|
const input = positionals.join(" ").trim();
|
||||||
let stdinText = "";
|
let stdinText = "";
|
||||||
if (stdinContent) stdinText = await consumers.text(process.stdin);
|
if (args.stdin) stdinText = await consumers.text(process.stdin);
|
||||||
const files = [];
|
const files = [];
|
||||||
for (const file of inputFiles ?? [])
|
for (const file of args.file ?? [])
|
||||||
files.push(fileFence(file, await fs.readFile(file, "utf8")));
|
files.push(fileFence(file, await fs.readFile(file, "utf8")));
|
||||||
|
|
||||||
let prompt = base(input, [
|
let prompt = base(input, [
|
||||||
...files,
|
...files,
|
||||||
stdinText ? contextFence(stdinText) : "",
|
stdinText ? contextFence(stdinText) : "",
|
||||||
]);
|
]);
|
||||||
if (generateGitMessage) {
|
if (args["git-message"]) {
|
||||||
prompt = commitDiff(stdinText, [...files]);
|
prompt = commitDiff(stdinText, [...files]);
|
||||||
} else if (generateReview) {
|
} else if (args.review) {
|
||||||
prompt = review([...files, stdinText ? diffFence(stdinText) : "", input]);
|
prompt = review([...files, stdinText ? diffFence(stdinText) : "", input]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue