DEV Community

masisz
masisz

Posted on

Wisteria – A Neovim Color Scheme Designed for Transparent Terminals

🎨 What is Wisteria?

Wisteria is a dark color scheme for Neovim, designed specifically to improve readability in transparent terminal environments. It features a calm and balanced palette built around soft purples, blues, and greens, aiming to provide a comfortable and immersive coding experience.

Wisteria Image

🌸 Color Concept

Wisteria is based on the color foundation of my previous work, ashikaga.nvim, and is inspired by traditional Japanese aesthetics.

Each color is carefully tuned using HSL to maintain clarity and harmony, especially when used with transparent backgrounds.

  • Flower Fuji – hsl(260, 40%, 70%)

    The main wisteria purple, used for keywords and core syntax

  • Sky – hsl(199, 30%, 70%)

    A refreshing light blue for functions and methods

  • Watarase Blue – hsl(240, 50%, 60%)

    A deep blue for types and classes

  • Icho Green – hsl(133, 35%, 63%)

    A calm green for strings

  • Orihime Red – hsl(0, 40%, 55%)

    A gentle red for errors and highlights

  • Omugi Gold – hsl(46, 35%, 73%)

    A warm gold for constants and numbers

wisteria2


✨ Key Features

1. Optimized for Transparent Backgrounds

Wisteria is designed with transparent terminals in mind. Even with background transparency enabled, text contrast remains clear and readable without being harsh on the eyes.


2. Native Support for Popular Plugins

Wisteria is designed for LazyVim and provides native styling for popular plugins:

  • lualine – status line
  • treesitter – syntax highlighting
  • neo-tree – file explorer
  • snacks – UI enhancements
  • markdown – Markdown preview
  • gitsigns – Git integration

3. Unified Terminal Experience

In addition to Neovim, Wisteria includes themes for related terminal tools. Special care has been taken to ensure that WezTerm and wisteria.nvim feel cohesive when transparency is enabled.

  • WezTerm – terminal emulator
  • Starship – shell prompt
  • tmux – terminal multiplexer

πŸš€ Installation

Using LazyVim

{
  "LazyVim/LazyVim",
  opts = {
    colorscheme = "wisteria",
  },
},
{
  "masisz/wisteria.nvim",
  name = "wisteria",
  opts = {
    transparent = true,
  },
},
{
  "nvim-lualine/lualine.nvim",
  opts = {
    theme = "wisteria",
  },
}
Enter fullscreen mode Exit fullscreen mode

🎨 Related Tool Configuration

WezTerm

-- ~/.config/wezterm/wezterm.lua
local wisteria = require("path/to/wisteria.nvim/extras/wezterm/wisteria")

return {
  colors = wisteria.colors,
  -- other settings
}
Enter fullscreen mode Exit fullscreen mode

Starship

Copy the configuration file:

cp extras/starship/starship.toml ~/.config/starship.toml
Enter fullscreen mode Exit fullscreen mode

Or merge the palette into your existing configuration:

palette = "wisteria"

# Import the palette from extras/starship/starship.toml
Enter fullscreen mode Exit fullscreen mode

tmux

# Add to ~/.config/tmux/tmux.conf
source-file /path/to/wisteria.nvim/extras/tmux/wisteria.conf

# Reload tmux configuration
tmux source-file ~/.config/tmux/tmux.conf
Enter fullscreen mode Exit fullscreen mode

🌈 Color Palette Details

Base Colors

Name HSL Usage
hanabi_night hsl(202, 10%, 15%) base background
flower_fuji hsl(260, 40%, 70%) keywords, identifiers
sky hsl(199, 30%, 70%) functions, methods
watarase_blue hsl(240, 50%, 60%) types, classes
icho_green hsl(133, 35%, 63%) strings
orihime_red hsl(0, 40%, 55%) errors
omugi_gold hsl(46, 35%, 73%) constants, numbers

Status Colors

Name HSL Usage
warning_orange hsl(25, 70%, 60%) warnings
error_red hsl(0, 70%, 60%) errors
info_blue hsl(199, 50%, 60%) information

πŸ’‘ Tips

Enable Transparency

{
  "masisz/wisteria.nvim",
  opts = {
    transparent = true,
  },
}
Enter fullscreen mode Exit fullscreen mode

Custom Color Overrides

You can further tweak the colors by extending the options:

{
  "masisz/wisteria.nvim",
  opts = {
    transparent = true,
    -- add custom overrides here
  },
}
Enter fullscreen mode Exit fullscreen mode

🎯 Conclusion

Wisteria is especially recommended for developers who:

  • Prefer transparent terminal environments
  • Appreciate Japanese-inspired color aesthetics
  • Use LazyVim as their Neovim setup
  • Want a consistent theme across their entire development environment

πŸ”— Links


If you give Wisteria a try, I would really appreciate ⭐ stars on GitHub or ❀️ reactions on this article!

Top comments (0)