task: Add ZED_RELATIVE_DIR task variable (#31657)
This is my first contribution to zed, let me know if I missed anything. There is no corresponding issue/discussion. `$ZED_RELATIVE_DIR` can be used in cases where a task's command's filesystem namespace (e.g. inside a container) is different than the host, where absolute paths cannot work. I modified `relative_path` to `relative_file` after the addition of `relative_dir`. For top-level files, where `relative_file.parent() == Some("")`, I use `"."` for `$ZED_RELATIVE_DIR`, which is a valid relative path in both *nix and windows. Thank you for building zed, and open-sourcing it. I hope to contribute more as I use it as my primary editor. Release Notes: - Added ZED_RELATIVE_DIR (path to current file's directory relative to worktree root) task variable.
This commit is contained in:
parent
b4af61edfe
commit
ae076fa415
4 changed files with 20 additions and 2 deletions
|
@ -509,6 +509,7 @@ mod tests {
|
|||
(VariableName::File, path!("/dir/rust/b.rs").into()),
|
||||
(VariableName::Filename, "b.rs".into()),
|
||||
(VariableName::RelativeFile, separator!("rust/b.rs").into()),
|
||||
(VariableName::RelativeDir, "rust".into()),
|
||||
(VariableName::Dirname, path!("/dir/rust").into()),
|
||||
(VariableName::Stem, "b".into()),
|
||||
(VariableName::WorktreeRoot, path!("/dir").into()),
|
||||
|
@ -540,6 +541,7 @@ mod tests {
|
|||
(VariableName::File, path!("/dir/rust/b.rs").into()),
|
||||
(VariableName::Filename, "b.rs".into()),
|
||||
(VariableName::RelativeFile, separator!("rust/b.rs").into()),
|
||||
(VariableName::RelativeDir, "rust".into()),
|
||||
(VariableName::Dirname, path!("/dir/rust").into()),
|
||||
(VariableName::Stem, "b".into()),
|
||||
(VariableName::WorktreeRoot, path!("/dir").into()),
|
||||
|
@ -568,6 +570,7 @@ mod tests {
|
|||
(VariableName::File, path!("/dir/a.ts").into()),
|
||||
(VariableName::Filename, "a.ts".into()),
|
||||
(VariableName::RelativeFile, "a.ts".into()),
|
||||
(VariableName::RelativeDir, ".".into()),
|
||||
(VariableName::Dirname, path!("/dir").into()),
|
||||
(VariableName::Stem, "a".into()),
|
||||
(VariableName::WorktreeRoot, path!("/dir").into()),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue