aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/installation
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/src/installation')
-rw-r--r--editors/code/src/installation/fetch_latest_artifact_release_info.ts (renamed from editors/code/src/installation/fetch_latest_artifact_metadata.ts)6
-rw-r--r--editors/code/src/installation/interfaces.ts2
-rw-r--r--editors/code/src/installation/server.ts (renamed from editors/code/src/installation/language_server.ts)28
3 files changed, 18 insertions, 18 deletions
diff --git a/editors/code/src/installation/fetch_latest_artifact_metadata.ts b/editors/code/src/installation/fetch_latest_artifact_release_info.ts
index 7e3700603..29ee029a7 100644
--- a/editors/code/src/installation/fetch_latest_artifact_metadata.ts
+++ b/editors/code/src/installation/fetch_latest_artifact_release_info.ts
@@ -1,5 +1,5 @@
1import fetch from "node-fetch"; 1import fetch from "node-fetch";
2import { GithubRepo, ArtifactMetadata } from "./interfaces"; 2import { GithubRepo, ArtifactReleaseInfo } from "./interfaces";
3 3
4const GITHUB_API_ENDPOINT_URL = "https://api.github.com"; 4const GITHUB_API_ENDPOINT_URL = "https://api.github.com";
5 5
@@ -7,9 +7,9 @@ const GITHUB_API_ENDPOINT_URL = "https://api.github.com";
7 * Fetches the latest release from GitHub `repo` and returns metadata about 7 * Fetches the latest release from GitHub `repo` and returns metadata about
8 * `artifactFileName` shipped with this release or `null` if no such artifact was published. 8 * `artifactFileName` shipped with this release or `null` if no such artifact was published.
9 */ 9 */
10export async function fetchLatestArtifactMetadata( 10export async function fetchLatestArtifactReleaseInfo(
11 repo: GithubRepo, artifactFileName: string 11 repo: GithubRepo, artifactFileName: string
12): Promise<null | ArtifactMetadata> { 12): Promise<null | ArtifactReleaseInfo> {
13 13
14 const repoOwner = encodeURIComponent(repo.owner); 14 const repoOwner = encodeURIComponent(repo.owner);
15 const repoName = encodeURIComponent(repo.name); 15 const repoName = encodeURIComponent(repo.name);
diff --git a/editors/code/src/installation/interfaces.ts b/editors/code/src/installation/interfaces.ts
index 8039d0b90..93ea577d4 100644
--- a/editors/code/src/installation/interfaces.ts
+++ b/editors/code/src/installation/interfaces.ts
@@ -6,7 +6,7 @@ export interface GithubRepo {
6/** 6/**
7 * Metadata about particular artifact retrieved from GitHub releases. 7 * Metadata about particular artifact retrieved from GitHub releases.
8 */ 8 */
9export interface ArtifactMetadata { 9export interface ArtifactReleaseInfo {
10 releaseName: string; 10 releaseName: string;
11 downloadUrl: string; 11 downloadUrl: string;
12} 12}
diff --git a/editors/code/src/installation/language_server.ts b/editors/code/src/installation/server.ts
index 4797c3f01..406e2299c 100644
--- a/editors/code/src/installation/language_server.ts
+++ b/editors/code/src/installation/server.ts
@@ -7,13 +7,13 @@ import { spawnSync } from "child_process";
7import { throttle } from "throttle-debounce"; 7import { throttle } from "throttle-debounce";
8 8
9import { BinarySource } from "./interfaces"; 9import { BinarySource } from "./interfaces";
10import { fetchLatestArtifactMetadata } from "./fetch_latest_artifact_metadata"; 10import { fetchLatestArtifactReleaseInfo } from "./fetch_latest_artifact_release_info";
11import { downloadFile } from "./download_file"; 11import { downloadFile } from "./download_file";
12 12
13export async function downloadLatestLanguageServer( 13export async function downloadLatestServer(
14 {file: artifactFileName, dir: installationDir, repo}: BinarySource.GithubRelease 14 {file: artifactFileName, dir: installationDir, repo}: BinarySource.GithubRelease
15) { 15) {
16 const { releaseName, downloadUrl } = (await fetchLatestArtifactMetadata( 16 const { releaseName, downloadUrl } = (await fetchLatestArtifactReleaseInfo(
17 repo, artifactFileName 17 repo, artifactFileName
18 ))!; 18 ))!;
19 19
@@ -53,11 +53,11 @@ export async function downloadLatestLanguageServer(
53 ); 53 );
54 console.timeEnd("Downloading ra_lsp_server"); 54 console.timeEnd("Downloading ra_lsp_server");
55} 55}
56export async function ensureLanguageServerBinary( 56export async function ensureServerBinary(
57 langServerSource: null | BinarySource 57 serverSource: null | BinarySource
58): Promise<null | string> { 58): Promise<null | string> {
59 59
60 if (!langServerSource) { 60 if (!serverSource) {
61 vscode.window.showErrorMessage( 61 vscode.window.showErrorMessage(
62 "Unfortunately we don't ship binaries for your platform yet. " + 62 "Unfortunately we don't ship binaries for your platform yet. " +
63 "You need to manually clone rust-analyzer repository and " + 63 "You need to manually clone rust-analyzer repository and " +
@@ -69,21 +69,21 @@ export async function ensureLanguageServerBinary(
69 return null; 69 return null;
70 } 70 }
71 71
72 switch (langServerSource.type) { 72 switch (serverSource.type) {
73 case BinarySource.Type.ExplicitPath: { 73 case BinarySource.Type.ExplicitPath: {
74 if (isBinaryAvailable(langServerSource.path)) { 74 if (isBinaryAvailable(serverSource.path)) {
75 return langServerSource.path; 75 return serverSource.path;
76 } 76 }
77 77
78 vscode.window.showErrorMessage( 78 vscode.window.showErrorMessage(
79 `Unable to run ${langServerSource.path} binary. ` + 79 `Unable to run ${serverSource.path} binary. ` +
80 `To use the pre-built language server, set "rust-analyzer.raLspServerPath" ` + 80 `To use the pre-built language server, set "rust-analyzer.raLspServerPath" ` +
81 "value to `null` or remove it from the settings to use it by default." 81 "value to `null` or remove it from the settings to use it by default."
82 ); 82 );
83 return null; 83 return null;
84 } 84 }
85 case BinarySource.Type.GithubRelease: { 85 case BinarySource.Type.GithubRelease: {
86 const prebuiltBinaryPath = path.join(langServerSource.dir, langServerSource.file); 86 const prebuiltBinaryPath = path.join(serverSource.dir, serverSource.file);
87 87
88 if (isBinaryAvailable(prebuiltBinaryPath)) { 88 if (isBinaryAvailable(prebuiltBinaryPath)) {
89 return prebuiltBinaryPath; 89 return prebuiltBinaryPath;
@@ -97,10 +97,10 @@ export async function ensureLanguageServerBinary(
97 if (userResponse !== "Download now") return null; 97 if (userResponse !== "Download now") return null;
98 98
99 try { 99 try {
100 await downloadLatestLanguageServer(langServerSource); 100 await downloadLatestServer(serverSource);
101 } catch (err) { 101 } catch (err) {
102 vscode.window.showErrorMessage( 102 vscode.window.showErrorMessage(
103 `Failed to download language server from ${langServerSource.repo.name} ` + 103 `Failed to download language server from ${serverSource.repo.name} ` +
104 `GitHub repository: ${err.message}` 104 `GitHub repository: ${err.message}`
105 ); 105 );
106 106
@@ -122,7 +122,7 @@ export async function ensureLanguageServerBinary(
122 122
123 if (!isBinaryAvailable(prebuiltBinaryPath)) assert(false, 123 if (!isBinaryAvailable(prebuiltBinaryPath)) assert(false,
124 `Downloaded language server binary is not functional.` + 124 `Downloaded language server binary is not functional.` +
125 `Downloaded from: ${JSON.stringify(langServerSource)}` 125 `Downloaded from: ${JSON.stringify(serverSource)}`
126 ); 126 );
127 127
128 128