| 579 | |
| 580 | #[derive(Deserialize)] |
| 581 | struct GrepQuery { |
| 582 | pattern: String, |
| 583 | max_matches: Option<usize>, |
| 584 | context_lines: Option<usize>, |
| 585 | /// Optional scope filter: "all" (default) or "code" (skip comments/strings). |
| 586 | scope: Option<String>, |
| 587 | /// Optional file path filter to restrict grep to matching files. |
| 588 | file: Option<String>, |
| 589 | } |
| 590 | |
| 591 | async fn grep_handler( |
| 592 | State(state): State<AppState>, |
nothing calls this directly
no outgoing calls
no test coverage detected