Welcome to Snow CLI! Agentic coding in your terminal.
A theme defines the appearance of the Snow CLI terminal interface, including color schemes, code highlighting styles, menu display effects, etc. Through theme settings, you can:
- Select preset theme schemes
- Customize colors to suit personal preferences
- Adjust interface display mode (Simple/Standard)
- Create and save your own theme colors
- Launch Snow CLI
- Select "Theme Settings" option in main menu
- Enter theme settings interface
Simple mode is an independent interface display option that can simplify terminal interface display and reduce visual distractions.
- Standard Mode: Full display of all interface elements (borders, decorations, detailed information)
- Simple Mode: Simplified interface display, hiding non-essential elements, focusing on content itself
- In the theme settings interface, the first option is "Simple Mode"
- Press Enter key to toggle status after selection
- Interface displays current status:
Simple Mode EnabledSimple Mode Disabled
- Simple mode toggle takes effect immediately
- Small screen terminals: Reduce space usage
- Focused work: Reduce visual distractions
- Performance optimization: Reduce rendering overhead
- Screenshot demos: Cleaner and clearer interface
Snow CLI provides 6 carefully designed preset themes, each with a unique color scheme.
Features: Snow CLI's default theme, classic dark color scheme
Use Cases:
- Long coding sessions
- Low-light environments
- Eye protection needs
Color Characteristics:
- Dark background
- Soft text colors
- Clear syntax highlighting
- Comfortable contrast
Features: Bright light theme, suitable for daytime use
Use Cases:
- Use in bright environments
- Daytime work hours
- Personal preference for light interfaces
Color Characteristics:
- Light background
- Dark text
- High contrast
- Clear and easy to read
Features: Mimics GitHub's dark theme style
Use Cases:
- GitHub users
- Developers who like GitHub colors
- Need familiar visual experience
Color Characteristics:
- GitHub-style colors
- Professional code highlighting
- Comfortable dark background
Features: Rich and colorful color scheme
Use Cases:
- Like bright colors
- Need to distinguish different types of information
- Personalization needs
Color Characteristics:
- Colorful highlighting
- Vivid visual effects
- Active atmosphere
Features: Dark version of the famous Solarized color scheme
Use Cases:
- Solarized enthusiasts
- Need scientific color scheme
- Long reading of code
Color Characteristics:
- Scientifically designed colors
- Comfortable contrast
- Eye-friendly color scheme
Features: Cool-toned theme inspired by Nord color scheme
Use Cases:
- Like cool tones
- Pursuing modern feel
- Unified color experience
Color Characteristics:
- Nordic-style colors
- Cool tones as main
- Elegant and modern
- In the theme settings interface, use ↑/↓ arrow keys to browse theme list
- When cursor moves to a theme, the interface immediately previews that theme's effects
- Preview area displays code comparison examples, showing the theme's syntax highlighting effects
- Bottom displays description information of currently selected theme
Preview Features:
- No need to press Enter, cursor movement provides preview
- Real-time display of theme effects
- Code Diff examples show syntax highlighting
- Helps quickly choose suitable theme
- Browse to the theme you want to use
- Press Enter key to confirm application
- Theme configuration automatically saves to
~/.snow/theme.json - Theme takes effect immediately and applies to entire interface
- Press ESC key: Cancel changes, restore theme from before entering settings
- Select "Return" option: Also restores original theme
In addition to preset themes, you can create completely custom theme colors.
- Select "Edit Custom Theme..." option in theme settings interface
- Press Enter to enter custom theme editor
- Editor displays all customizable color options
Custom theme includes 16 color options, divided into multiple categories:
-
background - Background color
- Main interface background
- Recommended to use dark or light base tone
-
text - Text color
- Main text content color
- Needs good contrast with background
-
border - Border color
- UI borders and separators
- Usually slightly lighter or darker than background
-
diffAdded - Added line background color
- Background for code addition lines
- Recommended to use green tones
-
diffRemoved - Deleted line background color
- Background for code deletion lines
- Recommended to use red tones
-
diffModified - Modified content highlight color
- Highlight for in-line modifications
- Recommended to use yellow tones
-
lineNumber - Line number text color
- Color for code line numbers
- Usually use gray tones
-
lineNumberBorder - Line number area border color
- Border for line number area
- Coordinate with line number color
-
menuSelected - Selected menu item color
- Currently selected menu item
- Needs to be prominent
-
menuNormal - Normal menu item color
- Unselected menu items
- Appropriate contrast with background
-
menuInfo - Info menu item color
- Prompt information, description text
- Usually use cyan tones
-
menuSecondary - Secondary menu item color
- Secondary information, auxiliary text
- Usually use gray tones
-
error - Error prompt color
- Error messages, warnings
- Usually use red
-
warning - Warning prompt color
- Warning messages, notes
- Usually use yellow
-
success - Success prompt color
- Success messages, confirmation information
- Usually use green
- logoGradient - Logo gradient colors
- Gradient effect for Snow CLI Logo
- Need to input 3 color values, separated by commas
- Format:
#color1, #color2, #color3 - Example:
#d3d3d3, #808080, #505050
- Use ↑/↓ arrow keys to browse color list
- Each line displays:
Color name: Current value - Select color item to modify
- Press Enter key to enter edit mode
After entering edit mode:
-
Interface displays current color value
-
Provides input box for entering new value
-
Supports multiple color formats:
- Hexadecimal:
#RRGGBB(like#1e1e1e) - Color names:
red,blue,green,cyan,yellow, etc. - RGB format:
rgb(30, 30, 30)
- Hexadecimal:
-
Press Enter to confirm after input
-
Color immediately updates and displays effect in preview area
- In edit mode, press ESC key: Cancel current color modification
- Return to color list to continue editing other colors
The preview area at the bottom of the custom editor displays your color scheme effects in real-time:
- Display code comparison examples
- Show syntax highlighting effects
- Display Diff comparison effects
- Help you evaluate color scheme
After completing color editing:
- Select "Save" option at bottom of color list
- Press Enter to confirm save
- Custom colors save to
~/.snow/theme.json - Theme automatically switches to "Custom" theme
- Return to theme settings interface
Configuration File Format:
{
"theme": "custom",
"customColors": {
"background": "#1e1e1e",
"text": "#d4d4d4",
"border": "#3e3e3e",
"diffAdded": "#0d4d3d",
"diffRemoved": "#5a1f1f",
"diffModified": "#dcdcaa",
"lineNumber": "#858585",
"lineNumberBorder": "#3e3e3e",
"menuSelected": "#5e0691ff",
"menuNormal": "white",
"menuInfo": "cyan",
"menuSecondary": "gray",
"error": "red",
"warning": "yellow",
"success": "green",
"logoGradient": ["#d3d3d3", "#808080", "#505050"]
},
"simpleMode": false
}If unsatisfied with custom colors, you can reset to default values:
- Select "Reset to Default" option in custom editor
- Press Enter to confirm
- All colors restore to system default custom theme colors
- Preview area immediately displays default color effects
- Can start editing again
Note: Reset operation doesn't save immediately, need to select "Save" to write to configuration file
- ↑/↓: Navigate in theme list
- Enter: Apply selected theme or execute operation
- ESC: Cancel changes and return to main menu
- ↑/↓: Navigate in color list
- Enter: Edit selected color or execute operation
- ESC: Return to theme settings (unsaved changes will be lost)
- Enter: Confirm input color value
- ESC: Cancel current color editing
Choose based on work environment:
- Low-light environment: Dark themes (Dark, GitHub Dark, Nord)
- Bright environment: Light theme (Light)
- Personal preference: Choose most comfortable color scheme
- Ensure text has sufficient contrast with background
- Avoid overly harsh color combinations
- Test comfort for long-term use
- Maintain consistency of color scheme
- Use similar tones for related functions
- Avoid too many colors causing confusion
- Code highlighting colors should be clearly distinguishable
- Diff colors should clearly distinguish added/deleted/modified
- Menu item colors should have clear hierarchy
Format: #RRGGBB
Examples:
#1e1e1e - Dark gray background
#d4d4d4 - Light gray text
#0d4d3d - Dark green (added lines)
#5a1f1f - Dark red (deleted lines)
Basic colors:
black, white, gray
Bright colors:
red, green, blue
cyan, magenta, yellow
Extended colors:
Refer to list of color names supported by terminal
Logo gradient requires 3 colors to form gradient effect:
Light to dark:
#ffffff, #808080, #000000
Blue tones:
#5e9cff, #2e5c8f, #1e3c5f
Green tones:
#90ee90, #50ae50, #306e30
Custom:
Ensure three colors form smooth transition
First brightest, third darkest
After creating custom theme, it's recommended to:
- Test code highlighting effects
- Check Diff comparison clarity
- Verify menu readability
- Confirm comfort for long-term use
- Test compatibility in different terminals
Regularly backup configuration file:
# Backup theme configuration
cp ~/.snow/theme.json ~/.snow/theme.json.backup
# Restore backup
cp ~/.snow/theme.json.backup ~/.snow/theme.jsonIf using on different devices or environments:
- Choose theme based on screen characteristics
- Consider environment lighting differences
- Unify team color scheme (optional)
Q: Do I need to restart Snow CLI after changing theme?
A: No. Theme changes take effect immediately and apply to current interface and all subsequent operations.
Q: Where is the custom theme configuration file?
A: Configuration file is located at ~/.snow/theme.json, can be manually edited or configured through interface.
Q: Can I import and export custom themes?
A: Yes. Simply copy the theme.json file to share theme configuration. Place the file in ~/.snow/ directory to use.
Q: What's the difference between simple mode and theme selection?
A: Simple mode controls interface display complexity, theme controls color scheme. They work independently and can be combined.
Q: What if interface displays abnormally after customizing colors?
A: Select "Reset to Default" in custom editor, or directly delete ~/.snow/theme.json file, Snow CLI will automatically use default configuration.
Q: Do all terminals support custom colors?
A: Most modern terminals support it, but some older terminals may only support 16 colors. It's recommended to use modern terminals like iTerm2, Windows Terminal, Hyper, etc.
Q: Can I use different themes for different projects?
A: Currently theme is global configuration, shared by all projects. If needed, can temporarily modify configuration file before launching Snow CLI.
Q: Can the preview area code examples be customized?
A: Preview code is fixed examples for showing theme effects. In actual use it will apply to your real code.
Q: Must logoGradient have 3 colors?
A: Yes. Logo gradient design requires 3 colors to form smooth gradient effect. Format must be [color1, color2, color3].
Q: How do I share my custom theme with the team?
A: Copy the customColors section from ~/.snow/theme.json file and share with team members. They can paste the content into their own configuration file.
Theme configuration is stored in ~/.snow/theme.json file.
{
"theme": "custom",
"customColors": {
"background": "#1e1e1e",
"text": "#d4d4d4",
"border": "#3e3e3e",
"diffAdded": "#0d4d3d",
"diffRemoved": "#5a1f1f",
"diffModified": "#dcdcaa",
"lineNumber": "#858585",
"lineNumberBorder": "#3e3e3e",
"menuSelected": "#5e0691ff",
"menuNormal": "white",
"menuInfo": "cyan",
"menuSecondary": "gray",
"error": "red",
"warning": "yellow",
"success": "green",
"logoGradient": ["#d3d3d3", "#808080", "#505050"]
},
"simpleMode": false
}-
theme: Currently used theme type
- Options:
dark,light,github-dark,rainbow,solarized-dark,nord,custom
- Options:
-
customColors: Custom theme color configuration
- Only used when
themeiscustom - Contains 16 color fields
- Only used when
-
simpleMode: Simple mode switch
true: Enable simple modefalse: Use standard mode
If choosing to manually edit configuration file:
- Ensure JSON format is correct
- logoGradient must be array format
- Color values must be valid color formats
- Restart Snow CLI after editing to load new configuration
It's recommended to use configuration interface for modifications to avoid format errors.