Skip to content

A flow-immersive Nvim colorscheme with fluorescent details.

License

Notifications You must be signed in to change notification settings

0xstepit/flow.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 Flow

logo

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!

Showcase

flow-single-terminal

flow-multiple-terminal

Palette

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.

Requirements

Installation

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.

Usage

Lua

Setup and start using Flow with default options:

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

Configuration

The following section describes how to configure the plugin using Lazy plugin manager.

Default

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.

Supported plugins

Below the list of supported plugins divided by category:

Extras

Flow.nvim provides colorschemes also for the following tools:

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.

Contributing

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!

Contributors

References

My dotfile: 0xstepit/dotfiles.

This project is inspired by other amazing colorscheme: