Skip to content

Commit

Permalink
refactor: [DaCo] use cobol-dialect-api package
Browse files Browse the repository at this point in the history
this required unifing the version of @types/vscode and typescript
so that the code would compile
  • Loading branch information
VitGottwald committed Apr 13, 2023
1 parent 4c73176 commit a1913a1
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 70 deletions.
16 changes: 8 additions & 8 deletions clients/cobol-dialect-api/package-lock.json

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

4 changes: 2 additions & 2 deletions clients/cobol-dialect-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
},
"homepage": "https://github.com/eclipse-che4z/che-che4z-lsp-for-cobol#readme",
"devDependencies": {
"@types/vscode": "^1.74.0",
"typescript": "^4.9.3",
"@types/vscode": "1.74.0",
"typescript": "4.9.5",
"prettier": "2.8.7"
}
}
41 changes: 33 additions & 8 deletions clients/daco-dialect-support/package-lock.json

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

15 changes: 9 additions & 6 deletions clients/daco-dialect-support/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,26 +95,29 @@
"package": "vsce package"
},
"devDependencies": {
"@types/vscode": "^1.74.0",
"@types/glob": "^8.0.0",
"@types/mocha": "^10.0.1",
"@types/node": "16.x",
"@types/vscode": "1.74.0",
"@typescript-eslint/eslint-plugin": "^5.45.0",
"@typescript-eslint/parser": "^5.45.0",
"@vscode/test-electron": "^2.2.0",
"eslint": "^8.28.0",
"eslint-plugin-sonarjs": "^0.15.0",
"glob": "^8.0.3",
"mocha": "^10.1.0",
"patch-package": "^6.4.7",
"prettier": "2.8.7",
"ts-jest": "^29.0.1",
"tslint": "^5.18.0",
"eslint-plugin-sonarjs": "^0.15.0",
"vsce": "^2.11.0",
"typescript": "^4.9.3",
"@vscode/test-electron": "^2.2.0"
"typescript": "4.9.5",
"vsce": "^2.11.0"
},
"extensionDependencies": [
"BroadcomMFD.cobol-language-support",
"BroadcomMFD.idms-dialect-for-cobol"
]
],
"dependencies": {
"@code4z/cobol-dialect-api": "file:../cobol-dialect-api"
}
}
48 changes: 17 additions & 31 deletions clients/daco-dialect-support/src/extension.ts
Original file line number Diff line number Diff line change
@@ -1,43 +1,29 @@
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import { join } from "path";
import * as vscode from "vscode";
import { registerDialect } from "@code4z/cobol-dialect-api";

const extensionId: string = "DaCo.daco-dialect-for-cobol";
const mainExtension: string = "BroadcomMFD.cobol-language-support";

let mainApi: any = undefined;
let unregisterDialect: () => void;

export async function activate(context: vscode.ExtensionContext) {
const ext = vscode.extensions.getExtension(extensionId);
if (ext === undefined) {
throw new Error("Cannot find extension");
}

const main = vscode.extensions.getExtension(mainExtension);
if (main === undefined) {
throw new Error("Cannot find COBOL LS extension");
}

mainApi = await main.activate();
if (mainApi === undefined) {
throw new Error("COBOL LS API is invalid");
}

const executablePath = join(ext.extensionPath, "server", "jar");
const snippetPath = join(ext.extensionPath, "snippets.json");

mainApi.dialectAPI_1_0().registerDialect({
extensionId: extensionId,
const extensionId = context.extension.id;
const extensionUri = context.extensionUri;
const snippets = vscode.Uri.joinPath(extensionUri, "snippets.json");
const jar = vscode.Uri.joinPath(
extensionUri,
"server",
"jar",
/* TODO: "dialect-daco.jar" */
);
unregisterDialect = await registerDialect(extensionId, {
apiVersion: 1,
name: "DaCo",
path: executablePath,
description: "DaCo dialect support",
snippetPath: snippetPath,
snippets,
jar,
});
}

export async function deactivate() {
if (mainApi !== undefined) {
mainApi.dialectAPI_1_0().unregister(extensionId, "DaCo");
}
export function deactivate() {
unregisterDialect();
}
27 changes: 15 additions & 12 deletions clients/idms-dialect-support/package-lock.json

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

6 changes: 3 additions & 3 deletions clients/idms-dialect-support/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
"scripts": {
"vscode:prepublish": "npm run compile",
"postinstall": "patch-package",
"compile": "tsc -p tsconfig.json",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile && npm run lint",
"pretty": "prettier -w .",
Expand All @@ -78,7 +78,7 @@
"package": "vsce package"
},
"devDependencies": {
"@types/vscode": "^1.74.0",
"@types/vscode": "1.74.0",
"@types/glob": "^8.0.0",
"@types/mocha": "^10.0.1",
"@types/node": "16.x",
Expand All @@ -93,7 +93,7 @@
"tslint": "^5.18.0",
"eslint-plugin-sonarjs": "^0.15.0",
"vsce": "^2.11.0",
"typescript": "^4.9.3",
"typescript": "4.9.5",
"@vscode/test-electron": "^2.2.0"
},
"extensionDependencies": [
Expand Down

0 comments on commit a1913a1

Please sign in to comment.