An open API service indexing awesome lists of open source software.

https://github.com/nyoom-engineering/oxocarbon-vscode


https://github.com/nyoom-engineering/oxocarbon-vscode

Last synced: 11 months ago
JSON representation

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`