Skip to content

Commit 79c7f84

Browse files
authored
Merge pull request #1489 from BetterThanTomorrow/fix-1299-proper-error-handling
Fixing #1299 - Clojure LSP not starting when offline
2 parents fa0fe82 + d5bac3a commit 79c7f84

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Changes to Calva.
55
## [Unreleased]
66
- [Continue to support -Aalias for jack-in](https://github.com/BetterThanTomorrow/calva/issues/1474)
77
- [Add custom commands from libraries](https://github.com/BetterThanTomorrow/calva/pull/1442)
8+
- [Clojure-lsp not starting when offline](https://github.com/BetterThanTomorrow/calva/issues/1299)
89
- Workaround: [VS Code highlights characters in the output/REPL window prompt](https://github.com/BetterThanTomorrow/calva/pull/1475)
910
- [Exclude REPL output window from LSP analysis](https://github.com/BetterThanTomorrow/calva/issues/1250)
1011

src/lsp/download.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,14 @@ import { https } from 'follow-redirects';
77
import * as extractZip from 'extract-zip';
88

99
async function getLatestVersion(): Promise<string> {
10-
const releasesJSON = await util.fetchFromUrl('https://api.github.com/repos/clojure-lsp/clojure-lsp/releases');
11-
const releases = JSON.parse(releasesJSON);
12-
return releases[0].tag_name;
10+
try {
11+
const releasesJSON = await util.fetchFromUrl('https://api.github.com/repos/clojure-lsp/clojure-lsp/releases');
12+
console.log("loaded latest Json" + releasesJSON);
13+
const releases = JSON.parse(releasesJSON);
14+
return releases[0].tag_name;
15+
} catch (err) {
16+
return "";
17+
}
1318
}
1419

1520
function getZipFileName(platform: string): string {

src/lsp/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ async function activate(context: vscode.ExtensionContext, handler: TestTreeHandl
401401
if (userConfiguredClojureLspPath === '') {
402402
const configuredVersion: string = config.getConfig().clojureLspVersion;
403403
const downloadVersion = ['', 'latest'].includes(configuredVersion) ? await getLatestVersion() : configuredVersion;
404-
if (currentVersion !== downloadVersion) {
404+
if (currentVersion !== downloadVersion && downloadVersion !== '') {
405405
const downloadPromise = downloadClojureLsp(context.extensionPath, downloadVersion);
406406
lspStatus.text = '$(sync~spin) Downloading clojure-lsp';
407407
lspStatus.show();

0 commit comments

Comments
 (0)