pub trait SemanticParserPlugin: Send + Sync {
// Required methods
fn id(&self) -> &str;
fn extensions(&self) -> &[&str];
fn extract_entities(
&self,
content: &str,
file_path: &str,
) -> Vec<SemanticEntity>;
// Provided method
fn compute_similarity(&self, a: &SemanticEntity, b: &SemanticEntity) -> f64 { ... }
}