Download dssl-vscode/README.md from EHS-Studio/dssl: direct link, hf CLI and curl.
- Browser
- Download file 4.35 kB
-
https://huggingface.co/EHS-Studio/dssl/resolve/main/dssl-vscode/README.md
- Command line
-
hf download hf://EHS-Studio/dssl/dssl-vscode/README.md
-
curl -L -o README.md https://huggingface.co/EHS-Studio/dssl/resolve/main/dssl-vscode/README.md
DSSL Language Support (VS Code + VSCodium)
About the publisher name. You may see a warning when you install this, because the publisher
ehs-studiois new on Open VSX. It is me: EHS-Studio is the same person as wasselnl77-hash on GitHub, and the project is open source (MIT). The source is in the Hugging Face repo, and you can read every file in this extension before you install it. It does not make network requests and does not collect anything.
The DSSL style language in your editor. Not a re-implementation: this extension bundles the real parser and resolver that ship in the engine, so the diagnostics you see are the same errors the browser console prints, did-you-mean included.
Works in VS Code and VSCodium (same extension API).
VSCodium: open the Extensions tab, search "DSSL" and install. It is published on Open VSX: https://open-vsx.org/extension/ehs-studio/dssl-vscode
VS Code: the Microsoft Marketplace listing is not published yet, so install the .vsix
via Extensions panel → ⋯ → Install from VSIX.
Extension id: ehs-studio.dssl-vscode. See PUBLISHING.md for the publishing flow.
Features
Real-compiler diagnostics. Errors AND warnings (the v0.7 warnings channel included: the
display: noneclobbered by a latercolumn:shows up as a squiggle, not a mystery).Completions from your registry. Every
.dsslfile in the workspace is parsed and the token registry folded across files (tokens*.dsslfirst). Typecolor.and get your palette with resolved values. Typeanimate:and get your motions first.Hover docs for the semantic vocabulary (
row:,bend:,stretch:,seen,pin...), for tokens (resolved value), for workspace motions and behaviors.Syntax highlighting via a TextMate grammar for
.dssl.Completions for the new vocabulary. After
texture:you get the presets, the generators and every setting; afteraura-glow:only glow settings; afteraura-particle:only particle settings (shapes, where particles are born, directions); afterslider:the clauses. Hovering a preset or a setting explains it.The designer (DSSL: Open the designer, or the paint-can button on a
.dssltab). Three tabs:- Aura: a slider or picker for every glow and particle setting, colour stops you can add and remove, a live preview drawn by the real renderer, a graph of one particle's opacity and size over its life, and a live graph of particles alive and frame time.
- Texture: all the presets and 11 generators as thumbnails, up to four stacked layers, every setting as a slider, colour pickers.
- Slider: a live range input with the generated rules, and a bar editor for histogram sliders.
Each tab writes the DSSL for you and checks it with the real compiler as you go. Insert at cursor puts it in your file (indented to match, replacing a selection if there is one). Load from selection reads an existing
aura-glow:,texture:orslider:declaration back into the controls.DSSL: Convert a CSS file to DSSL (right-click a
.cssfile). Runs the importer, writes the.dsslnext to it, and lists in an output channel what it could not carry over.
What it does not do (yet)
- No formatter. No go-to-definition for behaviors. No LSP process (diagnostics run in the extension host; a language server is the next step if files get huge).
Configuration
| Setting | Default | Meaning |
|---|---|---|
dssl.diagnostics.enable |
true |
run the compiler on change and save |
dssl.diagnostics.debounce |
250 |
ms to wait after a keystroke |
How it works
lib/engine/ holds a synced copy of the engine's modules (parser, resolver, utils, color, texture,
aura, slider, lint, import) from the main repo (keep them identical with scripts/sync-extension-engine.mjs). On change, every
.dssl file in the workspace is parsed once, tokens fold in load order, and the real
resolve() produces the diagnostics. Completions and hovers read the folded registry.
Links
- Site: https://dssl-sable.vercel.app
- Repo + full docs: https://huggingface.co/EHS-Studio/dssl
- Feature matrix: PARITY.md in the repo
MIT license.