Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xstepit/flow.nvim
A flow-immersive Nvim colorscheme with fluorescent details.
https://github.com/0xstepit/flow.nvim
coding colorscheme fluo lua nvim productivity via
Last synced: 10 days ago
JSON representation
A flow-immersive Nvim colorscheme with fluorescent details.
- Host: GitHub
- URL: https://github.com/0xstepit/flow.nvim
- Owner: 0xstepit
- License: apache-2.0
- Created: 2024-06-25T19:56:55.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T19:04:41.000Z (10 days ago)
- Last Synced: 2024-10-29T21:16:41.431Z (10 days ago)
- Topics: coding, colorscheme, fluo, lua, nvim, productivity, via
- Language: Lua
- Homepage:
- Size: 34.5 MB
- Stars: 178
- Watchers: 1
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-neovim - 0xstepit/flow.nvim - Carefully designed colors to help focusing during coding plus fluorescent details. Support many plugins and tools. (Colorscheme / Tree-sitter Supported Colorscheme)
README
# 🌊 Flow
![logo](./assets/flow-logo.png)
Flow is an [Nvim](https://github.com/neovim/neovim) color scheme written in
[Lua](https://www.lua.org/). 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](https://github.com/user-attachments/assets/69a1c7b3-5ea8-448a-9307-02f5aa0617ac)
![flow-multiple-terminal](https://github.com/user-attachments/assets/0aff8ec7-81fb-4610-bcbe-f34b707a86f6)
# 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.
- **Split 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](https://github.com/user-attachments/assets/8c7b90f0-f128-4c7c-849c-a7ab876339c8)
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
- [Neovim](https://github.com/neovim/neovim) >=
[0.8.0](https://github.com/neovim/neovim/releases/tag/v0.8.0)## Installation
Install the theme with your preferred package manager, such as
[folke/lazy.nvim](https://github.com/folke/lazy.nvim):```lua
{
"0xstepit/flow.nvim",
lazy = false,
priority = 1000,
opts = {},
}
```# Usage
## Lua
```lua
require("flow").setup{}
vim.cmd "colorscheme flow"
```# Configuration
## Default
The configuration allows to specify 5 different options:
```lua
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 = false, -- 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 = "base", -- 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,
}
```Keep in mind that the `transparent` flags set the background of neovim
transparent and, as a result, the terminal emulator background will be visible.## Suggested
My favorite config
```lua
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:
- **Git**: [fugitive](https://github.com/tpope/vim-fugitive), [gitsign](https://github.com/lewis6991/gitsigns.nvim).
- **Completion**: [nvim-cmp](https://github.com/hrsh7th/nvim-cmp), [lsp-kind](https://github.com/onsails/lspkind.nvim).
- **Debug**: [nvim-dap](https://github.com/mfussenegger/nvim-dap).
- **Plugins**: [lazy](https://github.com/folke/lazy.nvim).
- **Coding**: [telescope](https://github.com/nvim-telescope/telescope.nvim), [treesitter](https://github.com/nvim-treesitter/nvim-treesitter).
- **Utils**: [trouble](https://github.com/folke/trouble.nvim), [todo-comments](https://github.com/folke/todo-comments.nvim), [which-key](https://github.com/folke/which-key.nvim).
- **Base Nvim**: diagnostic, lsp, markdown.
# Extras
Flow.nvim provides colorschemes also for the following tools:
- [Tmux](https://github.com/tmux/tmux/wiki) at [tmux-flow.conf](./extra/tmux-flow.conf).
- [Alacritty](https://alacritty.org/) at [alacritty-flow.toml](./extra/alacritty-flow.toml).
- [Kitty](https://sw.kovidgoyal.net/kitty/) at [kitty-flow.conf](./extra/kitty-flow.conf).
- [fzf](https://github.com/junegunn/fzf) at [fzf-flow.sh](./extra/fzf-flow.sh).
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:
```sh
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](https://github.com/0xstepit/dotfiles).
This colorscheme is inspired by other amazing colorscheme:
- [Tokyo Night](https://github.com/folke/tokyonight.nvim)
- [Gruvbox](https://github.com/morhetz/gruvbox)
- [Nordic](https://github.com/AlexvZyl/nordic.nvim)