Format reference information output
(
target_file: str,
relevant_refs: List[Tuple[CodeReference, float]],
relationships: List[RelationshipInfo],
)
| 237 | |
| 238 | |
| 239 | def format_reference_output( |
| 240 | target_file: str, |
| 241 | relevant_refs: List[Tuple[CodeReference, float]], |
| 242 | relationships: List[RelationshipInfo], |
| 243 | ) -> str: |
| 244 | """Format reference information output""" |
| 245 | output_lines = [] |
| 246 | |
| 247 | output_lines.append(f"# Code Reference Information - {target_file}") |
| 248 | output_lines.append("=" * 80) |
| 249 | output_lines.append("") |
| 250 | |
| 251 | # Direct relationship information |
| 252 | if relationships: |
| 253 | output_lines.append("## 🎯 Direct Relationships") |
| 254 | output_lines.append("") |
| 255 | |
| 256 | for i, rel in enumerate(relationships[:5], 1): |
| 257 | output_lines.append(f"### {i}. {rel.repo_file_path}") |
| 258 | output_lines.append(f"**Relationship Type**: {rel.relationship_type}") |
| 259 | output_lines.append(f"**Confidence Score**: {rel.confidence_score:.2f}") |
| 260 | output_lines.append( |
| 261 | f"**Helpful Aspects**: {', '.join(rel.helpful_aspects)}" |
| 262 | ) |
| 263 | output_lines.append( |
| 264 | f"**Potential Contributions**: {', '.join(rel.potential_contributions)}" |
| 265 | ) |
| 266 | output_lines.append(f"**Usage Suggestions**: {rel.usage_suggestions}") |
| 267 | output_lines.append("") |
| 268 | |
| 269 | # Relevant code references |
| 270 | if relevant_refs: |
| 271 | output_lines.append("## 📚 Relevant Code References") |
| 272 | output_lines.append("") |
| 273 | |
| 274 | for i, (ref, score) in enumerate(relevant_refs[:8], 1): |
| 275 | output_lines.append(f"### {i}. {ref.file_path} (Relevance: {score:.2f})") |
| 276 | output_lines.append(f"**Repository**: {ref.repo_name}") |
| 277 | output_lines.append(f"**File Type**: {ref.file_type}") |
| 278 | output_lines.append( |
| 279 | f"**Main Functions**: {', '.join(ref.main_functions[:5])}" |
| 280 | ) |
| 281 | output_lines.append(f"**Key Concepts**: {', '.join(ref.key_concepts[:8])}") |
| 282 | output_lines.append(f"**Dependencies**: {', '.join(ref.dependencies[:6])}") |
| 283 | output_lines.append(f"**Lines of Code**: {ref.lines_of_code}") |
| 284 | output_lines.append(f"**Summary**: {ref.summary[:300]}...") |
| 285 | output_lines.append("") |
| 286 | |
| 287 | # Implementation suggestions |
| 288 | output_lines.append("## 💡 Implementation Suggestions") |
| 289 | output_lines.append("") |
| 290 | |
| 291 | if relevant_refs: |
| 292 | # Collect all function names and concepts |
| 293 | all_functions = set() |
| 294 | all_concepts = set() |
| 295 | all_dependencies = set() |
| 296 |
no outgoing calls
no test coverage detected