0xstepit/flow.nvim

github github
colorschemetreesitter-colorschemes
stars 157
issues 4
subscribers 1
forks 3
CREATED

2024-06-25

UPDATED

yesterday


🌊 Flow

logo

Flow is an Nvim color scheme written in Lua. It features carefully designed colors to help focusing during coding plus fluorescent details to provide a vibrant environment. Why fluo? Because it's cool!

Showcase

flow-single-terminal

flow-multiple-terminal

Palette

Flow has been designed using a palette based on 9 colors selected through the HSL representation to create a cohesive ambiance. The principal color is the light blue, and the additional colors have been chosen as follows:

  • Analogous (S+/-30): blue, cyan.

  • Complementary (S+/-180): orange.

  • Tetradic 60 (S+/-60): purple, green.

  • Slit comp (S+/-150): yellow, red.

Furthermore, sky blue has been included to enhance the blue tones, and a fluorescent color has been added for striking accents.

flow-palette

The palette is defined across four different levels of light and saturation of base color to provide different choices of based on the user preferences:

Base Bright Dark Desaturate
Light X 75 25 X
Saturation 80 80 50 50

Where X is equal to 70 if the dark theme is selected, or 30 if it is light. Flow allows a lot of customizability in terms of background, main colors, and fluo, but from a big design space come big responsibilities! It is up to you to create a good atmosphere and an harmonic environment. In the short future, I will create pre-defined configurations, but for the moment please, just try to follow these guidelines:

  • When you set a transparent background, use a dark desktop image with the dark theme and a light one with the light theme.

  • Do not use the dark mode with the dark theme, and, consequently, don't use bright mode with the light theme.

Requirements

Installation

Install the theme with your preferred package manager, such as folke/lazy.nvim:

{
  "0xstepit/flow.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
}

Usage

Lua

require("flow").setup{}
vim.cmd "colorscheme flow"

Configuration

Default

The configuration allows to specify 5 different options:

return {
  "0xstepit/flow.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
  config = function()
    require("flow").setup{
      dark_theme = true, -- Set the theme with dark background.
      high_contrast = true, -- Make the dark background darker or the light background lighter.
      transparent = false, -- Set transparent background.
      fluo_color = "pink", -- Color used as fluo. Available values are pink, yellow, orange, or green.
      mode = "normal", -- Mode of the colors. Available values are: dark, bright, desaturate, or base.
      aggressive_spell = false, -- Use colors for spell check.
    }

    vim.cmd "colorscheme flow"
  end,
}

Suggested

return {
  "0xstepit/flow.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
  config = function()
    require("flow").setup{
      dark_theme = true,
      transparent = false,
      high_contrast = false,
      fluo_color = "pink",
      mode = "desaturate",
      aggressive_spell = false,
    }
    vim.cmd "colorscheme flow"
  end,
}

Supported plugins

Below the list of supported plugins divided by category:

Extras

Flow.nvim provides colorschemes also for the following tools:

The generation of extra is not automatic (I'm sorry, I'm working on it). If you want to generate the color scheme for extras, you need to perform the following steps:

  1. Change the config used for the extra theme generation in lua/flow/extra/main.lua without setting the background transparent.

  2. Generate the themes:

cd ./lua/flow/extra
lua main.lua -v

Now you copy the files in where your configuration is sourcing them.

Todo

This is still an ongoing project. Below are the next topics I will work on:

  • Add docs.

  • Extra automatic generation.

  • Create predefined configurations of the theme.

If you want to contribute to this project, please consider addressing one of the previous point :)

Contributing

Pull requests and improvement suggestions are very welcome!

References

My dot config 0xstepit/dotfiles.

This colorscheme is inspired by other amazing colorscheme: