]> git.lizzy.rs Git - rust.git/commitdiff
Replace 'cargo_prefix' option with 'override_cargo'
authorIgor Aleksanov <popzxc@yandex.ru>
Sat, 5 Sep 2020 13:20:33 +0000 (16:20 +0300)
committerIgor Aleksanov <popzxc@yandex.ru>
Fri, 2 Oct 2020 09:34:27 +0000 (12:34 +0300)
crates/rust-analyzer/src/config.rs
crates/rust-analyzer/src/handlers.rs
crates/rust-analyzer/src/lsp_ext.rs
crates/rust-analyzer/src/to_proto.rs

index c5dd00706d52e7c6a4e31fb068590b7a8f51c32e..0ab4c37bfffbab8befed5bc332dc9b45b6b136c2 100644 (file)
@@ -128,8 +128,8 @@ pub enum RustfmtConfig {
 /// Configuration for runnable items, such as `main` function or tests.
 #[derive(Debug, Clone, Default)]
 pub struct RunnablesConfig {
-    /// Stuff to be inserted before `cargo`, e.g. `RUST_LOG=info`.
-    pub cargo_prefix: Vec<String>,
+    /// Custom command to be executed instead of `cargo` for runnables.
+    pub override_cargo: Option<String>,
     /// Additional arguments for the `cargo`, e.g. `--release`.
     pub cargo_extra_args: Vec<String>,
 }
@@ -232,7 +232,7 @@ pub fn update(&mut self, json: serde_json::Value) {
             target: data.cargo_target.clone(),
         };
         self.runnables = RunnablesConfig {
-            cargo_prefix: data.runnables_cargoPrefix,
+            override_cargo: data.runnables_overrideCargo,
             cargo_extra_args: data.runnables_cargoExtraArgs,
         };
 
@@ -489,8 +489,8 @@ struct ConfigData {
         notifications_cargoTomlNotFound: bool      = true,
         procMacro_enable: bool                     = false,
 
-        runnables_cargoPrefix: Vec<String>    = Vec::new(),
-        runnables_cargoExtraArgs: Vec<String> = Vec::new(),
+        runnables_overrideCargo: Option<String> = None,
+        runnables_cargoExtraArgs: Vec<String>   = Vec::new(),
 
         rustfmt_extraArgs: Vec<String>               = Vec::new(),
         rustfmt_overrideCommand: Option<Vec<String>> = None,
index 2a8eca1460abec9a8454d6ae8b169d7652dce74f..e970abb7c083eda59763faa21f47b5133ae0b022 100644 (file)
@@ -501,7 +501,7 @@ pub(crate) fn handle_runnables(
                     kind: lsp_ext::RunnableKind::Cargo,
                     args: lsp_ext::CargoRunnable {
                         workspace_root: Some(spec.workspace_root.clone().into()),
-                        cargo_prefix: config.cargo_prefix.clone(),
+                        override_cargo: config.override_cargo.clone(),
                         cargo_args: vec![
                             cmd.to_string(),
                             "--package".to_string(),
@@ -522,7 +522,7 @@ pub(crate) fn handle_runnables(
                 kind: lsp_ext::RunnableKind::Cargo,
                 args: lsp_ext::CargoRunnable {
                     workspace_root: None,
-                    cargo_prefix: config.cargo_prefix.clone(),
+                    override_cargo: config.override_cargo.clone(),
                     cargo_args: vec!["check".to_string(), "--workspace".to_string()],
                     cargo_extra_args: config.cargo_extra_args.clone(),
                     executable_args: Vec::new(),
index 72c4ebfd3c8dfe5378fa472dda7f4d1b6c5f71df..fee0bb69c70bb53535d95a333f9743c17107baff 100644 (file)
@@ -171,8 +171,8 @@ pub enum RunnableKind {
 #[derive(Deserialize, Serialize, Debug)]
 #[serde(rename_all = "camelCase")]
 pub struct CargoRunnable {
-    // stuff before `cargo` command, e.g. `RUST_LOG=info`
-    pub cargo_prefix: Vec<String>,
+    // command to be executed instead of cargo
+    pub override_cargo: Option<String>,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub workspace_root: Option<PathBuf>,
     // command, --package and --lib stuff
index 5dca520c30764769201754ff78b6421381d1c946..aeacde0f7a2db1c67b3819ba3575d3d151b033a6 100644 (file)
@@ -755,7 +755,7 @@ pub(crate) fn runnable(
         kind: lsp_ext::RunnableKind::Cargo,
         args: lsp_ext::CargoRunnable {
             workspace_root: workspace_root.map(|it| it.into()),
-            cargo_prefix: config.cargo_prefix.clone(),
+            override_cargo: config.override_cargo.clone(),
             cargo_args,
             cargo_extra_args: config.cargo_extra_args.clone(),
             executable_args,