MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / event_project

Function event_project

src/sessions/cursor.rs:1042–1057  ·  view source on GitHub ↗
(event: &Value)

Source from the content-addressed store, hash-verified

1040}
1041
1042fn event_project(event: &Value) -> (String, String) {
1043 let cwd_root = event_cwd(event).and_then(|cwd| crate::config::discover_project_root(&cwd));
1044 let candidates = event_project_candidates(event);
1045 let resolved = candidates
1046 .iter()
1047 .find_map(|candidate| crate::config::discover_project_root(candidate))
1048 .or_else(|| candidates.into_iter().next());
1049 let project_path = match (cwd_root, resolved) {
1050 (Some(cwd_root), Some(resolved)) if !paths_equal(&cwd_root, &resolved) => cwd_root,
1051 (Some(cwd_root), None) => cwd_root,
1052 (_, Some(resolved)) => resolved,
1053 _ => return ("unknown".to_string(), "unknown".to_string()),
1054 };
1055 let project = project_path.to_string_lossy().to_string();
1056 (project.clone(), project)
1057}
1058
1059fn event_cwd(event: &Value) -> Option<PathBuf> {
1060 event

Callers 1

parse_cursor_jsonlFunction · 0.85

Calls 4

discover_project_rootFunction · 0.85
event_project_candidatesFunction · 0.85
paths_equalFunction · 0.85
event_cwdFunction · 0.70

Tested by

no test coverage detected