Skip to content

Commit 286dbfa

Browse files
committed
✨ Add cream theme (#117)
* ✨ Add `cream` theme * 📝 Update agents * 📝 Update readme screenshots * 📝 Update readme gif * 📝 Update readme imports
1 parent ffb5777 commit 286dbfa

File tree

6 files changed

+112
-16
lines changed

6 files changed

+112
-16
lines changed

AGENTS.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This document provides a comprehensive overview of the Sprinkles VSCode theme pr
88

99
### Key Features
1010

11-
- Dark and light theme variants
11+
- Dark, light and cream theme variants
1212
- Comprehensive syntax highlighting for multiple languages
1313
- Carefully designed UI colors for VSCode interface elements
1414
- Terminal color customization
@@ -23,11 +23,13 @@ sprinkles-vscode/
2323
├── src/ # Source code
2424
│ ├── colors/ # Color palette definitions
2525
│ │ ├── index.ts # Color loader/selector
26+
│ │ ├── cream.ts # Cream theme color palette
2627
│ │ ├── dark.ts # Dark theme color palette
2728
│ │ └── light.ts # Light theme color palette
2829
│ ├── theme.ts # Theme generator (main logic)
2930
│ └── index.ts # Build script entry point
3031
├── themes/ # Generated theme JSON files (output)
32+
│ ├── sprinkles-cream.json
3133
│ ├── sprinkles-dark.json
3234
│ └── sprinkles-light.json
3335
├── images/ # Extension assets (icon)
@@ -65,7 +67,7 @@ sprinkles-vscode/
6567

6668
- Entry point for theme generation
6769
- Creates `themes/` directory if it doesn't exist
68-
- Generates both dark and light theme JSON files
70+
- Generates dark, light and cream theme JSON files
6971
- Writes formatted JSON output with proper error handling
7072

7173
#### 2. **src/theme.ts**
@@ -84,6 +86,7 @@ sprinkles-vscode/
8486
- `index.ts`: Exports color getter function based on variant
8587
- `dark.ts`: Dark theme color definitions
8688
- `light.ts`: Light theme color definitions
89+
- `cream.ts`: Cream theme color definitions
8790
- Color structure includes:
8891
- Canvas colors (UI elements)
8992
- Editor colors (code editor specific)
@@ -143,8 +146,6 @@ Uses nodemon to watch `src/` directory and rebuild on changes.
143146

144147
### Testing the Theme
145148

146-
#### Method 1: Debug Mode
147-
148149
1. Open project in VSCode
149150
2. Press `F5` or go to Run & Debug panel
150151
3. Select "Extension" configuration
@@ -154,13 +155,6 @@ Uses nodemon to watch `src/` directory and rebuild on changes.
154155
7. Select "Preferences: Color Theme"
155156
8. Choose "Sprinkles Dark" or "Sprinkles Light"
156157

157-
#### Method 2: Local Installation
158-
159-
```bash
160-
npm run publish:vsce -- --no-publish
161-
code --install-extension sprinkles-vscode-*.vsix
162-
```
163-
164158
### Code Quality
165159

166160
```bash
@@ -218,6 +212,7 @@ npx prettier --write .
218212
1. Edit color palettes:
219213
- Dark: `src/colors/dark.ts`
220214
- Light: `src/colors/light.ts`
215+
- Cream: `src/colors/cream.ts`
221216

222217
2. Rebuild:
223218

README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
</div>
1111

12-
<img src="https://res.cloudinary.com/carloscuesta/image/upload/v1747600526/sprinkles-vscode_axuznh.gif" alt="sprinkles-vscode" width="1600">
12+
<img src="https://res.cloudinary.com/carloscuesta/image/upload/v1766532574/sprinkles-vscode/sprinkles-vscode.gif" alt="sprinkles-vscode" width="1600">
1313

1414
## Install
1515

@@ -40,17 +40,22 @@ You can import the theme anywhere by installing it as a dependency:
4040
```js
4141
import dark from "sprinkles-vscode/themes/sprinkles-dark.json";
4242
import light from "sprinkles-vscode/themes/sprinkles-light.json";
43+
import cream from "sprinkles-vscode/themes/sprinkles-cream.json";
4344
```
4445

4546
## Screenshots
4647

4748
### Dark
4849

49-
<img width="1512" alt="Sprinkles Theme VSCode Dark" src="https://res.cloudinary.com/carloscuesta/image/upload/v1747600141/sprinkles-dark_xhjgjh.png">
50+
<img width="1512" alt="Sprinkles Theme VSCode Dark" src="https://res.cloudinary.com/carloscuesta/image/upload/v1766531729/sprinkles-vscode/dark.png">
5051

5152
### Light
5253

53-
<img width="1512" alt="Sprinkles Theme VSCode Light" src="https://res.cloudinary.com/carloscuesta/image/upload/v1747600141/sprinkles-light_ojcoxw.png">
54+
<img width="1512" alt="Sprinkles Theme VSCode Light" src="https://res.cloudinary.com/carloscuesta/image/upload/v1766531729/sprinkles-vscode/light.png">
55+
56+
## Cream
57+
58+
<img width="1512" alt="Sprinkles Theme VSCode Cream" src="https://res.cloudinary.com/carloscuesta/image/upload/v1766531728/sprinkles-vscode/cream.png">
5459

5560
## Colors
5661

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@
3333
"label": "Sprinkles Light",
3434
"uiTheme": "vs",
3535
"path": "./themes/sprinkles-light.json"
36+
},
37+
{
38+
"label": "Sprinkles Cream",
39+
"uiTheme": "vs",
40+
"path": "./themes/sprinkles-cream.json"
3641
}
3742
]
3843
},

src/colors/cream.ts

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
export default {
2+
canvas: {
3+
background: {
4+
default: "#f5f1e8",
5+
defaultHover: "#ebe7de",
6+
defaultActive: "#ebe7de",
7+
overlay: "#f5f1e8",
8+
},
9+
foreground: {
10+
default: "#24292f",
11+
muted: "#9DA5AE",
12+
opacity: "#9DA5AE46",
13+
highlight: "#097ADA",
14+
},
15+
invisible: "#f7f4ec00",
16+
border: {
17+
default: "#c8c4bb",
18+
inset: "#dedad1",
19+
overlay: "#dedad1",
20+
sidebar: "#42A5F5",
21+
},
22+
badge: {
23+
background: "#FF5252",
24+
foreground: "#f5f1e8",
25+
},
26+
input: {
27+
background: "#f5f1e8",
28+
},
29+
inputOption: {
30+
default: "#42A5F5",
31+
},
32+
notifications: {
33+
error: "#FF443E",
34+
info: "#42A5F5",
35+
warning: "#FFC135",
36+
},
37+
button: {
38+
primary: {
39+
background: "#f5f1e8",
40+
hover: "#ebe7de",
41+
},
42+
},
43+
},
44+
editor: {
45+
activeLineBackground: "#ebe7de",
46+
background: "#f5f1e8",
47+
foreground: "#1B1F23",
48+
cursor: "#24292f",
49+
error: "#CF222E",
50+
lineNumbers: "#c4bcb0",
51+
whiteSpace: "#dcd8cf",
52+
ruler: "#dedad1",
53+
warning: "#9A6700",
54+
tokens: {
55+
red: "#DC3838",
56+
pink: "#DE2972",
57+
green: "#8c9c00",
58+
amber: "#a66c00",
59+
default: "#24292f",
60+
teal: "#637C74",
61+
cyan: "#009fb1",
62+
blue: "#107CC0",
63+
gray: "#69788C",
64+
darkGray: "#9ea8b4",
65+
softGreen: "#C3E88D",
66+
softRed: "#D73B5B",
67+
softViolet: "#9B59C9",
68+
},
69+
gutter: {
70+
added: "#4ac26b",
71+
deleted: "#ff8182",
72+
modified: "#eac54f",
73+
},
74+
},
75+
terminal: {
76+
background: "#f5f1e8",
77+
black: "#252525",
78+
blue: "#42A5F5",
79+
cyan: "#00ACC1",
80+
foreground: "#B0BDC4",
81+
green: "#C3D82C",
82+
magenta: "#D81B60",
83+
red: "#FF443E",
84+
white: "#faf8f3",
85+
yellow: "#FFC135",
86+
},
87+
} as const;

src/colors/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
import dark from "./dark";
22
import light from "./light";
3+
import cream from "./cream";
34

4-
export type Variant = "dark" | "light";
5+
export type Variant = "dark" | "light" | "cream";
56

6-
type Colors = typeof dark | typeof light;
7+
type Colors = typeof dark | typeof light | typeof cream;
78

89
const getColors = (theme: Variant): Colors => {
910
switch (theme) {
1011
case "dark":
1112
return dark;
1213
case "light":
1314
return light;
15+
case "cream":
16+
return cream;
1417
default:
1518
throw Error(`Colors missing for variant: ${theme}`);
1619
}

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import theme from "./theme";
2727

2828
await writeTheme("sprinkles-dark", theme("dark"));
2929
await writeTheme("sprinkles-light", theme("light"));
30+
await writeTheme("sprinkles-cream", theme("cream"));
3031
} catch (error) {
3132
if (error instanceof Error) {
3233
throw Error(error.message);

0 commit comments

Comments
 (0)