# Anatomy of a Light Theme: Spring

> Anatomy of Spring, a light IDE theme: mint air and new grass for the frame, foxglove keywords, crocus violet values and fern green members, a tulip bed in code.

- URL: https://codigrate.com/blog/anatomy-of-the-spring-theme
- Published: 2026-10-13
- Category: Inspiration
- Theme: [Spring](https://codigrate.com/theme?product=spring)
- Publisher: Codigrate (https://codigrate.com)

Tulips open and close by themselves. On a warm morning the petals spread wide, and when the air cools
in the evening they fold back into a cup. Nothing is pulling them. The inner face of each petal grows a
little faster when it is warm and the outer face grows a little faster when it is cool, so the petal
bends one way in the sun and the other way at night. Crocus flowers do the same, which is why a lawn
full of crocus looks closed and grey on a cold April morning and bright purple an hour later. A
garden in spring is moving all day, just slowly enough that you only notice it when you come back.

Codigrate's Spring theme is that garden late in the morning, when the beds are open, the grass is new
and the sky is clear. What follows takes it apart color by color. It is the tenth nature theme in this
series after [Aurora Borealis](https://codigrate.com/blog/anatomy-of-the-aurora-borealis-theme),
[Everest](https://codigrate.com/blog/anatomy-of-the-everest-theme), [Sequoia](https://codigrate.com/blog/anatomy-of-the-sequoia-theme),
[Autumn](https://codigrate.com/blog/anatomy-of-the-autumn-theme), [Roraima](https://codigrate.com/blog/anatomy-of-the-roraima-theme),
[Sakura](https://codigrate.com/blog/anatomy-of-the-sakura-theme), [Ocean](https://codigrate.com/blog/anatomy-of-the-ocean-theme),
[Salda](https://codigrate.com/blog/anatomy-of-the-salda-theme) and [Reynisfjara](https://codigrate.com/blog/anatomy-of-the-reynisfjara-theme),
and the sixth premium theme after Ocean, Salda, [Prague](https://codigrate.com/blog/anatomy-of-the-prague-theme),
[Sydney](https://codigrate.com/blog/anatomy-of-the-sydney-theme) and Reynisfjara. Sakura is spring too, but one tree in
bloom, pale petals and deep rose; Spring is the whole bed, with the grass around it.

## A Garden In April

The theme's own description sets the scene: a spring garden in full bloom, from tulip beds and crocus
to the first new grass under a clear sky. The palette names walk through it. Daisy White, Mint Air and
New Grass are the light and the lawn. Garden Hedge, Clover Green, Fern Frond, Deep Meadow, Shaded Leaf,
Dark Moss and Dusty Sage are the leaves, from the first shoot to the shade under the hedge. Robin Egg,
Cornflower, Clear Sky and Deep Sky are the blues. Crocus Violet, Lilac Bloom, Rosebud, Foxglove and Tulip
Red are the flowers, and Sprout Green and Dandelion keep the small signals of the interface.

The interface leans on the two halves of the garden. A deep meadow green
[#356220](https://codigrate.com/tools/color/356220) is the accent for links and changed settings, and a rosebud pink
[#DC8395](https://codigrate.com/tools/color/DC8395) is its second accent, the color the progress bar fills with. In the
code the same split runs through every line: foxglove [#BA6173](https://codigrate.com/tools/color/BA6173) and crocus violet
[#8C68AC](https://codigrate.com/tools/color/8C68AC) for the flowers, fern frond [#3C8F63](https://codigrate.com/tools/color/3C8F63) and clover
[#55956B](https://codigrate.com/tools/color/55956B) for the leaves.

## The Harmony: Flowers Across The Grass

On a wheel, Spring is the oldest trick in a garden: flowers set against their own leaves. The greens
gather between 91 and 148 degrees: every background, the frame, the interface text, the caret, and in
the code the fields, methods, static members, annotations, tags and globals. Straight across the wheel
from them sit the flowers that matter most: the foxglove keywords at 348 degrees and a rose for
attributes at 0.

What keeps it from being a plain [complementary](https://codigrate.com/blog/harmony-in-opposites) pair is that the flowers
do not stop there. The bed spreads around the far side of the wheel. Crocus violet at 272 carries the
strings and numbers, cornflower at 213 the local variables and robin egg at 195 the parameters. So the
green half stays whole and the other half is planted with every flower the garden has, the way a real
border mixes tulips, crocus and forget me nots against one hedge.

The flowers are not loud. Almost every color in the code sits between 27 and 41 percent
[saturation](https://codigrate.com/blog/saturation), soft enough for a light page, and the only exception is a leaf: the
sprout green of annotations at about 60 percent, the brightest green on the screen, like the first
shoot through the soil.

## Backgrounds, From Lawn To Petal

Spring's backgrounds are four light surfaces, and the further from the code, the greener they get:

- Input [#FFFFFF](https://codigrate.com/tools/color/FFFFFF), daisy white, for search fields and dialogs.
- Editor [#FAFFF9](https://codigrate.com/tools/color/FAFFF9), the page the code is written on, a near white with a breath of
  green.
- Window [#F4FFF1](https://codigrate.com/tools/color/F4FFF1), mint air, for the tool windows and panels.
- Surface [#C8EAB9](https://codigrate.com/tools/color/C8EAB9), new grass, the outer frame the whole window sits in.

The first three are so pale that they read as white; the frame is the only real color, a green at about
54 percent saturation and 82 percent lightness. That is the opposite of how most light themes work, where
the frame is a neutral grey and any color lives in the code. Here the lawn goes around the edge and the
page stays clean, so the eye always lands on the code first. A selected row in the project tree takes a
light leaf [#D9F1CD](https://codigrate.com/tools/color/D9F1CD) edged in garden hedge [#7BA566](https://codigrate.com/tools/color/7BA566), and
hovering over a row lights it the same pale green.

The flowers come in where the window tells you something. The active editor tab sits on a lilac
[#F4EEFB](https://codigrate.com/tools/color/F4EEFB) with a crocus underline [#B196D3](https://codigrate.com/tools/color/B196D3), and search
matches in the interface glow lilac bloom [#D5B3F4](https://codigrate.com/tools/color/D5B3F4). Selected text in the editor
turns the pink of a tulip petal held up to the light, [#F4E1E7](https://codigrate.com/tools/color/F4E1E7), the one pink in
the backgrounds. Search results in the code are a foxglove magenta [#A62C96](https://codigrate.com/tools/color/A62C96) on a
pale pink [#FBEBF9](https://codigrate.com/tools/color/FBEBF9) edged in [#631259](https://codigrate.com/tools/color/631259). And the word under the
caret is marked by the sky where it is read, a deep teal [#054F5C](https://codigrate.com/tools/color/054F5C) on a pale blue
[#D5F1F6](https://codigrate.com/tools/color/D5F1F6), and by a rose where it is written to, a deep wine
[#590325](https://codigrate.com/tools/color/590325) on [#F8DAE6](https://codigrate.com/tools/color/F8DAE6).

## One Foreground, Several Voices

Code is written in a dark moss green [#142010](https://codigrate.com/tools/color/142010) at about 16.7:1 against the editor,
so dark that it reads as black until you set it next to real black. Class names, function names and
constants keep a deep evergreen [#102020](https://codigrate.com/tools/color/102020) at the same strength. The interface
around it uses dark moss [#122C07](https://codigrate.com/tools/color/122C07), and one level down a shaded leaf
[#49613F](https://codigrate.com/tools/color/49613F) for hints and secondary labels at about 6.8:1.

Comments are a dry grass olive [#919063](https://codigrate.com/tools/color/919063), set in italics, at about 3.3:1. That is
quieter than the 4.5:1 the [readability post](https://codigrate.com/blog/introduction-to-readability) suggests for body
text, and it is on purpose: on a light page a comment in the same weight as the code competes with it,
so Spring lets the notes fade back like last year's straw under the new grass. They stay readable when
you look for them and out of the way when you do not.

The gutter is the hedge. Line numbers are a soft leaf green [#88B374](https://codigrate.com/tools/color/88B374), light enough
to sit in the margin without drawing the eye, the number on the current line deepens to a sprout green
[#4FA42A](https://codigrate.com/tools/color/4FA42A), and the caret is a garden green [#62954B](https://codigrate.com/tools/color/62954B) over a
pale green current row [#E6F8DA](https://codigrate.com/tools/color/E6F8DA).

## Syntax: Tulips, Crocus And Clover

Open a file and the bed fills in:

- Keywords in bold foxglove [#BA6173](https://codigrate.com/tools/color/BA6173), the flower that marks every block, the
  first thing you see in a file.
- Strings, numbers and escapes in crocus violet [#8C68AC](https://codigrate.com/tools/color/8C68AC).
- Local variables in cornflower [#527FB6](https://codigrate.com/tools/color/527FB6), and parameters in a lighter robin egg
  [#5E9AAE](https://codigrate.com/tools/color/5E9AAE), the two blues of the sky over the garden.
- Instance fields and methods in fern frond [#3C8F63](https://codigrate.com/tools/color/3C8F63), and JavaScript member
  functions in a deeper evergreen [#156E3F](https://codigrate.com/tools/color/156E3F).
- Static fields and methods in a younger leaf green [#6F934E](https://codigrate.com/tools/color/6F934E), warmer than the fern.
- Annotations in sprout green [#4D9A27](https://codigrate.com/tools/color/4D9A27), the brightest green in the code.
- HTML and XML tags in clover [#55956B](https://codigrate.com/tools/color/55956B), and attributes in a rose
  [#BD7070](https://codigrate.com/tools/color/BD7070), a flower on every stem.
- Global variables in a dusty sage [#688776](https://codigrate.com/tools/color/688776), the quietest green, and inline hints
  in a plain grey [#545454](https://codigrate.com/tools/color/545454).

With the names left a deep green, a Spring file reads like a bed seen from the path. The leaves are the
structure, everything that belongs to an object, and the flowers come up where the code makes a
decision or brings something in: a keyword, a value, a variable.

## The Final Product

Here is Spring put back together. The new grass frames a JetBrains IDE and Sublime Text, Slack and
Ghostty keep the same mint light around the chat and the shell, and in Rhino the viewports turn the
pale green of a spring morning, with foxglove marking the active tab.

<!--SHOTS-START-->
<div class="post-shots">
<figure><img src="https://codigrate.com/assets/themes/nature/spring-theme/jetbrains-screenshot-1.webp" alt="Spring theme in a JetBrains IDE" width="1200" height="787" loading="lazy"><figcaption>JetBrains</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/nature/spring-theme/sublime-screenshot-1.webp" alt="Spring theme in Sublime Text" width="1200" height="787" loading="lazy"><figcaption>Sublime Text</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/nature/spring-theme/slack-screenshot-1.webp" alt="Spring theme in Slack" width="1200" height="779" loading="lazy"><figcaption>Slack</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/nature/spring-theme/ghostty-screenshot-1.webp" alt="Spring theme in Ghostty" width="1200" height="779" loading="lazy"><figcaption>Ghostty</figcaption></figure>
<figure><img src="https://codigrate.com/assets/themes/nature/spring-theme/rhino-screenshot-1.webp" alt="Spring theme in Rhino" width="1200" height="787" loading="lazy"><figcaption>Rhino</figcaption></figure>
</div>
<!--SHOTS-END-->

## Reading It Back

Taken apart, Spring is a garden held in two halves. The frame is the lawn, the only real green in the
backgrounds, and the page inside it stays almost white so the code always comes first. The leaves of
the garden take the structure of a file, the flowers take the moments that matter, and the brightest
marks are kept for the things you are looking for: the lilac of a match, the petal pink of a selection
and the sky blue on the word under the caret.

It is a theme for bright rooms and morning work, light without being glaring and green without being
loud. Spring is a premium theme: a paid plugin for JetBrains IDEs on the JetBrains Marketplace and part
of the All In One bundle, a one time purchase for Sublime Text, Ghostty, iTerm2, macOS Terminal, Slack
and Rhino from the Codigrate store, and a LINE theme in the LINE theme shop, all from its
[theme page](https://codigrate.com/theme?product=spring).

## Frequently Asked Questions

### What is the Spring theme?

Spring is one of Codigrate's premium light nature themes, built around a garden in April: tulip beds, crocus in the grass and the first new leaves under a clear sky. The frame of the editor is the lawn, a soft new grass green, and the code is written on an almost white page with a breath of green in it. The flowers carry the syntax: foxglove pink keywords, crocus violet strings and numbers, cornflower and robin egg blue variables, with the leaves of the garden in fern and clover greens for everything that belongs to an object.

### Why is the frame of Spring green?

Because a garden is. Most light themes keep their frame a pale grey or a near white, and Spring keeps its editor that way too. Only the outer frame, the strip the whole window sits in, is a real green: new grass at about 54 percent saturation. It frames the page the way a lawn frames a flower bed, and it means the code area is the lightest and calmest place on the screen, with the color around it rather than under it.

### How are the syntax colors chosen in Spring?

They split the garden into leaves and flowers. The leaves sit together on the green side of the wheel, between 91 and 148 degrees: fern green fields and methods, a younger leaf green for static members, sprout green annotations, clover tags and a sage for globals. The flowers sit across the wheel from them: foxglove keywords at 348 degrees, a rose for attributes, crocus violet values at 272, and the two blues of the sky, cornflower local variables and robin egg parameters. Keywords are set in bold, so the structure of a file stands out first.

### Where can I get the Spring theme?

Spring is a premium theme. On JetBrains IDEs it is a paid plugin on the JetBrains Marketplace and is also part of the All In One bundle. For Sublime Text, Ghostty, iTerm2, macOS Terminal, Slack and Rhino it is a one time purchase from the Codigrate store, delivered as a download, and the LINE version is sold in the LINE theme shop. All of them are linked from the Spring theme page.
