Make from-source install use cargo installed binary by default

This commit is contained in:
Aleksey Kladov 2020-03-20 12:50:50 +01:00
parent 467a040509
commit 4b5435b52b
6 changed files with 6 additions and 21 deletions

View file

@ -95,12 +95,6 @@ $ cargo xtask install
----
You'll need Cargo, nodejs and npm for this.
To make VS Code use the freshly built server, add this to the settings:
[source,json]
----
{ "rust-analyzer.serverPath": "rust-analyzer" }
----
Note that installing via `xtask install` does not work for VS Code Remote, instead you'll need to install the `.vsix` manually.

View file

@ -6,7 +6,7 @@
"private": true,
"icon": "icon.png",
"version": "0.4.0-dev",
"releaseTag": "nightly",
"releaseTag": null,
"publisher": "matklad",
"repository": {
"url": "https://github.com/rust-analyzer/rust-analyzer.git",

View file

@ -44,11 +44,11 @@ export class Config {
.packageJSON
.version;
readonly releaseTag: string = vscode
readonly releaseTag: string | undefined = vscode
.extensions
.getExtension(this.extensionId)!
.packageJSON
.releaseTag;
.releaseTag ?? undefined;
private cfg!: vscode.WorkspaceConfiguration;

View file

@ -110,6 +110,7 @@ async function bootstrap(config: Config, state: PersistentState): Promise<string
}
async function bootstrapExtension(config: Config, state: PersistentState): Promise<void> {
if (config.releaseTag === undefined) return;
if (config.channel === "stable") {
if (config.releaseTag === NIGHTLY_TAG) {
vscode.window.showWarningMessage(`You are running a nightly version of rust-analyzer extension.
@ -184,6 +185,7 @@ async function getServer(config: Config, state: PersistentState): Promise<string
}
return explicitPath;
};
if (config.releaseTag === undefined) return "rust-analyzer";
let binaryName: string | undefined = undefined;
if (process.arch === "x64" || process.arch === "x32") {

View file

@ -27,7 +27,7 @@ fn dist_client(version: &str, release_tag: &str) -> Result<()> {
patch
.replace(r#""version": "0.4.0-dev""#, &format!(r#""version": "{}""#, version))
.replace(r#""releaseTag": "nightly""#, &format!(r#""releaseTag": "{}""#, release_tag));
.replace(r#""releaseTag": null"#, &format!(r#""releaseTag": "{}""#, release_tag));
if nightly {
patch.replace(

View file

@ -24,7 +24,6 @@ pub struct ServerOpt {
impl InstallCmd {
pub fn run(self) -> Result<()> {
let both = self.server.is_some() && self.client.is_some();
if cfg!(target_os = "macos") {
fix_path_for_mac().context("Fix path for mac")?
}
@ -34,16 +33,6 @@ impl InstallCmd {
if let Some(client) = self.client {
install_client(client).context("install client")?;
}
if both {
eprintln!(
"
Installation complete.
Add `\"rust-analyzer.serverPath\": \"rust-analyzer\",` to VS Code settings,
otherwise it will use the latest release from GitHub.
"
)
}
Ok(())
}
}