⚡ Eta IntelliSenseTyped editor tooling for fast, delightful
|
| Setting | Default | What it does |
|---|---|---|
eta.tags.open |
<% |
Opening delimiter for Eta tags. |
eta.tags.close |
%> |
Closing delimiter for Eta tags. |
eta.parse.exec |
"" |
Prefix for JavaScript execution tags. |
eta.parse.interpolate |
= |
Prefix for escaped output tags. |
eta.parse.raw |
~ |
Prefix for raw output tags. |
eta.customTags |
[] |
Custom tag prefixes handled by your Eta runtime. |
eta.varName |
it |
Name of the template data variable. |
eta.useWith |
false |
Exposes top-level data properties as variables. |
eta.functionHeader |
"" |
Extra declarations injected into the virtual template file. |
eta.outputFunctionName |
output |
Name of the Eta output helper function. |
The language server can also detect simple inline configs like new Eta({ tags: ["{{", "}}"], varName: "data" }) and eta.configure({ ... }) near render calls.
📦 Demos
The demo/ folder contains a standalone Eta workspace with typed render calls and matching templates. Open it in VS Code to try the extension against several usage patterns:
quickstart-file-renderlayouts-and-blockspartials-and-helpersasync-renderconfig-optionsapi-surfacesyntax-edge-cases
🏗 Development
This repository uses Bun.
bun install
bun run compile
bun run watch
bun run test
Useful scripts:
bun run compiletype-checks and bundles the extension intoout/withtsup.bun run watchruns TypeScript in watch mode.bun run testcompiles and runs the Vitest suite.bun run test:uiopens the Vitest UI.bun run test:coverageruns coverage.
🗂 Project Structure
src/
extension.ts VS Code extension entrypoint and client-side providers
server.ts Language server entrypoint
etaConfig.ts Shared Eta language option defaults and normalization
etaScanner.ts Eta tag scanner
virtualDocument.ts Eta-to-TypeScript virtual document builder
typeInference.ts Workspace render-call analysis and `it` type inference
position.ts Position and offset helpers
lspKind.ts TypeScript-to-LSP kind mapping
logging.ts Shared extension/server logging helpers
tests/ Vitest tests
syntaxes/ TextMate grammar
snippets/ Eta snippets
templates/ Syntax fixtures
demo/ Demo workspace and scenario examples
📚 Eta Docs
🤝 Contributors
Made with contrib.rocks.