@@ -114,9 +114,12 @@ fn task_context(
.map(|worktree| worktree.read(cx).abs_path().to_string_lossy().to_string())
});
+ let selected_text = buffer.read(cx).chars_for_range(selection_range).collect();
+
let mut env = HashMap::from_iter([
("ZED_ROW".into(), row.to_string()),
("ZED_COLUMN".into(), column.to_string()),
+ ("ZED_SELECTED_TEXT".into(), selected_text),
]);
if let Some(path) = current_file {
env.insert("ZED_FILE".into(), path);
@@ -321,6 +324,7 @@ mod tests {
("ZED_WORKTREE_ROOT".into(), "/dir".into()),
("ZED_ROW".into(), "1".into()),
("ZED_COLUMN".into(), "1".into()),
+ ("ZED_SELECTED_TEXT".into(), "".into())
])
}
);
@@ -338,6 +342,7 @@ mod tests {
("ZED_SYMBOL".into(), "this_is_a_rust_file".into()),
("ZED_ROW".into(), "1".into()),
("ZED_COLUMN".into(), "15".into()),
+ ("ZED_SELECTED_TEXT".into(), "is_i".into()),
])
}
);
@@ -354,6 +359,7 @@ mod tests {
("ZED_SYMBOL".into(), "this_is_a_test".into()),
("ZED_ROW".into(), "1".into()),
("ZED_COLUMN".into(), "1".into()),
+ ("ZED_SELECTED_TEXT".into(), "".into()),
])
}
);