feat(generator): add language parameter to commit generation methods
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::config::{CommitFormat, LlmConfig};
|
||||
use crate::config::{CommitFormat, LlmConfig, Language};
|
||||
use crate::git::{CommitInfo, GitRepo};
|
||||
use crate::llm::{GeneratedCommit, LlmClient};
|
||||
use anyhow::{Context, Result};
|
||||
@@ -27,6 +27,7 @@ impl ContentGenerator {
|
||||
&self,
|
||||
diff: &str,
|
||||
format: CommitFormat,
|
||||
language: Language,
|
||||
) -> Result<GeneratedCommit> {
|
||||
// Truncate diff if too long
|
||||
let max_diff_len = 4000;
|
||||
@@ -36,7 +37,7 @@ impl ContentGenerator {
|
||||
diff.to_string()
|
||||
};
|
||||
|
||||
self.llm_client.generate_commit_message(&truncated_diff, format).await
|
||||
self.llm_client.generate_commit_message(&truncated_diff, format, language).await
|
||||
}
|
||||
|
||||
/// Generate commit message from repository changes
|
||||
@@ -44,6 +45,7 @@ impl ContentGenerator {
|
||||
&self,
|
||||
repo: &GitRepo,
|
||||
format: CommitFormat,
|
||||
language: Language,
|
||||
) -> Result<GeneratedCommit> {
|
||||
let diff = repo.get_staged_diff()
|
||||
.context("Failed to get staged diff")?;
|
||||
@@ -52,7 +54,7 @@ impl ContentGenerator {
|
||||
anyhow::bail!("No staged changes to generate commit from");
|
||||
}
|
||||
|
||||
self.generate_commit_message(&diff, format).await
|
||||
self.generate_commit_message(&diff, format, language).await
|
||||
}
|
||||
|
||||
/// Generate tag message
|
||||
@@ -107,6 +109,7 @@ impl ContentGenerator {
|
||||
&self,
|
||||
repo: &GitRepo,
|
||||
format: CommitFormat,
|
||||
language: Language,
|
||||
) -> Result<GeneratedCommit> {
|
||||
use dialoguer::{Confirm, Select};
|
||||
use console::Term;
|
||||
@@ -126,7 +129,7 @@ impl ContentGenerator {
|
||||
|
||||
// Generate initial commit
|
||||
println!("\nGenerating commit message...");
|
||||
let mut generated = self.generate_commit_message(&diff, format).await?;
|
||||
let mut generated = self.generate_commit_message(&diff, format, language).await?;
|
||||
|
||||
loop {
|
||||
println!("\n{}", "─".repeat(60));
|
||||
@@ -153,7 +156,7 @@ impl ContentGenerator {
|
||||
0 => return Ok(generated),
|
||||
1 => {
|
||||
println!("Regenerating...");
|
||||
generated = self.generate_commit_message(&diff, format).await?;
|
||||
generated = self.generate_commit_message(&diff, format, language).await?;
|
||||
}
|
||||
2 => {
|
||||
let edited = crate::utils::editor::edit_content(&generated.to_conventional())?;
|
||||
|
||||
Reference in New Issue
Block a user