Teide for VS Code
A VS Code port of teide.nvim, in all four styles: Darker, Dark, Dimmed and Light.
How it works
teide.nvim ──(headless nvim)──▶ build/<style>.json ──(node)──▶ themes/teide-<style>-color-theme.json
scripts/dump.lua resolved palette + src/build.mjs
every highlight group + src/mapping.mjs
scripts/dump.lua loads teide.nvim in headless Neovim for each style and dumps the palette plus every
highlight group, with links fully resolved to concrete colors.
src/mapping.mjs maps nvim groups to vscode keys:
- TextMate scopes → treesitter groups (
@keyword, @function, …)
- semantic tokens → LSP groups (
@lsp.type.*, @lsp.typemod.*)
- workbench colors → UI groups (
Normal, Pmenu, CursorLine, GitSignsAdd, …) or palette entries
src/build.mjs writes the theme files.
Sync With teide.nvim
.github/workflows/sync.yml runs daily (or manually, with an optional upstream ref). When the generated themes change, it:
- bumps the patch version, commits, and tags the release
- attaches a
.vsix to a GitHub release
- publishes to the VS Code Marketplace / Open VSX if the
VSCE_PAT / OVSX_PAT secrets are set
Local development
Requires Neovim ≥ 0.10 and Node ≥ 18.
scripts/sync.sh # fetch teide.nvim@main and regenerate
scripts/sync.sh v4.14.1 # build from a specific upstream ref
TEIDE_LOCAL=../teide.nvim scripts/sync.sh # build from a local checkout
npm run package # produce a .vsix
code --install-extension teide-theme-*.vsix
To preview without installing, open this folder in VS Code and press F5. The Extension
Development Host picks up regenerated themes on reload.
To change how something looks, edit src/mapping.mjs, then run npm run build.
Credits
All colors are by Sergio Hernandez (teide.nvim), which is itself built on
folke's tokyonight.nvim.
Licensed under Apache-2.0, like the originals.