Skip to content

Commit 2fe0d2b

Browse files
authored
Merge pull request #3 from jack5github/0.0.3
Release 0.0.3
2 parents 1331415 + 3c0be5b commit 2fe0d2b

File tree

11 files changed

+555
-1739
lines changed

11 files changed

+555
-1739
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.vscode/settings.json
2+
rnd/
23
*.vsix

.vscodeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.github/**
22
.vscode/**
33
docs/**
4+
rnd/**
45
.gitignore
56
CHANGELOG.md
67
rnd-colours.json

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Changelog
22

3+
## 0.0.3 - 2026-03-17
4+
5+
### Added
6+
7+
- CSS: Value semantic colour `constant.other.color`
8+
- Ctrl+hover colour
9+
- Cursor colours
10+
- Debugging and Outline colours (status bar, debug toolbar and sidebar variables)
11+
- Editor area colours (dropped editor, empty editor and editor borders)
12+
- Elm, Java, Lua, SourcePawn and TypeScript support
13+
- Error Lens extension support, adding error, warning and info colours
14+
- Inactive title bar colour
15+
- List, input, checkbox and dropdown background, foreground and placeholder colours (includes Settings view)
16+
- Markdown preview colours for preformatted text and blockquotes
17+
- Overview ruler colours (seen under vertical scrollbar)
18+
- Python: Class semantic colours `variable.language.special.self`, `variable.parameter.function.language.special.cls` and `variable.language.special.cls`
19+
- Python: Function semantic colour `meta.function-call.generic`
20+
- Python: Keyword semantic colours `constant.character.format.placeholder`, `punctuation.definition.arguments` and `punctuation.definition.dict`
21+
- Scroll bar colours
22+
- Tab bar background colour when tabs are not visible
23+
- Title bar and icon colours
24+
- XML: Keyword semantic colour `meta.tag.preprocessor`
25+
- Widget background, shadow and border colours
26+
- Whitespace colour
27+
28+
### Changed
29+
30+
- `.gitignore` and `.vscodeignore` changes
31+
- Markdown: `markup.underline.link` changed from function semantic colour to one adjacent to other link colours
32+
- Python: `support.variable.magic` changed from keyword to constant variable semantic colour
33+
- Python: `punctuation.definition.arguments` changed from function to keyword semantic colour
34+
35+
### Removed
36+
37+
- `meta.member.access` colour
38+
339
## 0.0.2 - 2026-03-12
440

541
### Added

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
- Dark IDE theme
88
- Purposefully-chosen colours and shades
99
- Colour-blind friendly (protanopia)
10-
- Supports C#, HTML, JavaScript, JSON, Markdown, Python, Robot Framework, YAML [and more](docs/languages.md)
10+
- Supports C#, HTML+CSS+JS/TS, Java, JSON, Markdown, Python, Robot Framework, YAML [and more](docs/languages.md)
11+
- Supports [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens) extension
1112

1213
## Installation
1314

docs/colours.md

Lines changed: 353 additions & 17 deletions
Large diffs are not rendered by default.

docs/icon.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/languages.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@
22

33
- **[C#](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp)**
44
- **CSS**
5+
- **[Elm](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)**
56
- **[GitHub Actions](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-github-actions)**
67
- **HTML**
78
- **Ignore**
9+
- **Java**
810
- **JavaScript**
911
- **JSON**
12+
- **Lua**
1013
- **[Markdown](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)**
1114
- **Properties**
1215
- **[Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)**
16+
- **Regular expressions**
1317
- **[Robot Framework](https://marketplace.visualstudio.com/items?itemName=d-biehl.robotcode)**
18+
- **[SourcePawn](https://marketplace.visualstudio.com/items?itemName=Sarrus.sourcepawn-vscode)**
1419
- **[TOML](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml)**
20+
- **TypeScript**
1521
- **XML**
1622
- **YAML**

docs/philosophy.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
- Cyan (green-blue, `#00ffff`) is commonly mixed into colours that would otherwise be shades of black, grey or white.
44
- **Reason:** On low-power screens, particularly laptop screens, purely grey shades look distractingly dull, and through testing, only reducing the red channel makes them look more natural.
5-
- Orange is used as the primary accent colour, due it being the creator (Jack5)'s favourite colour.
5+
- Orange is used as the primary accent colour, due it being the creator (Jack Stringer)'s favourite colour.
66
- The chosen base shade, `#ff4200`, was voted on by his YouTube fans as being the most appealing orange.
77
- Alternate versions of this theme that use different accent colours may be created in the future, provided those colours are similarly voted on.
88
- This theme must be useable by those with protanopia colour-blindness.
@@ -13,32 +13,43 @@
1313

1414
- **Functions are blue.**
1515
- Functions represent blocks of code, executed to increase the stability or scope of a program. Blue is a colour associated with cleanliness and stability, which functions should strive for.
16-
- In Markdown, [links]() are treated the same.
16+
- *Exception:* In Markdown, [links](#) are treated the same, except for URL components, which are given the accent-defined link colour.
1717
- **Variables are yellow.**
18-
- Variables represent pieces of data that come together to form a picture of some aspect of a program. Yellow is a colour associated with creativity, but also danger, which is true for any use of variables.
18+
- Variables represent pieces of data that come together to form a picture of some aspect of a program. Yellow is a colour associated with creativity, but also danger (a trait inherited from orange), which is true for any use of variables.
1919
- In Markdown, `single-line code blocks` are treated the same, as they are most commonly referring to a variable name and must be differentiated from normal text.
20-
- For variables that are uppercase constants, their hue is shifted towards green, the colour of numbers.
20+
- *Exception:* For variables that are constants, their hue is shifted towards green, the colour of constant values.
2121
- **Strings are white.**
22-
- Strings represent text that is either displayed to the user or used in processing. In dark mode, this theme uses shades of white for text, as do documents and terminals, so strings should be white too.
22+
- Strings represent text that is either displayed to the user or used in processing. In dark mode, themes uses shades of white for text, as do documents and terminals, so strings should remain close to white for consistency.
23+
- *Exceptions:*
24+
- Escape characters are given the constant value colour to distinguish them from normal string characters.
25+
- In regular expressions, positional markers (e.g. `^` and `$`) are also given the constant value colour, as they are theoretically escape characters that represent empty strings.
26+
- In regular expressions, modifiers (e.g. `+`, `?` and `/g`) are given the control flow colour, as they are reserved characters that modify the behaviour of the regular expression.
2327
- **Numbers and constant values are green.**
2428
- Numbers and constant values represent data that quantifies aspects of a program. Green is associated with wealth and growth, which is often true for number usage, constants and iteratives respectively.
25-
- In Markdown, *italics* are treated the same, due to the creator (Jack5) using it to emphasise approximate names and entities, and the variable colour being in use by single-line code blocks.
29+
- In Markdown, *italics* are treated the same, due to the creator (Jack Stringer) using it to emphasise approximate names and entities, and due to the variable colour already being used by single-line code blocks.
2630
- **Classes are red.**
2731
- Classes represent groups of functions and variables that form a rigid structure, inherited in many places throughout a program. Red is a colour associated with strength and anger, representing the power of classes and the maintenance pains caused by inheritance.
28-
- In Markdown, **bold text** is treated the same, due to the creator (Jack5) using it to emphasise proven-true names and entities.
32+
- The red is not too dark, in order to differentiate itself from error red.
33+
- In Markdown, **bold text** is treated the same, due to the creator (Jack Stringer) using it to emphasise proven-true names and entities.
2934
- **Keywords and control flow are pink.**
3035
- Keywords and control flow direct the execution of a program. They lie somewhere between functions (blue) and classes (red), being rigidly-defined functions themselves.
31-
- In Markdown, **Headings** are treated the same.
36+
- In Markdown, # Headings are treated the same.
37+
- *Exception:* Function parentheses are directly tied to their associated functions. In languages that support these being targeted with separate tokens, they are given the function colour, otherwise they use the control flow colour.
3238
- **Types are orange.**
3339
- Types objectify variables, rigidly defining their scope and usage. They lie somewhere between variables (yellow) and classes (red), being rigidly-defined variables themselves.
34-
- **Imports are cyan.**
35-
- Imports represent external code that is being brought into a program. Imports are essentially functionality (blue) and constants (yellow) being brought in from other sources, cyan being the logical mix of the two.
36-
- *(This isn't possible in Python due to the Python extension's style of defining tokens. This may be implemented in other languages in the future.)*
40+
- The orange is not too saturated, in order to differentiate itself from warning orange.
41+
42+
## Discarded
43+
44+
- Imports represent external code that is being brought into a program. They essentially comprise functionality (blue) and constants (yellow) being brought in from other sources, cyan being the logical mix of the two. This isn't possible to implement due to many languages not having tokens for imports, so the variable colour is used instead.
3745

3846
# Text Style Philosophy
3947

48+
If a language does not provide the tokens needed to make the below distinctions, normal text is used instead.
49+
4050
- **Definitions are bold.**
4151
- Function and class definitions are important bodies of work in a program, so their names should be bold only in said definitions.
4252
- In Markdown, **level 1 headings** are treated the same.
4353
- **Single-line comments are italic.**
44-
- Single-line comments are used to briefly explain the purpose of a line of code. As they are tangential thoughts of the developer, they should be italicised. The exception to this is multi-line comments, which are often detailed and need to be read carefully.
54+
- Single-line comments are used to briefly explain the purpose of a line of code. As they are tangential thoughts of the developer, they should be italicised.
55+
- *Exception:* Multi-line comments are often detailed and need to be read carefully, so they should use normal text.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"name": "Jack Stringer"
77
},
88
"icon": "icon.png",
9-
"version": "0.0.2",
9+
"version": "0.0.3",
1010
"repository": {
1111
"url": "https://github.com/jack5github/oblique-vscode-theme"
1212
},

0 commit comments

Comments
 (0)