https://github.com/nyoom-engineering/oxocarbon-vscode
https://github.com/nyoom-engineering/oxocarbon-vscode
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nyoom-engineering/oxocarbon-vscode
- Owner: nyoom-engineering
- License: mit
- Created: 2025-06-01T06:24:45.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-11T23:06:57.000Z (11 months ago)
- Last Synced: 2025-09-12T00:57:53.473Z (11 months ago)
- Language: Rust
- Size: 962 KB
- Stars: 14
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 


Oxocarbon is a High contrast accessible colorscheme inspired by IBM Carbon. It delivers class-leading readability without strain by adhering to WCAG 2.1 guidelines
## Variants
There are 9 variants to the theme, the standard theme, an OLED variant, Compatibility variants for both, Monochrom variants for each of those, and a PRINT variant
The standard theme features a consistent dark background, modeled after a focus on the editor

The OLED theme is the same as the standard theme, but optimized for OLED and MiniLED displays with a pure black background and dimmed menus

### Compatibility
The compatibility variants provide contrast for tabs and menus to enable a more consistent experience on traditional VSCode layouts
Oxocarbon Dark (Compatibility)

Oxocarbon OLED (Compatibility)

### Monochrom
A hallmark of oxocarbon is the attention to font styling alongside color, this is highlighted in the monochrom variants
Oxocarbon Monochrom

Oxocarbon OLED Monochrom (Compatibility)

### PRINT
The PRINT variant inverts Oxocarbon OLED Monochrom to create a paper-friendly light theme for printing and e-ink displays
Oxocarbon PRINT

## Features
- Comprehensive semantic highlighting
- Carefully crafted color palette for maximum contrast and readability
- Monochrome and Compatibility variants for a more traditional feel
- Support for various editor features:
- Semantic tokens
- Git decorations
- Debug & Testing
- Terminal colors
- Status bar indicators
- Editor widgets and overlays
- Bracket pair colorization
- Remote Development
- Inlay hints
- Peek view
- Printing
- Diff editor
- Jupyter Notebook support
- Quick input
- Menu styling
- Gauge indicators
- Minimap customization
- Banner styling
- Cursor Chat
### Language Support
Any language with a textmate parser and/or semantic highlghting support is supported (i.e. almost all of them)
Oxocarbon also provides handrolled syntax highlighting for:
- C
- Rust
- Go
- Lisp
- Java
- Haskell
- OCaml
- Verilog
- Markdown
- TOML
## Installation
Install using your package manager of choice: [Oxocarbon Theme - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=NyoomEngineering.oxocarbon-vscode), [Oxocarbon Theme - Open VSX Registry](https://open-vsx.org/extension/NyoomEngineering/oxocarbon-vscode)
Alternatively, a VSIX package can be found under [releases](https://github.com/nyoom-engineering/oxocarbon-vscode/releases)
### Manual
- Download repository source as ZIP
- Unpack in `~/.vscode/extensions` (VSCode) or `~/.cursor/extensions` (Cursor)
- Reload editor then set theme to either `oxocarbon` or `oxocarbon OLED`
### Additional Configuration
It is recommended to enable Semantic Parsing by default
```json
{
"editor.semanticHighlighting.enabled": true,
}
```
Rust semantic parsing is buggy so it is recommended to default back to TextMate Parsing. In your `settings.json`
```json
{
"[rust]": {
"editor.semanticHighlighting.enabled": false,
},
}
```
It is recommended to disable Bracket Pair Colorization by default and enable it on a case-by-case basis
```json
{
"editor.bracketPairColorization.enabled": false,
"[commonlisp]": {
"editor.bracketPairColorization.enabled": true,
},
}
```
(optional) Install the `Liga SFMono Nerd Font` font for the best experience
```json
{
"editor.fontFamily": "Liga SFMono Nerd Font, monospace",
"editor.fontLigatures": true,
"editor.fontSize": 14,
}
```
On HiDPI/Retina displays, you may find text rendering improved by adjusting font ant-aliasing
```json
{
"workbench.fontAliasing": "auto",
}
```
(optional) enable smooth scrolling and cursor effects
```json
{
"editor.smoothScrolling": true,
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"terminal.integrated.smoothScrolling": true,
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.enableVisualBell": true,
}
```
An opinionated `settings.json`, `keybindings.json`, and list of extensions is also provided under `assets/` in the GitHub Repository. On UNIX systems, you may clone this repository, install Cursor, and run `make install` to intall the configuration.
## Development
The following requires `Cargo`/`Rust`. Changes should be made in `oxocarbon.toml`
To generate the JSON file, run `make` in the root directory. To test the colorscheme, press `F5`
Reference the [Theme Color Reference](https://code.visualstudio.com/api/references/theme-color#editor-widget-colors) & [Semantic Highlight Guide]*https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide) for highlight groups
Additionally, add the following in your `keybindings.json` to use `cmd+shift+i` to inspect the highlight at cursor
```json
{
"key": "cmd+shift+i",
"command": "editor.action.inspectTMScopes"
}
```
## Contributing
Before contributing, its recommended to read through the [style guide](https://github.com/nyoom-engineering/oxocarbon/blob/main/docs/style-guide.md). Discussion primarily takes place on the [Nyoom Engineering Discord Server](https://discord.gg/M528tDKXRG)
## License
The project is vendored under the MIT license
# Converters (Beta)
Preliminary support for autogenerating themes from VSCode implementation(s)
Note, these are provided as-is under nightly releases
## Zed
Uses the Zed Team's `theme_importer` crate
Depends on `gpui` for the time being, so ensure dependencies
E.g. on macOS (make sure full Xcode is installed, not just command-line-tools)
```sh
# need cmake
nix shell nixpkgs#cmake nixpkgs#jq
# use app toolchain
sudo xcode-select -s /Applications/Xcode.app
# install metal toolchain
xcodebuild -downloadComponent MetalToolchain
# build gpui, translate themes, bundle
make zed
# install theme + dotfiles
make install-zed
# run zed
zed
```
## Textmate
Uses in-house `json2tm` crate, works with Textmate-compatible editors
```sh
# translate themes
make textmate
# (optional) install to Sublime user folder (macOS only)
make install-sublime
# (optional) install to Textmate (macOS only)
make install-textmate
```
Tested with; including but not limited to
- Textmate
- Sublime Text
- Atom (deprecated)
- RStudio
As the Textmate themes only affect the code window, compatibility variants are not generated
## Intellij
(not recommended)
Uses Jetbrain's colorSchemeTool
```sh
# translate themes
make intellij
# settings -> color theme -> cog -> manual import
```
### Visual Studio
Use Microsoft's [Theme Converter for Visual Studio](https://github.com/microsoft/theme-converter-for-vs), requires .NET Desktop & the Visual Studio extension development enviornment. JSON files are in `themes`