Documentation Index
Fetch the complete documentation index at: https://mintlify.com/kashsuks/rode/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Rode supports both built-in themes and custom color schemes. Themes control the editor’s color palette, including background colors, text colors, syntax highlighting, and UI elements.Built-in Themes
Rode includes six carefully crafted themes inspired by popular color schemes:Catppuccin Mocha
The default theme. A warm, pastel color palette with excellent contrast.
Gruvbox Dark
Retro groove color scheme with warm, earthy tones.
GitHub Dark
GitHub’s dark theme with cool blue accents.
Nord
Arctic, north-bluish color palette.
TokyoNight
A dark theme inspired by Tokyo’s night skyline.
Ayu Dark
A simple theme with bright colors on a dark background.
src/theme.rs:288-295
Custom Themes
You can create a completely custom theme by creating atheme.lua file in your configuration directory and setting theme_name = "Custom (theme.lua)" in your preferences.
Theme File Location
Color Palette
Custom themes use the Catppuccin color naming convention with 26 colors:src/config/theme_manager.rs:69-109
Color Mapping
Rode maps the 26-color palette to specific UI elements and syntax highlighting:UI Elements
Background Colors
Background Colors
base→ Editor backgroundmantle→ Sidebar, status bar, tab bar backgroundcrust→ Tab bar backgroundsurface0→ Active tab, drag handlesurface1→ Hover statesurface2→ Pressed state
src/theme.rs:255-259Text Colors
Text Colors
text→ Primary text (main content)subtext1→ Secondary textsubtext0→ Muted textoverlay2→ Dimmed textoverlay1→ Placeholder text
src/theme.rs:260Borders & Effects
Borders & Effects
surface1→ Subtle borderssurface0→ Very subtle bordersblue→ Selection background (30% opacity)crust→ Dark shadow (50% opacity)surface2→ Light shadow (8% opacity)
src/theme.rs:261-264Syntax Highlighting
Colors are mapped to code elements using the syntect highlighting engine:- Keywords & Control
- Functions
- Types & Classes
- Strings
- Numbers & Constants
- Comments
Color:
mauve (purple)Applies to:keyword,keyword.controlkeyword.operator.logicalstorage.type,storage.modifier
fn, if, else, return, let, mutSource: src/theme.rs:122Complete Syntax Scope Mapping
Complete Syntax Scope Mapping
src/theme.rs:118-172Theme Structure
Themes are defined in Rust as aThemeColors struct with 26 color fields:
src/config/theme_manager.rs:5-66
Lua Parser
The theme parser reads Lua files and extracts color values:src/config/theme_manager.rs:111-162
Activating Themes
To activate a theme, set thetheme_name field in your ~/.config/rode/preferences.lua:
Creating a Theme
Theme Loading Logic
Rode loads themes on startup with this priority:- If
theme_name == "Custom (theme.lua)", load from~/.config/rode/theme.lua - If
theme_namematches a built-in theme, use that theme - Otherwise, fall back to “Catppuccin Mocha”
Theme Loading Implementation
Theme Loading Implementation
src/app.rs:115-133Examples
Solarized Dark Inspired
Solarized Dark Inspired
High Contrast
High Contrast
Related
Preferences
Configure tab size, indentation, and theme selection
Keybindings
Learn about keyboard shortcuts