From 3a9ec906af78c48729a2893753dee67a9cde63b6 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 7 Mar 2024 11:50:07 +0100 Subject: [PATCH] task: make ZED_FILE return abs path, for real this time (#9000) Release Notes: - Fixed ZED_FILE environment variable containing a relative path, not an absolute one. --- crates/tasks_ui/src/lib.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/tasks_ui/src/lib.rs b/crates/tasks_ui/src/lib.rs index 278d01ef398cced783d882a8f31ca8c038133179..e0d78da4de295d90c7380675e8090993966ba775 100644 --- a/crates/tasks_ui/src/lib.rs +++ b/crates/tasks_ui/src/lib.rs @@ -93,7 +93,8 @@ fn task_context( .buffer .read(cx) .file() - .map(|file| file.path().to_string_lossy().to_string()); + .and_then(|file| file.as_local()) + .map(|file| file.abs_path(cx).to_string_lossy().to_string()); let worktree_id = location .buffer .read(cx) @@ -316,7 +317,7 @@ mod tests { TaskContext { cwd: Some("/dir".into()), env: HashMap::from_iter([ - ("ZED_FILE".into(), "rust/b.rs".into()), + ("ZED_FILE".into(), "/dir/rust/b.rs".into()), ("ZED_WORKTREE_ROOT".into(), "/dir".into()), ("ZED_ROW".into(), "1".into()), ("ZED_COLUMN".into(), "1".into()), @@ -332,7 +333,7 @@ mod tests { TaskContext { cwd: Some("/dir".into()), env: HashMap::from_iter([ - ("ZED_FILE".into(), "rust/b.rs".into()), + ("ZED_FILE".into(), "/dir/rust/b.rs".into()), ("ZED_WORKTREE_ROOT".into(), "/dir".into()), ("ZED_SYMBOL".into(), "this_is_a_rust_file".into()), ("ZED_ROW".into(), "1".into()), @@ -348,7 +349,7 @@ mod tests { TaskContext { cwd: Some("/dir".into()), env: HashMap::from_iter([ - ("ZED_FILE".into(), "a.ts".into()), + ("ZED_FILE".into(), "/dir/a.ts".into()), ("ZED_WORKTREE_ROOT".into(), "/dir".into()), ("ZED_SYMBOL".into(), "this_is_a_test".into()), ("ZED_ROW".into(), "1".into()),