diff --git a/README.md b/README.md index 9210255..d41493b 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,80 @@

- Synthpunk icon + synthpunk — High-energy synthwave color schemes

# Synthpunk -High-energy synthwave-inspired color themes for VS Code, Zed, Neovim, WezTerm, and Starship. Four variants: Pastel Dark/Light and Neon Dark/Light. +High-energy synthwave-inspired color themes in two families — **Pastel** and **Neon** — each with dark and light variants. Every theme is generated from a single [palette source](palette/) for VS Code, Zed, Neovim, WezTerm, and Starship. ![Synthpunk — the same code across all four variants](assets/hero.png) ## Preview -Syntax highlighting shown in the **Neon Dark** variant: +Syntax highlighting in the **Neon Dark** variant (click any image for full size): -### React +| React / TSX | Python | Rust | +| ----------- | ------ | ---- | +| Synthpunk Neon Dark — React/TSX | Synthpunk Neon Dark — Python | Synthpunk Neon Dark — Rust | -![Synthpunk Neon Dark — React/TSX](assets/sample-react.png) +| C# | Markdown | | +| -- | -------- | - | +| Synthpunk Neon Dark — C# | Synthpunk Neon Dark — Markdown | | -### Python +The exact colors for every variant live in [`palette/`](palette/) — the source all themes are generated from. Preview images are produced by [`assets/generate/`](assets/generate/). -![Synthpunk Neon Dark — Python](assets/sample-python.png) - -### Rust - -![Synthpunk Neon Dark — Rust](assets/sample-rust.png) - -### C# - -![Synthpunk Neon Dark — C#](assets/sample-csharp.png) - -### Markdown +## Installation -![Synthpunk Neon Dark — Markdown](assets/sample-markdown.png) +The VS Code and Zed extensions are **not yet on their marketplaces** (listings are coming soon) — for now, install them as developer extensions from a clone of this repo. The WezTerm and Starship configs download directly from [GitHub releases](https://github.com/slowdini/synthpunk/releases). -Full palette swatches for every variant: [Pastel Dark](assets/palette-preview-dark.png) · [Pastel Light](assets/palette-preview-light.png) · [Neon Dark](assets/palette-preview-neon-dark.png) · [Neon Light](assets/palette-preview-neon-light.png). Preview images are generated by [`assets/generate/`](assets/generate/). +For VS Code, Zed, and Neovim, start by cloning the repo: -## Installation +```sh +git clone https://github.com/slowdini/synthpunk.git +``` ### VS Code -Install from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=synthpunk.synthpunk) (search "Synthpunk"), then select your theme via `Preferences: Color Theme`. +1. Copy or symlink `themes/vscode/` into `~/.vscode/extensions/` +2. Restart VS Code +3. Run `Preferences: Color Theme` and pick a variant -For local development, see [`themes/vscode/README.md`](themes/vscode/README.md). +See [`themes/vscode/README.md`](themes/vscode/README.md) for details. ### Zed -Install from the Zed extension registry (search "Synthpunk"), then select your theme from the theme picker. +1. Open **Extensions** in Zed (or run `zed: extensions`) +2. Click **Install Dev Extension** (or run `zed: install dev extension`) +3. Select the `themes/zed/` directory +4. Pick a variant from the theme picker (`theme selector: toggle`) -For local development, see [`themes/zed/README.md`](themes/zed/README.md). +See [`themes/zed/README.md`](themes/zed/README.md) for details. ### Neovim -Install via [Lazy.nvim](https://github.com/folke/lazy.nvim): +Copy the colorscheme files from the clone into your Neovim config: + +```sh +cp -r synthpunk/themes/neovim/colors synthpunk/themes/neovim/lua ~/.config/nvim/ +``` + +Then load a variant: ```lua -return { - "slowdini/synthpunk.nvim", - lazy = false, - priority = 1000, - config = function() - vim.cmd("colorscheme synthpunk-pastel-dark") - end, -} +vim.cmd("colorscheme synthpunk-pastel-dark") ``` -See [`themes/neovim/README.md`](themes/neovim/README.md) for manual installation and variant details. +Variants: `synthpunk-pastel-dark`, `synthpunk-pastel-light`, `synthpunk-neon-dark`, `synthpunk-neon-light`. See [`themes/neovim/README.md`](themes/neovim/README.md) for details. ### WezTerm ```sh +mkdir -p ~/.config/wezterm/colors curl -fsSL https://github.com/slowdini/synthpunk/releases/latest/download/synthpunk-pastel-dark.toml -o ~/.config/wezterm/colors/synthpunk-pastel-dark.toml ``` -Then set `config.color_scheme = 'Synthpunk Pastel Dark'` in your `wezterm.lua`. See [`themes/wezterm/README.md`](themes/wezterm/README.md) for all variants. +Then set `config.color_scheme = 'Synthpunk Pastel Dark'` in your `wezterm.lua`. The other variants download the same way (`synthpunk-pastel-light.toml`, `synthpunk-neon-dark.toml`, `synthpunk-neon-light.toml`). See [`themes/wezterm/README.md`](themes/wezterm/README.md) for all variants. ### Starship @@ -79,7 +82,7 @@ Then set `config.color_scheme = 'Synthpunk Pastel Dark'` in your `wezterm.lua`. curl -fsSL https://github.com/slowdini/synthpunk/releases/latest/download/starship.toml -o ~/.config/starship.toml ``` -The default variant is `synthpunk_pastel_dark`. To switch, change the `palette =` line to `synthpunk_pastel_light`, `synthpunk_neon_dark`, or `synthpunk_neon_light`. See [`themes/starship/README.md`](themes/starship/README.md) for details. +The default variant is `synthpunk_pastel_dark`. To switch, change the `palette =` line to `synthpunk_pastel_light`, `synthpunk_neon_dark`, or `synthpunk_neon_light`. Icons require a [Nerd Font](https://www.nerdfonts.com/). See [`themes/starship/README.md`](themes/starship/README.md) for details. ## Development @@ -91,20 +94,8 @@ bun run check # lint + typecheck bun run format # auto-format ``` -All theme files under `themes/` are generated from `palette/` by the generator. Never edit them directly — edit `palette/` and `generator/`, then run `bun run build`. - -## Releasing - -Releases are cut from `dev` and tagged from `main`: - -1. Merge feature PRs into `dev` after CI passes. -2. When ready to ship, trigger the **Release PR** workflow with the next version number. It bumps every manifest via `scripts/bump-version.ts`, commits to `dev`, and opens a `dev → main` PR. -3. Review the release PR and merge. -4. Merging to `main` automatically tags `vX.Y.Z`, creates the GitHub release, uploads the Starship and WezTerm config files as release assets, builds the VS Code VSIX, and fans out publish jobs (VS Code Marketplace, OpenVSX, Zed, synthpunk.nvim) — each gated on a configured secret. -5. After a release, merge `main` back into `dev` to keep them in sync. - -See [`RELEASE.md`](RELEASE.md) for manual publishing steps and prerequisite setup. +All theme files under `themes/` are generated from `palette/` by the generator. Never edit them directly — edit `palette/` and `generator/`, then run `bun run build`. To regenerate the preview images above, see [`assets/generate/`](assets/generate/). ## License -MIT +[MIT](LICENSE) diff --git a/assets/readme.png b/assets/readme.png new file mode 100644 index 0000000..a36ef59 Binary files /dev/null and b/assets/readme.png differ diff --git a/themes/neovim/README.md b/themes/neovim/README.md index 9f0160f..836b8cb 100644 --- a/themes/neovim/README.md +++ b/themes/neovim/README.md @@ -11,24 +11,13 @@ A Neovim colorscheme generated from the [Synthpunk](https://github.com/slowdini/ ## Installation -### Lazy.nvim - -```lua -return { - "slowdini/synthpunk.nvim", - lazy = false, - priority = 1000, - config = function() - vim.cmd("colorscheme synthpunk-pastel-dark") - end, -} -``` +### From this repository -### Manual (no plugin manager) +The colorscheme files are plain Lua — no plugin manager required: ```bash -git clone https://github.com/slowdini/synthpunk.nvim /tmp/synthpunk.nvim -cp -r /tmp/synthpunk.nvim/* ~/.config/nvim/ +git clone https://github.com/slowdini/synthpunk /tmp/synthpunk +cp -r /tmp/synthpunk/themes/neovim/colors /tmp/synthpunk/themes/neovim/lua ~/.config/nvim/ ``` Then in your Neovim config: @@ -37,6 +26,10 @@ Then in your Neovim config: vim.cmd("colorscheme synthpunk-pastel-dark") ``` +### Lazy.nvim + +The standalone [`slowdini/synthpunk.nvim`](https://github.com/slowdini/synthpunk.nvim) mirror is not published yet — until it is, use the manual install above. + ## Requirements - Neovim >= 0.8 (for `vim.api.nvim_set_hl`) diff --git a/themes/zed/README.md b/themes/zed/README.md index ffa0f68..067ea64 100644 --- a/themes/zed/README.md +++ b/themes/zed/README.md @@ -16,14 +16,11 @@ High-energy synthwave-inspired color themes for Zed. ## Install -Open **Extensions** in Zed (or run `zed: extensions`), search for **Synthpunk**, and install it. Then pick a variant from the theme picker (`theme selector: toggle`). - -## Local Development - -To test this extension locally in Zed: - -1. Open Zed -2. Go to **Extensions** (or run `zed: extensions`) -3. Click **Install Dev Extension** (or run `zed: install dev extension`) -4. Select this directory (`themes/zed/`) -5. Select your preferred theme variant from the theme picker +Synthpunk is not yet in the Zed extension registry (a listing is coming soon). Until then, install it as a dev extension: + +1. Clone this repository +2. Open Zed +3. Go to **Extensions** (or run `zed: extensions`) +4. Click **Install Dev Extension** (or run `zed: install dev extension`) +5. Select the `themes/zed/` directory +6. Select your preferred theme variant from the theme picker