Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>EpherNew to Visual Studio Code? Get it now.
Epher

Epher

upyesp.org

| (0) | Free
The epher calculator language: answers inline next to every statement, units that convert, hover signatures, and completion — desktop, web, and the forks.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Epher for Visual Studio Code

latest release release build

epher is a calculator language: you write ordinary math, with units that convert, and every statement's answer appears inline, right next to the line that produced it.

A script computing Earth's circumference, the discriminant of a quadratic, and a speed converted from miles to kilometers per hour, each line's answer shown inline

The demo script typed live, each line's answer appearing as it completes

Type a formula and the answer is already there. No runnable repl in a side panel, no print statements: the editor is the calculator.

What you get

  • Answers inline: each statement's result renders next to its line: x = 40 + 2 shows = 42.
  • Units that convert: 6371 km, 55 mile/hr, 30 deg are quantities, not comments. speed in km/hr converts; the answer carries the right unit.
  • Live diagnostics: syntax errors point at the exact token, and evaluation errors carry the same message the epher calculator shows.
  • Hover signatures: hover any name for its canonical signature; your own functions show their definitions, catalog functions show their docs.

Hovering disc shows the user-defined signature and its definition line

  • Completion: the whole catalog (math, astronomy, statistics), your own definitions, keywords, and snippets for the common statement shapes.

Completion offers sqrt with its catalog documentation

  • Unit-aware coloring: semantic tokens color unit suffixes by meaning: the m in 2 m is a unit, not a variable.

Quick start

  1. In VS Code: Extensions view → search for Epher → Install (or run ext install upyesp.epher). The marketplace page has the listing.
  2. Open any .epher file and start calculating.

Prefer to sideload, or on a fork (Cursor, VSCodium)? Get epher-vscode.vsix from the releases page, then Extensions view → the ⋯ menu → Install from VSIX… (the wasm-wasi runtime it rides on installs itself as a dependency).

The language server ships inside the extension: a WebAssembly build of the same epher-lsp server the other editors use. Nothing is downloaded on first use, and it works offline.

Works in the browser too

The same extension runs on vscode.dev and github.dev: press . on any GitHub repository to open it in the browser, with the same inline answers.

Requirements

  • VS Code 1.88 or newer (and the forks: Cursor, VSCodium; or a web host). The ms-vscode.wasm-wasi-core runtime installs automatically with the extension.
  • No other setup: no compiler, no runtime, no network after install.

Troubleshooting

If the server cannot start, editing still works through the TextMate baseline (highlighting and snippets); only the live features wait. A window reload retries. The Output panel's Epher channel says what happened.

Data and telemetry

None. Everything evaluates on your machine.

License

MIT


Building and contributing (extension developers)

The extension is a thin shell; all understanding lives in epher-lsp, the shared language server. The grammar (syntaxes/epher.tmLanguage.json) and snippets (snippets/epher.json) are copies of clients/shared; edit there, never the copies.

npm install
npm run compile          # syncs shared assets, typechecks, bundles both entries
npx @vscode/vsce package --no-dependencies

npm run compile bundles the desktop entry to out/extension.js and the web entry to dist/browser.js with esbuild (single file each; the web worker allows no module loading) and typechecks both.

The wasm must be in place first (CI does this before packaging; the wasm is never checked in):

rustup target add wasm32-wasip1-threads
cargo build -p epher-lsp --target wasm32-wasip1-threads --release
mkdir -p server
cp ../../target/wasm32-wasip1-threads/release/epher-lsp.wasm server/

Marketplace publication is live (ADR-0068 amendment, 2026-09-18): upyesp.epher publishes with the Entra ID secure automated route (vsce publish --azure-credential, no personal access token). The releases page keeps the vsix for sideloading.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft