Tiny VS Code Extension
This folder contains the Tiny VS Code extension.
Included now:
.tn language registration
- line comments and bracket configuration
- TextMate-based syntax highlighting
- snippets for common Tiny declarations and control-flow constructs
- a Tiny file icon theme using
tiny-icon.svg
- live diagnostics driven by
tinyls
- language-server completion, hover, and go-to-definition
- a TypeScript extension entrypoint in
src/extension.ts compiled to dist/extension.js
Running the extension
Open the extensions/vscode/ folder directly in VS Code and press F5.
Install dependencies with pnpm install.
Useful commands:
pnpm run compile
pnpm test
pnpm run watch
CI runs pnpm test through the repository test workflow, so extension tests cover contributed grammar and snippet assets on pushes, pull requests, and releases.
If you open the full repository root instead, the repo-level Launch Tiny Extension configuration now compiles the TypeScript extension before launching the Extension Development Host.
That launch configuration opens a new Extension Development Host window with the Tiny extension loaded. In that new window, opening any .tn file should enable:
- Tiny syntax highlighting
- Tiny snippets for common constructs
- Tiny language configuration such as brackets and comments
- the Tiny file icon for
.tn files
- Tiny diagnostics that update as you edit
- Tiny completion items, hover text, and go-to-definition from
tinyls
The extension starts tinyls from the Go compiler workspace in ../../compiler. If you install the extension outside this repository, set tiny.compilerPath to the compiler directory that contains go.mod.
Language intelligence belongs in tinyls. The VS Code client should stay a thin language-client wrapper for diagnostics, completion, hover, go-to-definition, and Tiny-specific notifications; do not add direct client-side calls to tinyc symbols or local completion/hover/definition providers.
Expected next steps:
- add language-server features behind
tinyls as the editor surface grows