Skip to content

Latest commit

 

History

History
143 lines (113 loc) · 6.82 KB

README.md

File metadata and controls

143 lines (113 loc) · 6.82 KB

Pink Candy Banner Pink Candy Banner


A vivid colour scheme with a pink accent, in both light and dark variants. Includes editor/syntax highlighting as well as full IDE and workbench theming.


New: The theme now has a warm variant of the dark theme. This variant was heavily inspired by the colour palette of Gruvbox, but with a number of tweaks to make it more readable and to support the larger number of syntax colours this theme employs.


Table of Contents

  1. Screenshots
  2. Overview
  3. Language Specific Styles
  4. Configuration Options
  5. Overriding Syntax Styles
  6. Contributing
  7. License

Screenshots

Example 1

Editing a markdown file.

Example 2

Debugging an application.

Example 3

Configuring some settings.

Example 4

Viewing a git diff.

Comparison 1

Comparison 2

Comparison 3

Comparisons between the dark and dark-warm variants.

Overview

This theme supports both 'Semantic' and 'Textmate' highlighting, so it should work well with any langauge extension. More specifically however, this theme has been hand-tweaked and tested on:

  • Rust
  • C#
  • Powershell
  • HTML/CSS/SCSS
  • Javascript (inc. JSX)
  • Typescript
  • Markdown
  • XML
  • Json
  • Yaml
  • Toml
  • INI
  • Backus–Naur Form

This theme also supports styling for these extensions:

⚠ VS Code v1.66 (April 2022) changed a default setting which affects the colours in the terminal. The Minimum Contrast Ratio (terminal.integrated.minimumContrastRatio) modifies the colours in the terminal to increase the contrast ratios and improve readability of certain colours. By default, this is set to a value of 4.5 which has a slight effect on the colours of this theme. If you wish to disable this feature, you can set the setting to a value of 1 instead.

Language Specific Styles

This theme, unlike many others, takes full advantage of semantic scopes that each language extension provides. This allows the theme to suit its appearance to the specific language and highlight/underline/embolden syntax that otherwise would not stand out in other themes. Here are some of the things which stand out in this theme:

Rust

See highlighting examples here.

  • References, and functions that take references, are italicised.
  • Mutability, and functions which mutate, are emboldened.
  • Unsafe functions use a different bright colour and are underlined.
  • Attributes are distinctly coloured.
  • Lifetimes are coloured like traits.
  • The try ? operator is coloured like a keyword.
  • Format specifiers (e.g. {x:?}) are distinctly coloured.

C#

See highlighting examples here.

  • Static functions, classes and fields are underlined.
  • Properties are emboldened.
  • String interpolation delimiters are distinctly coloured.
  • Xml doc comments are syntax highlighted inside.

Powershell

See highlighting examples here.

  • Comparison and logical operators, like -eq and -not, are coloured like a keyword.
  • Variables are distinctly coloured.
  • Parameter declarations (attributes) are distinctly coloured.
  • Object members are distinctly coloured.
  • String interpolation delimiters are distinctly coloured.

HTML/CSS/SCSS

See highlighting examples here.

  • IDs, Classes, and other attribute values have different colours.
  • Attribute keys are italicised.
  • Inline CSS styles have a unique colour.
  • Urls are uniquely coloured.
  • Units have the same colour as number literals.
  • SCSS-specific characters are correctly coloured.

Javascript

See highlighting examples here.

  • String interpolation delimiters are distinctly coloured.
  • Regex expressions are distinctly coloured.
  • Static properties have a unique colour.

JSX (React)

See highlighting examples here.

  • Element attributes have a unique colour.
  • Embedded code delimiters {...} are distinctly coloured and emboldened.

Typescript

See highlighting examples here.

  • String interpolation delimiters are distinctly coloured.
  • Static functions and properties are underlined.

Markup Formats

For Markdown, XML, Json, Yaml, Toml, INI and Bnf, see highlighting examples here.

Configuration Options

This theme has a number of configuration options which make it easy to tweak the theme to your liking. See Settings > Extensions > Pink Candy Theme for a full list of options.

See Configuration.md for a visual illustration of all of the options.

There is also a Pink Candy: Restore default configuration command which resets all of the options back to their defaults.

Note: Because of a limitation of VS Code, the window must be reloaded in order to see the effects of a change to a theme. A notification will pop-up whenever a change is detected to prompt you.

Overriding Syntax Styles

See Overriding_Syntax.md for a step-by-step guide on how to override syntax highlighting styles to your liking.

Extensions

The Git Graph and Todo Tree extensions do not provide themable colours. As of the time of this writing, if you want these extensions to fit in with this theme, go to Extensions.md and follow the instructions. I am in the process of creating a pull request to add themable colour support to the Git Graph extension, so hopefully in the future this workaround will not be necessary.

Contributing

I have tested this theme on languages I am proficient in, and I hope that you will find the syntax highlighting in these languages pleasing. However for many languages, I am not aware of their intricacies and I may not have the right sense for how the syntax should look.

If something looks off in a language you're using, feel free to open an Issue so that we can improve it for everyone.

License

This project is licensed under the MIT license - see LICENSE for details.