Helix Theme Editor

Create minimalist themes for Helix editor. Built for keyboard-first editing with Tree-sitter syntax highlighting and modal interface.

Modal Editing
Keyboard-First
Minimalist UI
Tree-sitter

Helix Theme Designer

Theme Settings

Helix Preview

example.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import React, { useState, useEffect } from 'react'
import { Button } from '@/components/ui/button'
import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'
import { Input } from '@/components/ui/input'
interface User {
id: number
name: string
email: string
}
const UserDashboard = () => {
const [users, setUsers] = useState<User[]>([])
const [loading, setLoading] = useState(true)
const [searchTerm, setSearchTerm] = useState('')
useEffect(() => {
fetchUsers()
}, [])
const fetchUsers = async () => {
try {
const response = await fetch('/api/users')
const data = await response.json()
setUsers(data)
} catch (error) {
console.error('Failed to fetch users:', error)
} finally {
setLoading(false)
}
}
const filteredUsers = users.filter(user =>
user.name.toLowerCase().includes(searchTerm.toLowerCase())
)
return (
<div className="container mx-auto p-6">
<Card>
<CardHeader>
<CardTitle>User Management</CardTitle>
</CardHeader>
<CardContent>
<Input
type="text"
placeholder="Search users..."
value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)}
className="mb-4"
/>
{loading ? (
<p>Loading users...</p>
) : (
<ul className="space-y-2">
{filteredUsers.map(user => (
<li key={user.id} className="p-3 border rounded">
<h3 className="font-semibold">{user.name}</h3>
<p className="text-sm text-muted-foreground">{user.email}</p>
</li>
))}
</ul>
)}
</CardContent>
</Card>
</div>
)
}
TypeScript ReactUTF-8LF
Ln 1, Col 1

Modal-Optimized

Designed for Helix's modal editing system with clear visual feedback for different editing modes.

Why Helix Themes Are Unique

Helix brings modal editing to modern code editing with Tree-sitter integration, minimalist design, and keyboard-first philosophy.

Modal Editing System

Helix uses modal editing similar to Vim. Themes need to provide clear visual feedback for normal, insert, and visual modes.

Tree-sitter Integration

Advanced syntax parsing with semantic highlighting that provides accurate code structure visualization.

Minimalist Interface

Clean, distraction-free design that puts focus on the code while providing subtle visual guidance.

Helix Philosophy

Modal Editing
  • • Normal mode for navigation
  • • Insert mode for editing
  • • Visual mode for selection
  • • Command mode for operations
Performance Focus
  • • Memory efficient design
  • • Fast startup times
  • • Smooth large file handling
  • • GPU-accelerated rendering

Creating Helix Themes for Modal Editing

Learn to design themes that enhance Helix's unique modal editing experience

1

Design for Modal States

Helix has distinct visual states for normal mode, insert mode, and visual mode. Design colors that provide clear mode differentiation.

-- Modal state colors
"normal-mode": "#282828"
"insert-mode": "#3c3836"
"visual-mode": "#504945"
"command-mode": "#4c4945"
-- Selection highlighting
"ui.selection": "#504945"
"ui.selection.match": "#665c54"
2

Tree-sitter Syntax Highlighting

Leverage Tree-sitter's accurate parsing for precise syntax highlighting. Use semantic tokens for better code structure visualization.

-- Tree-sitter tokens
"syntax.variable": "#ebdbb2"
"syntax.keyword": "#fb4934"
"syntax.string": "#b8bb26"
"syntax.function": "#83a598"
-- Semantic highlighting
"entity.name.class": "#d3869b"
"entity.name.function": "#83a598"
3

UI Element Theming

Helix has a minimalist UI with subtle hints. Design themes that provide gentle visual guidance without overwhelming the interface.

-- Minimalist UI colors
"ui.statusline": "#282828"
"ui.cursor": "#ebdbb2"
"ui.cursor.match": "#504945"
"ui.cursor.primary": "#fb4934"
-- Prompt styling
"ui.prompt": "#3c3836"
"ui.prompt.inactive": "#282828"
4

Performance Optimization

Test your theme with large files and complex projects to ensure it maintains Helix's excellent performance characteristics.

-- Performance guidelines
✓ Avoid complex gradient calculations
✓ Use efficient color representations
✓ Test with 100MB+ files
✓ Verify multi-language support
-- Keyboard accessibility
✓ High contrast mode support
✓ Color-blind friendly palette