A pause in the active development of the Vexon

  An Important Update on the Vexon Language Project It is with a heavy heart that we are announcing a pause in the active development of the...

Sunday, 30 November 2025

Vexon Language Extension Update

 


Vexon Language Extension Update

A new release of the Vexon Language extension is ready. This update brings a self‑contained runtime and CLI into the extension package, streamlined Run and Compile workflows, and an easier developer experience for anyone building or using Vexon projects in VS Code. Below I walk through what changed, why it matters, how to use it, and what comes next.

What Changed

  • Vendored runtime and CLI: vexon_core.js and vexon_cli.js are now included inside the extension under vendor/. The extension will use this vendored CLI by default when present.

  • Smart CLI resolution: The extension searches for vexon_cli.js in this order: user setting vexon.cliPath, vendored vendor/vexon_cli.js, workspace root, and then by walking up parent folders from the active file.

  • Run and Compile commands: Two commands — Run Vexon and Compile Vexon — are exposed as status bar buttons and commands. They launch the CLI in the integrated terminal so you can see compiler and runtime output directly.

  • Packaging ready: The .vsix packaging now includes the vendor/ folder so users who install the extension get the runtime and CLI out of the box.

  • Graceful fallback: If you later switch to a shared package or local link, the extension will still work; it prefers the vendored copy but accepts workspace or configured CLI paths.

Why This Matters

  • Zero setup for users — New users no longer need to copy runtime files into every project. Install the extension and you can run .vx files immediately.

  • Consistent behavior — Vendoring ensures the extension uses a known runtime version, reducing “works on my machine” problems.

  • Flexible for developers — If you prefer to keep a project‑specific CLI, the extension still supports that. If you want to iterate on the core, you can use npm link, a file: dependency, or replace the vendored files.

  • Better UX — Running and compiling from the integrated terminal keeps output, errors, and interactive prompts in one place, improving debugging and iteration speed.

How to Use It

Install the extension

  • Build the .vsix with vsce package or install the published extension from the Marketplace.

  • Confirm vendor/vexon_core.js and vendor/vexon_cli.js are present in the extension folder or in the packaged .vsix.

Run a file

  1. Open a .vx file in VS Code.

  2. Click the Run Vexon status bar button or run the command Vexon: Run File.

  3. The integrated terminal will run a command like:

bash
node "<path-to-extension>/vendor/vexon_cli.js" run "<path-to-file>.vx"

Compile to EXE

  1. Click Compile Vexon or run Vexon: Compile File.

  2. The CLI will compile the file and generate a JS runner and optionally an EXE using pkg if available.

Custom CLI location

  • Set the absolute path in workspace settings:

json
"vexon.cliPath": "C:\\tools\\vexon\\vexon_cli.js"
  • Or place vexon_cli.js in your project root; the extension will detect it automatically.

Developer Notes

  • Vendored files are tracked: vendor/ is included in the extension package. If you update the core, commit the changes so users receive the update.

  • Fallback require pattern: The extension and CLI use local requires so you can later replace the vendored core with a package without changing extension code.

  • Packaging: Ensure package.json includes "vendor/" in the files array before running vsce package.

  • Testing: Use the Extension Development Host (F5) to validate Run/Compile flows and terminal output.

  • Future migration: When you’re ready, you can move the core into a local package (file:), a monorepo workspace, or publish it to a private registry. The extension already supports those workflows via vexon.cliPath and workspace detection.

What’s Next

  • Improved grammar and snippets — richer syntax highlighting and code snippets for common Vexon patterns.

  • Integrated debugging — explore adding a debug adapter so you can set breakpoints and step through Vexon code.

  • Automated CI packaging — a GitHub Actions workflow to build and publish .vsix artifacts automatically.

  • Optional installer CLI — make vexon available as a global CLI via a local package for users who prefer a system tool.

Closing

This update focuses on making Vexon easier to use and maintain. Vendoring the runtime inside the extension removes friction for new users while keeping flexibility for power users and contributors. If you want, I can generate a sample .vx file for testing, a GitHub Actions workflow to build the .vsix, or a short README you can include in vendor/ describing how to switch to a package-based setup.

No comments:

Post a Comment