diff --git a/src/generator.rs b/src/generator.rs index cc74056..95c9fd7 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -1,12 +1,12 @@ -use crate::analyzer::{AnalysisResult, CommitType}; -use crate::git::StagedChanges; +use super::analyzer::{AnalysisResult, CommitType}; +use super::git::StagedChanges; -pub fn generate_message(analysis: &AnalysisResult, staged: &StagedChanges) -> String { +pub fn generate_message(analysis: &AnalysisResult, _staged: &StagedChanges) -> String { let scope = analysis.scope.clone().unwrap_or_default(); let description = &analysis.description; if !scope.is_empty() { - format!("{} ({}): {}", analysis.commit_type, scope, description) + format!("{} ({}) : {}", analysis.commit_type, scope, description) } else { format!("{}: {}", analysis.commit_type, description) } @@ -14,7 +14,7 @@ pub fn generate_message(analysis: &AnalysisResult, staged: &StagedChanges) -> St pub fn generate_alternative_messages( analysis: &AnalysisResult, - staged: &StagedChanges, + _staged: &StagedChanges, ) -> Vec { let mut messages = Vec::new(); @@ -25,12 +25,12 @@ pub fn generate_alternative_messages( if !scope.is_empty() { for verb in &verb_alternatives { - let desc = verb_alternatives_description(verb, &analysis.description, &staged.files); - messages.push(format!("{} ({}): {}", analysis.commit_type, scope, desc)); + let desc = format!("{} {}", verb, base_description); + messages.push(format!("{} ({}) : {}", analysis.commit_type, scope, desc)); } } else { for verb in &verb_alternatives { - let desc = verb_alternatives_description(verb, &analysis.description, &staged.files); + let desc = format!("{} {}", verb, base_description); messages.push(format!("{}: {}", analysis.commit_type, desc)); } } @@ -38,10 +38,10 @@ pub fn generate_alternative_messages( messages } -fn verb_alternatives_description( +fn verb_alternative_description( verb: &str, base: &str, - files: &[crate::git::ChangedFile], + files: &[super::git::ChangedFile], ) -> String { let file_count = files.len(); @@ -88,8 +88,8 @@ pub fn format_message(message: &str) -> String { #[cfg(test)] mod tests { use super::*; - use crate::analyzer::{AnalysisResult, CommitType}; - use crate::git::{ChangedFile, FileStatus, StagedChanges}; + use super::super::analyzer::AnalysisResult; + use super::super::git::{ChangedFile, FileStatus, StagedChanges}; #[test] fn test_message_format_with_scope() { @@ -105,7 +105,7 @@ mod tests { diff_text: String::new(), }; let message = generate_message(&analysis, &staged); - assert_eq!(message, "feat(auth): add login functionality"); + assert_eq!(message, "feat(auth) : add login functionality"); } #[test] @@ -137,13 +137,13 @@ mod tests { let staged = StagedChanges { files: vec![ChangedFile { path: String::from("api/users_test.rs"), + old_path: None, status: FileStatus::Added, additions: 50, deletions: 0, is_new: true, is_deleted: false, is_renamed: false, - old_path: None, }], diff_text: String::new(), };