Use project environment in LSP runnables context (#29761)

Release Notes:

- Fixed the tasks from LSP not inheriting the worktree environment

----

cc @SomeoneToIgnore
This commit is contained in:
Stanislav Alekseev 2025-05-02 14:01:39 +03:00 committed by GitHub
parent 35539847a4
commit 460ac96df4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 55 additions and 11 deletions

View file

@ -56,7 +56,7 @@ use futures::future::join_all;
use futures::{
StreamExt,
channel::mpsc::{self, UnboundedReceiver},
future::try_join_all,
future::{Shared, try_join_all},
};
pub use image_store::{ImageItem, ImageStore};
use image_store::{ImageItemEvent, ImageStoreEvent};
@ -1605,6 +1605,17 @@ impl Project {
self.environment.read(cx).get_cli_environment()
}
pub fn buffer_environment<'a>(
&'a self,
buffer: &Entity<Buffer>,
worktree_store: &Entity<WorktreeStore>,
cx: &'a mut App,
) -> Shared<Task<Option<HashMap<String, String>>>> {
self.environment.update(cx, |environment, cx| {
environment.get_buffer_environment(&buffer, &worktree_store, cx)
})
}
pub fn shell_environment_errors<'a>(
&'a self,
cx: &'a App,