From 1cb1cc26bfbef81af659720684935074d4c2ff96 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Sat, 30 May 2026 17:44:57 +0100 Subject: [PATCH] chore(vscode): migrate build chain from TypeScript to AffineScript - Swap extension.ts for extension.affine (landed in #19) - Update package.json main to .out/extension.cjs - Update compile script to use affinescript compiler - Remove tsc-specific configuration and devDependencies Step 1 (follow-up) of the TS->AS migration campaign (#240). --- editors/vscode/package.json | 9 +++--- editors/vscode/src/extension.ts | 54 --------------------------------- editors/vscode/tsconfig.json | 13 -------- 3 files changed, 4 insertions(+), 72 deletions(-) delete mode 100644 editors/vscode/src/extension.ts delete mode 100644 editors/vscode/tsconfig.json diff --git a/editors/vscode/package.json b/editors/vscode/package.json index ea981d6..ecc452d 100644 --- a/editors/vscode/package.json +++ b/editors/vscode/package.json @@ -26,7 +26,7 @@ "activationEvents": [ "onLanguage:phronesis" ], - "main": "./out/extension.js", + "main": "./out/extension.cjs", "contributes": { "languages": [ { @@ -72,13 +72,12 @@ }, "scripts": { "vscode:prepublish": "npm run compile", - "compile": "tsc -p ./", - "watch": "tsc -watch -p ./" + "compile": "affinescript compile src/extension.affine -o out/extension.cjs --vscode-extension", + "watch": "echo 'watch mode not implemented for AffineScript source — re-run npm run compile'" }, "devDependencies": { "@types/node": "^16.0.0", - "@types/vscode": "^1.60.0", - "typescript": "^4.9.0" + "@types/vscode": "^1.60.0" }, "dependencies": { "vscode-languageclient": "^8.0.0" diff --git a/editors/vscode/src/extension.ts b/editors/vscode/src/extension.ts deleted file mode 100644 index 9acf401..0000000 --- a/editors/vscode/src/extension.ts +++ /dev/null @@ -1,54 +0,0 @@ -// SPDX-License-Identifier: MPL-2.0 -// VSCode extension for Phronesis language support - -import * as path from 'path'; -import { workspace, ExtensionContext } from 'vscode'; -import { - LanguageClient, - LanguageClientOptions, - ServerOptions, - TransportKind -} from 'vscode-languageclient/node'; - -let client: LanguageClient; - -export function activate(context: ExtensionContext) { - // Get phronesis executable path from settings - const config = workspace.getConfiguration('phronesis'); - const serverPath = config.get('serverPath', 'phronesis'); - - // Server options - launch phronesis lsp command - const serverOptions: ServerOptions = { - command: serverPath, - args: ['lsp'], - options: { - env: process.env - } - }; - - // Client options - const clientOptions: LanguageClientOptions = { - documentSelector: [{ scheme: 'file', language: 'phronesis' }], - synchronize: { - fileEvents: workspace.createFileSystemWatcher('**/.phr') - } - }; - - // Create and start the language client - client = new LanguageClient( - 'phronesis', - 'Phronesis Language Server', - serverOptions, - clientOptions - ); - - // Start the client (this will also launch the server) - client.start(); -} - -export function deactivate(): Thenable | undefined { - if (!client) { - return undefined; - } - return client.stop(); -} diff --git a/editors/vscode/tsconfig.json b/editors/vscode/tsconfig.json deleted file mode 100644 index 22c244e..0000000 --- a/editors/vscode/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "ES2020", - "outDir": "out", - "lib": ["ES2020"], - "sourceMap": true, - "rootDir": "src", - "strict": true, - "esModuleInterop": true - }, - "exclude": ["node_modules", ".vscode-test"] -}