Looped Automation's editor themes for VS Code, Zed, Warp, and Oh My Posh are generated from a structured TOML template system. This repository contains the source templates, the build tooling, and the prebuilt themes.
- Python 3.13 or newer (the build script relies on the standard
tomllibmodule) - uv for managing the virtual environment and running commands
Clone the repository and install the dependencies into an isolated environment managed by uv:
git clone https://github.com/loopedautomation/editor-themes.git
cd editor-themes
uv syncuv sync creates a dedicated virtual environment in .venv/ and installs the dependencies declared in pyproject.toml.
The build script compiles the TOML templates in src/themes/ into VS Code color themes under themes/.
Run a one-off build:
uv run build.py # Build VS Code themes
uv run build_zed.py # Build Zed themesRun the file watcher during active development (rebuilds all themes whenever template files change):
uv run watch.pyKeep the watcher running while you edit files in src/templates/ or src/themes/. Generated JSON files appear in code/ or zed/themes/ and are ready for testing in your editor.
- Open the repository folder in VS Code.
- Start the extension host (
F5orRun and Debug > Start Debugging). - In the Extension Development Host window, switch to the Looped Dark or Looped Light theme via the Command Palette.
The debugger automatically reloads whenever the generated theme JSON files change, so you can iterate quickly while the watcher is running.
src/templates/reusable color definitions and shared utilitiessrc/themes/top-level theme descriptors that import templates and overridescode/generated VS Code themes consumed by the extensionzed/themes/generated Zed themeswarp/Warp terminal themesoh-my-posh/Oh My Posh prompt themesbuild.pyVS Code template compiler invoked by the watcher or directlybuild_zed.pyZed template compilerwatch.pyfilesystem watcher that rebuilds all themes on changepackage.jsonVS Code extension manifest referencing generated themeszed/extension.tomlZed extension configuration
Looped themes are available for the Zed editor.
uv run build_zed.pyThe generated themes will be in zed/themes/.
For manual installation during development:
# macOS/Linux
mkdir -p ~/.config/zed/extensions
ln -s "$(pwd)/zed" ~/.config/zed/extensions/looped
# Windows (PowerShell, run as Administrator)
New-Item -ItemType SymbolicLink -Path "$env:APPDATA\Zed\extensions\looped" -Target "$(Get-Location)\zed"Then restart Zed and select Looped Dark or Looped Light from the theme selector.
See zed/README.md for detailed installation and usage instructions.
- The terminal presets sit under
warp/looped-dark.yamlandwarp/looped-light.yaml. - Run
./warp/install.shto copy every YAML file in the folder into~/.warp/themes/. - After installation, open Warp → Settings → Themes and pick Looped Dark or Looped Light.
- The prompt theme is in
oh-my-posh/looped-dark.omp.json. - Run
./oh-my-posh/install.shto copy it into Homebrew's themes folder and wire it into.zshrc(backs up your existing config first). - If you prefer manual setup, add
eval "$(oh-my-posh init zsh --config $(brew --prefix oh-my-posh)/themes/looped-dark.omp.json)"to your shell init file.
This project is licensed under the MIT License.