API Stability Notice

Macroforge is under active development. The API is not yet stable and may change between versions. Some documentation sections may be outdated.

Svelte Language Server

@macroforge/svelte-language-server provides full Svelte IDE support with macroforge integration.

Developer Installation Required
This package is not yet published as an official extension. You'll need to build and install it manually.

Features

  • Svelte syntax diagnostics - Errors and warnings in .svelte files
  • HTML support - Hover info, autocompletions, Emmet, outline symbols
  • CSS/SCSS/LESS - Diagnostics, hover, completions, formatting, Emmet, color picking
  • TypeScript/JavaScript - Full language features with macroforge macro expansion
  • Go-to-definition - Navigate to macro-generated code
  • Code actions - Quick fixes and refactorings

Installation

1. Clone the Repository

Bash
git clone https://github.com/rymskip/macroforge-ts.git
cd macroforge-ts

2. Build the Language Server

Bash
# Install dependencies
npm install

# Build the Svelte language server
cd packages/svelte-language-server
npm run build

3. Configure Your Editor

The language server exposes a svelteserver binary that implements the Language Server Protocol (LSP). Configure your editor to use it:

Bash
# The binary is located at:
./packages/svelte-language-server/bin/server.js

Package Info

Package@macroforge/svelte-language-server
Version0.1.7
CLI Commandsvelteserver
Node Version>= 18.0.0

How It Works

The Svelte language server extends the standard Svelte language tooling with macroforge integration:

  1. Parses .svelte files and extracts TypeScript/JavaScript blocks
  2. Expands macros using the @macroforge/typescript-plugin
  3. Maps diagnostics back to original source positions
  4. Provides completions for macro-generated methods

Using with Zed

For Zed editor, see the Zed Extensions page for the dedicated svelte-macroforge extension.