Flow is an Nvim color scheme written in Lua. It features a carefully curated palette to enhance focus during coding, complemented by fluorescent accents for a vibrant and dynamic look.
Why fluo? Because it's simply cool!
Flow uses a palette of nine HSL-based colors, chosen to create a cohesive and visually appealing environment. The primary color is light blue, with supporting tones selected as follows based on the saturation value:
-
Analogous (±30°): blue, cyan.
-
Complementary (±180°): orange.
-
Tetradic 60 (±60°): purple, green.
-
Split comp (±150°): yellow, red.
Additionally, sky blue enhances the blue tones, and a fluorescent color provides striking accents.
Install Flow with your preferred package manager, such as folke/lazy.nvim:
{
"0xstepit/flow.nvim",
lazy = false,
priority = 1000,
tag = "vX.0.0",
opts = {
-- Your configuration options here.
},
}
Use the tag field to prevent breaking changes from automatic updates.
Setup and start using Flow with default options:
require("flow").setup{}
vim.cmd "colorscheme flow"
The following section describes how to configure the plugin using Lazy plugin manager.
return {
"0xstepit/flow.nvim",
lazy = false,
priority = 1000,
tag = "v2.0.1",
opts = {
theme = {
style = "dark", -- "dark" | "light"
contrast = "default", -- "default" | "high"
transparent = false, -- true | false
},
colors = {
mode = "default", -- "default" | "dark" | "light"
fluo = "pink", -- "pink" | "cyan" | "yellow" | "orange" | "green"
custom = {
saturation = "", -- "" | string representing an integer between 0 and 100
light = "", -- "" | string representing an integer between 0 and 100
},
},
ui = {
borders = "inverse", -- "theme" | "inverse" | "fluo" | "none"
aggressive_spell = false, -- true | false
},
},
config = function(_, opts)
require("flow").setup(opts)
vim.cmd("colorscheme flow")
end,
},
}
Keep in mind that the transparent
flag sets the background of neovim transparent and, as a
result, the terminal emulator background will be visible. It is suggested to always add some bluur
to the terminal emulator when the background is transparent.
Below the list of supported plugins divided by category:
-
Debug: nvim-dap.
-
Coding: telescope, treesitter, ibl, oil, flash
-
AI: avante
-
Utils: lazy, mason trouble, todo-comments, which-key, render-markdwon, mini-hipatterns
-
Base Nvim: diagnostic, lsp, markdown.
Flow.nvim provides colorschemes also for the following tools:
-
Tmux at tmux-flow.conf.
-
Kitty at kitty-flow.conf.
-
fzf at fzf-flow.sh.
To generate extra themes you can use the Makefile
:
make extras
Now you can copy generated files at ./extras/
where your configuration is sourcing them.
Pull requests and improvement suggestions are very welcome! If you want to help
developing the plugin, please consider addressing one of the issue marked as
good-first-issue
.
Or create a PR with improvements you would like to see!
My dotfile: 0xstepit/dotfiles.
This project is inspired by other amazing colorscheme: