Subliminal Nightfall

A dark color scheme featuring deep purple-black backgrounds with carefully calibrated accent colors for multiple editors and terminals, including Hazy (75%) and Cloudy (90%) Zed variants with window blur effects for a refined transparent experience.

Carefully Crafted

Calibrated colors with proper contrast ratios for comfortable long coding sessions

Multi-Platform

Available for VS Code, Neovim, Zed (with Hazy 75% and Cloudy 90% blur variants), and Ghostty terminal

Syntax Aware

Optimized for Go, Rust, TypeScript, Swift, and more

Treesitter & LSP

Full support for modern syntax highlighting and language servers

Color Palette

Carefully calibrated colors with bright and dim variants for optimal contrast across terminals and editors.

Base Colors

Red

Base
#bf616a
Bright
#e2848d
Dim
#85434a

Errors, deletions, keywords

Green

Base
#a9cfa4
Bright
#ccf2c7
Dim
#769072

Success, additions

Yellow

Base
#ffe2a9
Bright
#ffffcc
Dim
#b29e76

Warnings, modifications

Blue

Base
#6699cc
Bright
#89bcef
Dim
#476b8e

Info, titles, headings

Magenta

Base
#f1a5ab
Bright
#ffc8ce
Dim
#a87377

Attributes, emphasis, operators

Cyan

Base
#5fb3b3
Bright
#82d6d6
Dim
#427d7d

Focus borders

Syntax Colors

Cyan Teal

#9ccfd8

Functions, methods, strings

Blue Green

#31748f

Keywords, types, constructors

Lavender

#c4a7e7

Numbers, constants, inline code

Gray

#7f7f7f

Comments

Background & Foreground

Background

#191724

Deep purple-black editor background

Background Alt

#1f1d2e

Sidebar, panels, inactive tabs

Aa

Foreground

#e0def4

Soft white text

Color copied to clipboard!

Syntax Highlighting

See how Subliminal Nightfall looks across different programming languages with carefully calibrated syntax colors.

Go Example
                                package main

import (
	"context"
	"fmt"
	"log"
	"time"
)

// User represents a user in the system
type User struct {
	ID        int64     `json:"id"`
	Username  string    `json:"username"`
	Email     string    `json:"email"`
	CreatedAt time.Time `json:"created_at"`
	IsActive  bool      `json:"is_active"`
}

// UserService handles user operations
type UserService interface {
	GetUser(ctx context.Context, id int64) (*User, error)
	CreateUser(ctx context.Context, user *User) error
	DeleteUser(ctx context.Context, id int64) error
}

type userService struct {
	db Database
}

// NewUserService creates a new user service
func NewUserService(db Database) UserService {
	return &userService{db: db}
}

// GetUser retrieves a user by ID
func (s *userService) GetUser(ctx context.Context, id int64) (*User, error) {
	user := &User{}

	query := `SELECT id, username, email, created_at, is_active
	          FROM users WHERE id = $1`

	err := s.db.QueryRow(ctx, query, id).Scan(
		&user.ID,
		&user.Username,
		&user.Email,
		&user.CreatedAt,
		&user.IsActive,
	)

	if err != nil {
		return nil, fmt.Errorf("failed to get user: %w", err)
	}

	return user, nil
}

// ProcessUsers demonstrates error handling and goroutines
func ProcessUsers(ctx context.Context, service UserService, ids []int64) error {
	results := make(chan *User, len(ids))
	errors := make(chan error, len(ids))

	for _, id := range ids {
		go func(userID int64) {
			user, err := service.GetUser(ctx, userID)
			if err != nil {
				errors <- err
				return
			}
			results <- user
		}(id)
	}

	// Collect results
	var users []*User
	for i := 0; i < len(ids); i++ {
		select {
		case user := <-results:
			users = append(users, user)
		case err := <-errors:
			log.Printf("Error processing user: %v", err)
		case <-ctx.Done():
			return ctx.Err()
		}
	}

	fmt.Printf("Processed %d users successfully\n", len(users))
	return nil
}

// Constants and variables
const (
	MaxRetries     = 3
	DefaultTimeout = 30 * time.Second
)

var (
	ErrUserNotFound = fmt.Errorf("user not found")
	ErrInvalidInput = fmt.Errorf("invalid input")
)

func main() {
	ctx := context.Background()

	// Simulated database
	db := &mockDB{}
	service := NewUserService(db)

	// Create a new user
	user := &User{
		Username:  "johndoe",
		Email:     "[email protected]",
		CreatedAt: time.Now(),
		IsActive:  true,
	}

	if err := service.CreateUser(ctx, user); err != nil {
		log.Fatalf("Failed to create user: %v", err)
	}

	fmt.Println("User created successfully!")
}

                            

Built with ColorLoom

All themes are generated from a single theme.toml configuration using ColorLoom, our powerful Rust CLI tool.

Installation

Get started with Subliminal Nightfall on your favorite editor or terminal.

📝 VS Code / Cursor

From Marketplace

  1. 1 Open VS Code or Cursor
  2. 2 Go to Extensions (⌘+Shift+X / Ctrl+Shift+X)
  3. 3 Search for "Subliminal Nightfall"
  4. 4 Click Install
  5. 5 Select "Subliminal Nightfall" from the Color Theme dropdown

Manual Installation

terminal
npm i -g @vscode/vsce
cd cursor
vsce package
# Then in VS Code: Extensions → Install from VSIX

Ready to transform your coding experience?

Join developers who've made the switch to a more comfortable and beautiful coding environment.