Telar for Visual Studio Code
Language support for .rsx files — the markup Telar components are written in.
The extension talks to telar-analyzer, a language server that embeds rust-analyzer in-process. Your [logic] blocks are analyzed against the real crate graph as you type, not one cargo check behind.
Features
- Diagnostics — syntax and semantic errors on the
.rsx line that caused them, including cargo check errors mapped back from the generated Rust
- Completion — elements, attributes, signals, style classes and colors, triggered on
@, $, ., : and inside strings
- Hover and go to definition — across
.rsx files and into the Rust that backs them
- Rename and find references — component tags and signals, across the workspace
- Formatting — whole document or selection
- Inlay hints, code lenses, code actions, document links and folding ranges
- Previews —
▶ Open in workshop above each [preview] moves the running workshop that lists it to it, or starts one on it; ▶ Show in panel shows it beside the editor, live; ▶ Run play above each [play] runs it in a terminal in the package; the panel, and optionally the workshop window, follow the cursor from preview to preview; completion and hover for header options, args(…) and the matrices telar.toml names
- Semantic highlighting and color swatches for theme values
- Workspace symbols — components and
@classes across the project
Requirements
A Rust toolchain on PATH. The server discovers the sysroot through rustc and reads the crate graph with cargo metadata, so both need to be reachable from the editor's environment.
Settings
| Setting |
Description |
telar.serverPath |
Path to a telar-analyzer binary. Takes precedence over everything else — point it at a local cargo build --release while working on the server itself. |
telar.workshop.followCursor |
Moves the running workshop to each [preview] the cursor enters. Off by default; it never starts a workshop. |
Commands
| Command |
Description |
Telar: Show preview at cursor in workshop |
Moves the running workshop to the [preview] at the cursor, or starts one on it |
Telar: Open workshop |
Brings forward the workshop that lists the active file's previews, or starts it |
Telar: Show preview at cursor in panel |
Opens the preview panel beside the editor on the [preview] at the cursor |
Telar: Show server log |
Opens the language server's output channel |
Preview panel
The panel shows the canvas of the [preview] at the cursor, without the workshop around it, and follows the cursor from preview to preview while it is open. It is the workshop's page, served by cargo telar preview --target web for the application that lists the preview — the package itself, or for a library, an application naming it under [telar.previews] include — and it reloads with every rebuild. The panel uses the server already running, or starts one in a terminal; the first build for the browser takes a while.
How the server is found
telar.serverPath, if set
- The
telar-analyzer bundled in this extension under server/
telar-analyzer on PATH
~/.cargo/bin/telar-analyzer
Platform builds ship the matching binary in server/, so no manual install is needed.
NixOS
The bundled binary is a generic Linux executable, and its ELF interpreter does not exist on NixOS — running it fails with a misleading ENOENT. The extension detects NixOS and patches a private copy through nix-build before starting it, caching the result until the extension version changes. A binary that already resolves inside /nix/store is left alone.
License
MIT OR Apache-2.0