task: Add ZED_PACKAGE task variable in Rust files. (#9491)

This variable is experimental, as I expect it to be superseded by
whatever the extensions can provide (once we get them)

Release Notes:

- Added experimental ZED_PACKAGE task variable which contains name of
the current crate in Rust files.

---------

Co-authored-by: Kirill <kirill@zed.dev>
This commit is contained in:
Piotr Osiewicz 2024-03-18 12:18:42 +01:00 committed by GitHub
parent a69eddc081
commit 07dbee8651
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 53 additions and 2 deletions

View file

@ -7,6 +7,8 @@ use settings::Settings;
use std::{str, sync::Arc};
use util::asset_str;
use crate::rust::RustContextProvider;
use self::{deno::DenoSettings, elixir::ElixirSettings};
mod astro;
@ -150,7 +152,7 @@ pub fn init(
let config = load_config($name);
// typeck helper
let adapters: Vec<Arc<dyn LspAdapter>> = $adapters;
for adapter in $adapters {
for adapter in adapters {
languages.register_lsp_adapter(config.name.clone(), adapter);
}
languages.register_language(
@ -240,7 +242,11 @@ pub fn init(
node_runtime.clone(),
))]
);
language!("rust", vec![Arc::new(rust::RustLspAdapter)]);
language!(
"rust",
vec![Arc::new(rust::RustLspAdapter)],
RustContextProvider
);
language!("toml", vec![Arc::new(toml::TaploLspAdapter)]);
match &DenoSettings::get(None, cx).enable {
true => {