Personal VSCode theme, solid black/blue/white with the vibrant syntax highlighting of Dark Mint[license?].
[todo: editor screenshot]
Every time I post a screenshot of my theme, someone always asks me why some of the text is so dim, among other things.
I develop on a small laptop in a variety of environments, so text must be readable at very small scale (~2mm tall characters), relatively far distance (~0.5m), and in a variety of ambient light conditions.
- The thin and sharp edges of GNU Unifont reduces the effect of "bloom"[what's the technical term?]. It also has fairly recognizable letter-shapes, and generally looks pretty good.
- The white-on-black contrast makes the screen dimmer in low-light conditions, and is always quite readable.
- White is used as the default color for prose, which helps differentiate it from code.
- Dark blue is used for LSP inlay hints, the color is chosen to be dark enough for me to automatically ignore them, but bright enough to read when needed, without needing to toggle a setting.
- Other colors are chosen carefully to be easily distinguishable and meaningful, information given by the LSP (e.g. variable source) is not included.
- I run VSCode directly in firefox, because chromium does not properly handle bitmap fonts (and it's more convenient for usage)
| Name | Value | Notes |
|---|---|---|
| Foreground | #ffffff |
|
| Background | #000000 |
|
| Accent | #3f00ff |
configurable, for some reason |
| Structure | #ff4466 |
|
| Prose | #ffffff |
text in comments |
| Variable | #00cc99 |
|
| Function | #5555ff |
|
| Type | #00ccff |
also used for Rust lifetimes |
| Namespace | #8888ff |
|
| Property | #55bbdd |
|
| Constant | #ffdd00 |
string escapes are Structure |
mistakes to be fixed:
- rust:
\u{A0}renders the{A0}as string instead of symbol - rust: make lifetimes render the entire
'nameas one Variable? - kdl: something i forgot
- lua:
.and:for property access has no scopes - xml:
=for element attributes has wrong scopes (workaround usingmeta.tag.xmlscope)
Dependencies: vsce, nodejs, gnumake
Use the provided Makefile to compile the extension, and install it with your code-oss fork of choice (in my case, code-server --install-extension edark.vsix)
- Add custom text color scheme
- Replace racket-based compiler with a shell script
- Reversed bracket colors for an RGB-kinda look
- Fix inlay hint colors
- Add custom accent color support, add
tplfor building
- Add more colors, adjust syntax highlighting appearance
- Initial Release
The theme is derived from Dark Mint, which has no license file (but says MIT in the package.json so i'm going with that) but I'm hopefully using this with permission, I will relicense this if needed.