diff --git a/src/path_serializer.rs b/src/path_serializer.rs index 74eb9534..18a61707 100644 --- a/src/path_serializer.rs +++ b/src/path_serializer.rs @@ -36,3 +36,17 @@ where seq.end() } + +pub fn serialize_option_absolute( + maybe_path: &Option, + serializer: S, +) -> Result +where + S: Serializer, + T: AsRef, +{ + match maybe_path { + Some(path) => serialize_absolute(path, serializer), + None => serializer.serialize_none(), + } +} diff --git a/src/project.rs b/src/project.rs index a81bbbf5..98aab9d1 100644 --- a/src/project.rs +++ b/src/project.rs @@ -269,6 +269,8 @@ pub struct ProjectNode { pub children: BTreeMap, pub properties: HashMap, pub ignore_unknown_instances: Option, + + #[serde(serialize_with = "crate::path_serializer::serialize_option_absolute")] pub path: Option, } diff --git a/src/snapshots/serve_session__change_file_in_project_after.snap b/src/snapshots/serve_session__change_file_in_project_after.snap index 0efeb6c5..db346fb6 100644 --- a/src/snapshots/serve_session__change_file_in_project_after.snap +++ b/src/snapshots/serve_session__change_file_in_project_after.snap @@ -29,7 +29,7 @@ children: children: {} properties: {} ignore_unknown_instances: ~ - path: "/foo\\file.txt" + path: /foo/file.txt relevant_paths: - /foo/file.txt - /foo/file.meta.json diff --git a/src/snapshots/serve_session__change_file_in_project_before.snap b/src/snapshots/serve_session__change_file_in_project_before.snap index c824b355..715cd903 100644 --- a/src/snapshots/serve_session__change_file_in_project_before.snap +++ b/src/snapshots/serve_session__change_file_in_project_before.snap @@ -29,7 +29,7 @@ children: children: {} properties: {} ignore_unknown_instances: ~ - path: "/foo\\file.txt" + path: /foo/file.txt relevant_paths: - /foo/file.txt - /foo/file.meta.json