Open-source project
ahmadawais/shades-of-purple-vscode avatar
ahmadawais/shades-of-purple-vscode

shades-of-purple-vscode: a purple VS Code theme with a super dark variant

🦄 Shades of Purple offers a hand-picked selection of bold and vibrant shades of purple that will transform your code into a visually stunning masterpiece. With its carefully crafted color palette, this theme brings a sense of style, elegance, and whimsy to your favorite code editor, making your coding sessions a delightful journey of creativity.

792 stars69 forksUnknownNOASSERTION

At a glance

What is it?
Shades of Purple is a VS Code colour theme packaged as a marketplace extension, with a second super dark variant and a documented set of editor settings to match. It suits developers who want a fixed, opinionated purple palette rather than a theme that follows a terminal colour scheme, though the palette itself is the product and the accompanying settings are optional.
Who is it for?
Adopt shades-of-purple-vscode if you want a fixed purple palette in VS Code and are willing to let the theme define every token, and if you want the darker variant you can switch to it from the colour theme picker.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 92 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Two colour themes shipped inside one extension

Shades of Purple is not a script and not a settings file you paste into your own configuration. It is a packaged VS Code extension, published under the name `shades-of-purple` with the display name Shades of Purple and the publisher `ahmadawais`, and it is installed from the Visual Studio Marketplace like any other extension.

The extension contributes two themes in its manifest. The first is labelled `Shades of Purple` with the `uiTheme` value `vs-dark` and the path `./themes/shades-of-purple-color-theme.json`. The second is labelled `Shades of Purple (Super Dark)`, also `vs-dark`, pointing at `./themes/shades-of-purple-color-theme-super-dark.json`. Both are declared in the `contributes.themes` array of the package manifest, which is the mechanism VS Code uses to register colour themes.

So the theme is delivered as JSON colour definitions under a `themes/` directory, and the extension is the wrapper that makes them selectable. The manifest version is 7.3.6, and it declares compatibility with VS Code `^1.15.0`, which is a very old engine floor and explains why a theme built years ago still loads in current editors.

The project describes itself as a professional theme with hand-picked and bold shades of purple, and the README frames the goal as reducing eye strain and improving code readability. The palette is the deliverable. There is no colour picker and no accent setting, which is both the point and the limitation.

Installing from the marketplace in six steps

The documented path is the extensions sidebar. Open the extensions sidebar in Visual Studio Code, search for `Shades of Purple Theme`, click Install, click Reload to reload the editor, then select the theme through Code/File, Preferences, Color Theme, Shades of Purple.

There is a second route through the command palette, which the README calls the alternate installation. Launch Quick Open with Cmd+P on macOS or Ctrl+P on Windows and Linux, paste the command `ext install shades-of-purple`, press Enter, click Install, click Reload, then select the theme the same way through the colour theme picker.

Either way the theme ends up in the same place: the colour theme picker. If it does not appear there, the reload step is the one to check, since the extension has to be registered with the running editor before its contributed themes show up.

The extension identifier in the marketplace URL is `ahmadawais.shades-of-purple`, which is the publisher name and the package name joined by a dot, so you can also search for that exact string if the friendly name is ambiguous.

The README also points to a video tutorial hosted on YouTube and a set of screenshots showing the theme in use, plus a demo directory in the repository itself. That demo folder holds sample files across many languages, including `JavaScript.js`, `Vue.vue`, `python.py`, `rust.rs`, `go.go`, `graphql.graphql`, `sql.sql`, `shellscript.sh`, `php.php`, `pug.pug`, `html.html`, `css.css`, `json.json`, `ini.ini`, `nim.nim`, `ruby.rb`, `react.js`, `markdown.md` and a `.dot.env` file. Opening those is the fastest way to judge the syntax highlighting on your own languages.

Recommended settings are optional but heavily opinionated

The theme ships with a long block of recommended settings. The README is clear that they are optional and that the theme works with an existing configuration, but the block is worth reading as a coherent opinion rather than a random list, because it changes how the editor behaves and not just how it looks.

The first part sets the theme and an icon set, then moves into typography. The font family is set to `Operator Mono, Menlo, Monaco, 'Courier New', monospace`, the terminal uses a separate family, the font size is 17, the line height is 24.65, the letter spacing is 0.5 and the weight is 400. Ligatures are switched on.

json
{
  // Theme Setup
  "workbench.colorTheme": "Shades of Purple",
  "workbench.iconTheme": "vscode-icons",

  // Font Settings (Operator Mono recommended)
  "editor.fontFamily": "Operator Mono, Menlo, Monaco, 'Courier New', monospace",
  "terminal.integrated.fontFamily": "'Operator Mono', 'Inconsolata for Powerline', monospace",
  "editor.fontSize": 17,
  "editor.lineHeight": 24.65,
  "editor.letterSpacing": 0.5,
  "editor.fontWeight": "400",
  "editor.fontLigatures": true,

Cursor and behaviour follow: a line cursor of width 5 that does not blink, whitespace rendered everywhere, snippet suggestions at the top, the glyph margin enabled, preview mode for editors turned off and a new untitled file at startup. File handling disables the drag and drop confirmation and trims trailing whitespace and final newlines on save.

json
  // File Management
  "explorer.confirmDragAndDrop": false,
  "files.trimTrailingWhitespace": true,
  "files.trimFinalNewlines": true,

  // Formatting (Optional)
  "editor.formatOnSave": true,
  "prettier.eslintIntegration": true,
  "eslint.run": "onType",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },

The formatting group is the part with teeth. Format on save, ESLint running on every keystroke and the ESLint fix applied automatically on save are all opinions about your workflow, and the last group is macOS specific, covering font aliasing and treating the option key as meta in the integrated terminal. Adopt the theme and you can skip all of this; adopt the settings and you have also adopted an opinionated toolchain.

A theme suite for terminal apps as well as the editor

The package description calls Shades of Purple a theme suite for your VS Code editor and terminal apps, which is broader than the two editor themes in the manifest. The repository layout supports the wider claim: there is a `demo/` directory, an `images/` directory for the documentation assets, a `themes/` directory, and configuration folders for tooling such as `.commandcode/` and `.claude/`, alongside `.vscode/` and a `.markdownlint.json` for linting the documentation.

The README also has a section called Put Shades of Purple in Other Places and a Color Palette Reference, which together suggest the palette is meant to be reused outside the editor, in terminals and other tools that accept a colour scheme. The repository does not include a separate terminal colour scheme file in the top level listing, so what ships in the extension and what exists for other applications are two different things.

The palette itself is described in the README as hand-picked, with a Color Palette Reference section listing the shades. The README claims support for more than fifty programming languages, which in practice means the JSON theme defines token colours for a wide set of language scopes rather than that fifty separate integrations exist. The demo files cover a comparable spread of languages, which is the honest way to check the claim for your own stack.

The README also flags recent additions at the top of the page: diff colours, support for the Co-pilot Chat view, and a super dark variant marked as beta at that time. The manifest now lists the super dark theme as a contributed theme alongside the main one, so it is installable from the picker rather than hidden behind a setting.

Releases ship through vsce package with nodemon watching

The build story is small and concrete. The manifest has a single development dependency, `nodemon` at `^2.0.20`, and a start script that runs `nodemon --exec vsce package`. In other words, the developer workflow watches the source and re-packages the extension with the VS Code command line extension tool whenever a file changes. A build script is also defined in the manifest, though its contents are truncated in the manifest excerpt.

There is no compile step, no bundler and no framework. The theme ships as JSON, the extension manifest is JSON, and packaging is done by `vsce`. That is why `nodemon` is the only tool needed, and it is a good sign for the maintenance cost: there is no build artefact to drift from the source.

Several ignore files control what ends up in the package. `.vscodeignore` excludes development files from the shipped extension, `.npmignore` does the same for the npm side, and `.gitignore` handles the repository. A `readme.backup.md` sits next to the main `readme.md`, presumably a working copy, and `changelog.md` tracks version changes.

For version numbering, the manifest version is 7.3.6 and the release history shows three consecutive tags on 2025-10-15: 7.3.4, 7.3.5 and 7.3.6, published within about half an hour of each other. That pattern is a batch of small fixes pushed together rather than a steady stream of releases.

The repository is not archived and the last push was on 2026-07-23, so work on it has continued well past the last tagged release.

A custom licence rather than MIT or Apache

The licence situation needs attention before you adopt anything here. The project metadata records the licence as Other, described as a custom licence that GitHub cannot classify, and the repository root carries a `LICENSE.md` file rather than the usual LICENSE. The README has a License & Attribution section.

That distinction is not academic. MIT, Apache-2.0 and similar licences grant broad permission to use, modify and redistribute with minimal conditions. A custom licence can grant anything from the same to something far more restrictive, and the fact that GitHub's classifier cannot place it means the standard checkbox route is not available to you either. The README does not reproduce the licence text, so the terms have to be read in `LICENSE.md` itself.

The same caution applies to the attribution angle. A theme palette is a creative work, and the README's own attribution section asks readers to credit the author, whose name is given as Ahmad Awais, alongside links to a VS Code course site and a social account.

This is a statement about where to look rather than legal advice. The practical point is that for a colour theme the stakes are lower than for a library you link into a product, but the terms still govern whether you can fork the palette, ship it in a commercial editor distribution or publish a variant under your own name.

Against the built-in themes and against a terminal-derived scheme

The realistic alternatives are the themes already in VS Code and the other popular marketplace themes, but the more useful comparison is by mechanism rather than by name.

A terminal-derived theme takes its colours from a colour scheme and maps them onto editor tokens. The benefit is consistency with your shell, and the cost is that you cannot choose one without the other. Shades of Purple works the other way round. Its palette is fixed and hand-picked for a purpose, and the extensions settings then adjust typography and behaviour around it. If your terminal palette is a matter of taste you revisit often, a terminal-derived theme will track it better. If you want the editor to look the same every time regardless of what your shell is doing, this is the right shape.

Against the built-in dark themes, the difference is the amount of colour in the interface. A built-in theme tends toward a neutral surface with a small accent, while a theme built around a specific hue uses that hue across the chrome. That is a matter of taste, and the README is honest that the palette is the point.

The other alternative worth naming is doing nothing. VS Code ships with theme selection, and a developer with no strong preference about colour will be perfectly well served. The case for installing a theme at all is usually about legibility under long sessions, which the README states as the design goal, and about teaching and presentation use, which it also lists as a target.

Editorial conclusion

Adopt shades-of-purple-vscode if you want a fixed purple palette in VS Code and are willing to let the theme define every token, and if you want the darker variant you can switch to it from the colour theme picker. Do not adopt it if your workflow depends on a terminal colour scheme or on semantic token colours that follow your language server, and check first that the LICENSE.md terms are acceptable to you, because the project uses a custom licence rather than a standard one.

Frequently asked questions

How do I install the Shades of Purple theme in VS Code?

Open the extensions sidebar, search for `Shades of Purple Theme`, click Install, click Reload, then pick it from Code/File, Preferences, Color Theme. The extension identifier in the marketplace is `ahmadawais.shades-of-purple`.

Is there a command palette way to install shades-of-purple?

Yes. Launch Quick Open with Cmd+P on macOS or Ctrl+P on Windows and Linux, paste `ext install shades-of-purple`, press Enter, then Install and Reload. The theme is then selected from the colour theme picker.

Does shades-of-purple-vscode include a darker variant?

Yes. The package manifest contributes two themes, Shades of Purple and Shades of Purple (Super Dark), both with the `vs-dark` uiTheme, pointing at separate JSON files under the `themes/` directory.

Do I need to change my VS Code settings to use shades-of-purple?

No, the README describes the recommended settings as optional and says the theme works with an existing configuration. The settings block sets a theme and icon theme, fonts such as Operator Mono, cursor style, format on save and ESLint on save, all of which can be applied selectively.

What licence does shades-of-purple-vscode use?

The repository uses a custom licence stored in LICENSE.md, which GitHub's classifier cannot categorise as a standard licence. The README also has a License & Attribution section, so the terms have to be read there before reuse.

How do I check the syntax highlighting for my language?

The repository includes a demo folder with sample files across many languages, including JavaScript, Vue, Python, Rust, Go, GraphQL, SQL, Shell, PHP, Pug, HTML, CSS, JSON, INI, Nim, Ruby and Markdown. Opening those files in the theme shows the colours for each language.

Official sources

  1. ahmadawais/shades-of-purple-vscode on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ahmadawais-shades-of-purple-vscode.svg)](https://hysenlabs.com/projects/ahmadawais-shades-of-purple-vscode)

Was this useful?