Wave Programming Language support for Visual Studio Code, powered by the
shared wave-agape language server.
- ✅ Syntax highlighting for Wave (
.wave) files - ✅ Keywords, types, functions, strings, numbers, operators
- ✅ Support for comments (
//and/* */) - ✅
importkeyword highlighting - ✅ Custom icon for
.wavefiles - ✅ Run Wave button →
wavec run <file>(native Windows and optional WSL) - ✅ Diagnostics and parser errors
- ✅ Completion and signature help
- ✅ Hover and go to definition
- ✅ Clickable
import("module");paths and missing-import diagnostics - ✅
std::and external package import navigation and module completion - ✅ Document/workspace symbols and references
- ✅ Rename
- Install this extension
- Open any
.wavefile - Press
▶ Run Waveat the top of the file to run it
waveccompiler must be installed and available in your PATHwave-agapemust be available inPATH, configured withwave.languageServer.path, or bundled underserver/<platform>-<architecture>/wave-agape(.exeon Windows)
Windows uses native wavec.exe and wave-agape.exe by default. WSL remains an
opt-in compatibility mode through wave.compiler.useWsl and
wave.languageServer.useWsl.
npm install
npm run compilePushing a version tag such as v0.3.0 runs
.github/workflows/marketplace.yml. The workflow bundles x64 Linux and Windows
servers plus x64 and Apple Silicon macOS servers, uploads the VSIX as an
Actions artifact, and publishes it to the VS Code Marketplace when the
VSCE_PAT repository secret is set.
The language-server source defaults to wavefnd/wave-agape at v0.2.0. Set
the WAVE_AGAPE_REPOSITORY and WAVE_AGAPE_REF repository variables to use a
different repository or a pinned tag/commit.
Wave imports follow the compiler's resolution rules. std::io::format resolves
under ~/.wave/lib/wave/std, while package::module resolves through
wave.imports.dependencyRoots or the explicit wave.imports.dependencies
mapping. Relative paths in these settings are resolved from the workspace.