Skip to content

Commit

Permalink
Bump minimum VSC version to 1.84 and fix breaking changes (starkware-…
Browse files Browse the repository at this point in the history
  • Loading branch information
mkaput authored Jan 26, 2024
1 parent 8435d1c commit d8e81b2
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 90 deletions.
113 changes: 72 additions & 41 deletions vscode-cairo/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions vscode-cairo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,6 @@
"displayName": "Cairo 1.0",
"description": "Support Cairo syntax",
"version": "2.5.0",
"engines": {
"vscode": "^1.60.0"
},
"dependencies": {
"vscode-languageclient": "^7.0.0"
},
"categories": [
"Programming Languages"
],
Expand Down Expand Up @@ -100,13 +94,19 @@
"fmt:check": "prettier --check .",
"lint": "eslint . src --ext .ts,.tsx"
},
"engines": {
"vscode": "^1.84.0"
},
"dependencies": {
"vscode-languageclient": "^9.0.1"
},
"devDependencies": {
"@tsconfig/node14": "^14.1.0",
"@tsconfig/node18": "^18.2.2",
"@tsconfig/strictest": "^2.0.2",
"@types/node": "^14.0.0",
"@types/vscode": "^1.60.0",
"@types/node": "^18.15.3",
"@types/vscode": "^1.84.0",
"@typescript-eslint/eslint-plugin": "^6.19.1",
"@vscode/test-electron": "^2.3.1",
"@vscode/test-electron": "^2.3.9",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"prettier": "3.2.4",
Expand Down
75 changes: 37 additions & 38 deletions vscode-cairo/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -349,50 +349,49 @@ async function setupLanguageServer(
serverOptions,
clientOptions,
);

client.registerFeature(new SemanticTokensFeature(client));
client.onReady().then(() => {
const myProvider = new (class
implements vscode.TextDocumentContentProvider
{
async provideTextDocumentContent(uri: vscode.Uri): Promise<string> {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const res: any = await client.sendRequest("vfs/provide", {
uri: uri.toString(),
});
return res.content;
}

onDidChangeEmitter = new vscode.EventEmitter<vscode.Uri>();
onDidChange = this.onDidChangeEmitter.event;
})();
client.onNotification("vfs/update", (param) => {
myProvider.onDidChangeEmitter.fire(param.uri);
});
vscode.workspace.registerTextDocumentContentProvider("vfs", myProvider);
const myProvider = new (class implements vscode.TextDocumentContentProvider {
async provideTextDocumentContent(uri: vscode.Uri): Promise<string> {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const res: any = await client.sendRequest("vfs/provide", {
uri: uri.toString(),
});
return res.content;
}

client.onNotification("scarb/could-not-find-scarb-executable", () =>
notifyScarbMissing(outputChannel),
);
onDidChangeEmitter = new vscode.EventEmitter<vscode.Uri>();
onDidChange = this.onDidChangeEmitter.event;
})();
client.onNotification("vfs/update", (param) => {
myProvider.onDidChangeEmitter.fire(param.uri);
});
vscode.workspace.registerTextDocumentContentProvider("vfs", myProvider);

client.onNotification("scarb/could-not-find-scarb-executable", () =>
notifyScarbMissing(outputChannel),
);

client.onNotification("scarb/resolving-start", () => {
vscode.window.withProgress(
{
title: "Scarb is resolving the project...",
location: vscode.ProgressLocation.Notification,
cancellable: false,
},
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async (_progress, _token) => {
return new Promise((resolve) => {
client.onNotification("scarb/resolving-finish", () => {
resolve(null);
});
client.onNotification("scarb/resolving-start", () => {
vscode.window.withProgress(
{
title: "Scarb is resolving the project...",
location: vscode.ProgressLocation.Notification,
cancellable: false,
},
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async (_progress, _token) => {
return new Promise((resolve) => {
client.onNotification("scarb/resolving-finish", () => {
resolve(null);
});
},
);
});
});
},
);
});
client.start();

await client.start();
}

export async function activate(context: vscode.ExtensionContext) {
Expand Down
2 changes: 1 addition & 1 deletion vscode-cairo/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": [
"@tsconfig/strictest/tsconfig.json",
"@tsconfig/node14/tsconfig.json",
"@tsconfig/node18/tsconfig.json",
],
"compilerOptions": {
"outDir": "out",
Expand Down

0 comments on commit d8e81b2

Please sign in to comment.