//! analysis Operation trait for the analysis module (language/contribution stats on bare repositories based on gix). use crate::analysis::types::{CodeActivityStats, ContributorStat, LanguageStats, RefreshResult}; /// Operation trait for the analysis module. pub trait AnalysisOps { /// Compute repository language percentages (default branch). fn analysis_languages(&self) -> Result; /// Count contributors. fn analysis_contributors(&self) -> Result, crate::Error>; /// Code activity statistics. fn analysis_code_activity_stats( &self, from: Option, branch: Option<&str>, ) -> Result; /// Refresh analysis (incremental). fn analysis_refresh(&self, commit_id: Option<&str>) -> Result; }