### Configure Bufferline.nvim with Neopywal Highlights (Lazy) Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Configuration for lazy.nvim users to integrate bufferline.nvim with Neopywal. Neopywal is loaded first due to higher priority. The `setup()` function from Neopywal's bufferline plugin is used to get the highlights. ```lua { "RedsXDD/neopywal.nvim", name = "neopywal", lazy = false, priority = 1000, -- Neopywal loads first because it has higher priority. }, { "akinsho/bufferline.nvim", config = function() require("bufferline").setup({ highlights = require("neopywal.theme.plugins.bufferline").setup() }) end } ``` -------------------------------- ### Configure Neopywal with comprehensive settings Source: https://context7.com/redsxdd/neopywal.nvim/llms.txt Use the setup function to define palette sources, visual styles, custom highlights, and plugin integrations. Ensure the colorscheme is loaded via vim.cmd.colorscheme after setup. ```lua local neopywal = require("neopywal") neopywal.setup({ -- Palette configuration use_palette = { dark = "pywal", light = "solarized", }, -- Visual settings transparent_background = false, dim_inactive = true, terminal_colors = true, show_end_of_buffer = false, show_split_lines = true, -- Notification level notify = "warn", -- "all", "warn", "error", "none" -- Disable font styles if needed no_italic = false, no_bold = false, no_underline = false, -- Syntax element styles styles = { comments = { "italic" }, conditionals = { "italic" }, loops = {}, functions = { "bold" }, keywords = { "bold" }, strings = {}, variables = {}, numbers = {}, booleans = { "bold" }, types = { "italic" }, }, -- Custom colors custom_colors = function(C) local U = require("neopywal.utils.color") return { all = { accent = C.color5, surface = U.blend(C.background, C.foreground, 0.95), }, } end, -- Custom highlights custom_highlights = function(C) return { all = { WinSeparator = { fg = C.color8 }, FloatBorder = { fg = C.color4 }, }, } end, -- Plugin configuration default_plugins = true, plugins = { treesitter = true, lsp = { enabled = true, inlay_hints = { background = true } }, telescope = { enabled = true, style = "nvchad" }, gitsigns = true, indent_blankline = { enabled = true, colored_indent_levels = false }, nvim_cmp = true, flash = { enabled = true, style = { "bold", "italic" } }, mini = { cursorword = { enabled = true, style = { "underline" } }, indentscope = { enabled = true }, statusline = { enabled = true }, }, }, }) -- Load the colorscheme vim.cmd.colorscheme("neopywal") ``` -------------------------------- ### Setup Neopywal with Wallust Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-palettes.txt Update the Neopywal setup function to use Wallust as the palette source. ```lua require("neopywal").setup({ -- Note how you only need to set "wallust" as the configuration -- value for the `use_palette` option. use_palette = "wallust" -- And obviously, you can do the same for a table instead. use_palette = { dark = "wallust", light = "tokyonight" } }) ``` -------------------------------- ### External plugin setup Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Configuring plugins that require their own setup function using Neopywal's theme modules. ```lua -- Note that you can call `require()` directly instead of wrapping it around the `pcall()` function. -- However using `pcall()` is generally a safer approach as it can prevent Neovim from erring out -- if Neopywal could not be loaded for X reason. local has_lualine, lualine = pcall(require, "lualine") if not has_lualine then return end local has_neopywal, neopywal_lualine = pcall(require, "neopywal.theme.plugins.lualine") if not has_neopywal then return end -- You would put Neopywal's configuration for lualine inside this `setup()` function instead. neopywal_lualine.setup({ mode_colors = { normal = "color2" }, }) lualine.setup({ options = { theme = "neopywal" -- The rest of your lualine config ... } }) ``` -------------------------------- ### Setup Neopywal with Custom Colors and Highlights (Pre v3.0.0) Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt Older method for setting custom colors and highlights directly within the setup configuration. ```lua require("neopywal").setup({ custom_colors = { mycustomcolor = "#ff0000", }, custom_highlights = { mycustomhighlight = { bg = "#000000", fg = "#ff0000" }, } }) ``` -------------------------------- ### Configure Neopywal settings Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-configuration.md Pass a table to the setup function to customize theme behavior, highlight groups, and plugin support. Calling setup is optional if default settings are sufficient. ```lua require("neopywal").setup({ -- This option allows to use a custom theme palettes for each Neopywal styles. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-palettes.md`. use_palette = { dark = "pywal", light = "pywal", }, -- Sets the background color of certain highlight groups to be transparent. -- Use this when your terminal opacity is < 1. -- NOTE: This option is automatically disabled if Neopywal is loaded on Neovide -- as it doesn't play well with transparent background colors. transparent_background = false, -- Dims the background when another window is focused. dim_inactive = true, -- Apply colorscheme for Neovim's terminal (e.g. `g:terminal_color_0`). terminal_colors = true, -- Shows the '~' characters after the end of buffers. show_end_of_buffer = false, -- Shows the '|' split separator characters. -- It's worth noting that this options works better in conjunction with `dim_inactive`. show_split_lines = true, --[[ Used to control the notifications sent by Neopywal, can be one of: - "all": Display all notifications; - "warn": Only display warning and error notifications; - "error": Only display error notifications; - "none": Do not display ANY notifications. --]] notify = "all", no_italic = false, -- Force no italic. no_bold = false, -- Force no bold. no_underline = false, -- Force no underline. no_undercurl = false, -- Force no undercurl. no_strikethrough = false, -- Force no strikethrough. -- Handles the styling of certain highlight groups (see `:h highlight-args`). styles = { comments = { "italic" }, conditionals = { "italic" }, loops = {}, functions = {}, keywords = {}, includes = { "italic" }, strings = {}, variables = { "italic" }, numbers = {}, booleans = {}, types = { "italic" }, operators = {}, }, -- With this option you can create/overwrite any color. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-colors.md` custom_colors = {}, -- With this option you can overwrite any highlight groups set by the colorscheme. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-highlights.md` custom_highlights = {}, -- Setting this to false disables all default file format highlights. -- Useful if you want to enable specific file format options. -- NOTE: This option defaults to false when the treesitter plugin module is enabled, -- unless it is manually enabled inside the user's `setup()` function. default_fileformats = true, -- Setting this to false disables all default plugin highlights. -- Useful if you want to enable specific plugin options. default_plugins = true, -- This is the table you should be using in order to enable/disable custom highlights colors of certain file types. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-fileformats.md` fileformats = {}, -- This is the table you should be using in order to enable/disable custom highlights for Neopywal's supported plugins. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-plugins.md` plugins = {}, }) ``` -------------------------------- ### Configure Neopywal with setup() Source: https://context7.com/redsxdd/neopywal.nvim/llms.txt Initializes the plugin with options for transparency, plugin integration, and style overrides. ```lua require("neopywal").setup({ -- Use a specific palette or Pywal/Wallust generated colors use_palette = { dark = "pywal", -- Use Pywal's generated palette for dark theme light = "catppuccin-mocha", -- Use built-in palette for light theme }, -- Enable transparent background for terminal transparency transparent_background = false, -- Dim inactive windows for better focus dim_inactive = true, -- Apply colorscheme to terminal colors terminal_colors = true, -- Show '~' characters after end of buffers show_end_of_buffer = false, -- Show '|' split separators show_split_lines = true, -- Style overrides for syntax elements styles = { comments = { "italic" }, conditionals = { "italic" }, functions = {}, keywords = {}, strings = {}, variables = { "italic" }, types = { "italic" }, }, -- Disable all default plugins if you want manual control default_plugins = true, -- Enable specific plugins plugins = { treesitter = true, telescope = { enabled = true, style = "nvchad" }, lsp = { enabled = true, virtual_text = { errors = { "bold", "italic" }, hints = { "bold", "italic" }, }, inlay_hints = { background = true }, }, }, }) -- Load the colorscheme vim.cmd.colorscheme("neopywal") ``` -------------------------------- ### Configure Bufferline.nvim with Neopywal Highlights (Packer) Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Configuration for packer.nvim users to integrate bufferline.nvim with Neopywal. Ensure bufferline is loaded after Neopywal. The `setup()` function from Neopywal's bufferline plugin is used to get the highlights. ```lua use "akinsho/bufferline.nvim" { after = "neopywal", config = function() require("bufferline").setup({ highlights = require("neopywal.theme.plugins.bufferline").setup() }) end } ``` -------------------------------- ### Configure feline.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Setup feline.nvim components using neopywal themes. ```lua local has_feline, feline = pcall(require, "feline")\nif not has_feline then return end\n\nlocal has_neopywal, neopywal_feline = pcall(require, "neopywal.theme.plugins.feline")\nif not has_neopywal then return end\n\nneopywal_feline.setup()\n\nfeline.setup({\n components = neopywal_feline.get(),\n}) ``` ```lua local C = require("neopywal").get_colors()\nlocal U = require("neopywal.utils.color")\n\nlocal neopywal_feline = require("neopywal.theme.plugins.feline")\n\nneopywal_feline.setup({\n assets = {\n left_separator = "",\n right_separator = "",\n mode_icon = "",\n dir = "󰉋",\n file = "󰈙",\n lsp = {\n server = "󰅡",\n error = "",\n warning = "",\n info = "",\n hint = "",\n },\n git = {\n branch = "",\n added = "",\n changed = "",\n removed = "",\n },\n },\n mode_colors = {\n ["n"] = { "NORMAL", C.color4 },\n ["no"] = { "N-PENDING", C.color4 },\n ["i"] = { "INSERT", C.color6 },\n ["ic"] = { "INSERT", C.color6 },\n ["t"] = { "TERMINAL", C.color3 },\n ["v"] = { "VISUAL", C.color5 },\n ["V"] = { "V-LINE", C.color5 },\n [""] = { "V-BLOCK", C.color5 },\n ["R"] = { "REPLACE", C.color2 },\n ["Rv"] = { "V-REPLACE", C.color2 },\n ["s"] = { "SELECT", U.blend(C.color1, C.color3, 0.5) },\n ["S"] = { "S-LINE", U.blend(C.color1, C.color3, 0.5) },\n [""] = { "S-BLOCK", U.blend(C.color1, C.color3, 0.5) },\n ["c"] = { "COMMAND", C.color1 },\n ["cv"] = { "COMMAND", C.color1 },\n ["ce"] = { "COMMAND", C.color1 },\n }\n}) ``` -------------------------------- ### Install Neopywal with lazy.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/README.md Use this configuration for lazy.nvim to install the neopywal.nvim plugin. Ensure priority is set to 1000 for proper loading. ```lua { "RedsXDD/neopywal.nvim", name = "neopywal", lazy = false, priority = 1000, opts = {}, } ``` -------------------------------- ### Setup and activate Neopywal colorscheme Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt This Lua snippet shows how to initialize Neopywal and set it as the active colorscheme in Neovim. Ensure this is called after installation. ```lua local neopywal = require("neopywal") neopywal.setup() vim.cmd.colorscheme("neopywal") ``` -------------------------------- ### Configure Neopywal settings Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-configuration.txt Use the setup function to customize Neopywal behavior. Calling this is optional if default settings are sufficient. ```lua require("neopywal").setup({ -- This option allows to use a custom theme palettes for each Neopywal styles. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-palettes.md`. use_palette = { dark = "pywal", light = "pywal", }, -- Sets the background color of certain highlight groups to be transparent. -- Use this when your terminal opacity is < 1. -- NOTE: This option is automatically disabled if Neopywal is loaded on Neovide -- as it doesn't play well with transparent background colors. transparent_background = false, -- With this option you can create/overwrite any color. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-colors.md` custom_colors = {}, -- With this option you can overwrite any highlight groups set by the colorscheme. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-highlights.md` custom_highlights = {}, -- Dims the background when another window is focused. dim_inactive = true, -- Apply colorscheme for Neovim's terminal (e.g. `g:terminal_color_0`). terminal_colors = true, -- Shows the '~' characters after the end of buffers. show_end_of_buffer = false, -- Shows the '|' split separator characters. -- It's worth noting that this options works better in conjunction with `dim_inactive`. show_split_lines = true, no_italic = false, -- Force no italic. no_bold = false, -- Force no bold. no_underline = false, -- Force no underline. no_undercurl = false, -- Force no undercurl. no_strikethrough = false, -- Force no strikethrough. -- Handles the styling of certain highlight groups (see `:h highlight-args`). styles = { comments = { "italic" }, conditionals = { "italic" }, loops = {}, functions = {}, keywords = {}, includes = { "italic" }, strings = {}, variables = { "italic" }, numbers = {}, booleans = {}, types = { "italic" }, operators = {}, }, -- Setting this to false disables all default file format highlights. -- Useful if you want to enable specific file format options. -- NOTE: This option defaults to false when the treesitter plugin module is enabled, -- unless it is manually enabled inside the user's `setup()` function. default_fileformats = true, -- Setting this to false disables all default plugin highlights. -- Useful if you want to enable specific plugin options. default_plugins = true, -- This is the table you should be using in order to enable/disable custom highlights colors of certain file types. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-fileformats.md` fileformats = {}, -- This is the table you should be using in order to enable/disable custom highlights for Neopywal's supported plugins. -- For more information take a look at `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-plugins.md` plugins = {}, }) ``` -------------------------------- ### Configure bufferline.nvim with neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Integrate neopywal highlights into bufferline.nvim setup. ```lua require("bufferline").setup({\n highlights = require("neopywal.theme.plugins.bufferline").setup()\n})\nend\n} ``` ```lua {\n "RedsXDD/neopywal.nvim",\n name = "neopywal",\n lazy = false,\n priority = 1000, -- Neopywal loads first because it has higher priority.\n},\n{\n "akinsho/bufferline.nvim",\n config = function()\n require("bufferline").setup({\n highlights = require("neopywal.theme.plugins.bufferline").setup()\n })\n end\n} ``` ```lua local C = require("neopywal").get_colors()\n\nbufferline.setup({\n highlights = require("neopywal.theme.plugins.bufferline").setup({\n fill = { bg = C.color1 },\n background = { fg = "#00ff00" },\n })\n}) ``` -------------------------------- ### Configure reactive.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Setup reactive.nvim with neopywal themes and customize mode colors. ```lua local has_reactive, reactive = pcall(require, "reactive") if not has_reactive then return end local has_neopywal, neopywal_reactive = pcall(require, "neopywal.theme.plugins.reactive") if not has_neopywal then return end neopywal_reactive.setup() reactive.setup({ -- Note that there are 2 available presets, `cursor` and `cursorline`. load = { "neopywal-cursor", "neopywal-cursorline" } -- The rest of your reactive config ... }) ``` ```lua local neopywal_reactive = require("neopywal.theme.plugins.reactive") neopywal_reactive.setup({ -- A higher percentage means more vibrant mode colors, -- where "1" means to use "exactly" the mode color without any color transparency. color_percentage = 0.3, -- Any of the color values can either be: -- - A color exported by "get_colors()" (e.g.: `color8`) -- - A hexadecimal color (e.g.: "#ff0000"). -- - A function with an optional "C" parameter that returns one of the two options above. -- e.g: function(C) return C.color1 end mode_colors = { visual = "color5", insert = "color6", replace = "color2", -- Normal mode operations. change = "color2", delete = "color1", pending = "color4", yank = "color3", } }) ``` -------------------------------- ### Install Neopywal with packer.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt Configuration for installing Neopywal.nvim using packer.nvim. This specifies the plugin repository and an alias. ```lua use { "RedsXDD/neopywal.nvim", as = "neopywal" } ``` -------------------------------- ### Configure Palette via Setup Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-palettes.txt Demonstrates setting the use_palette option as a single string or a table mapping theme variants to specific palettes. ```lua require("neopywal").setup({ -- Setting `use_palette` to be a string will make it so Neopywal loads the specified palette -- (in this case "doomone") on both `dark` and `light` theme variants. use_palette = "doomone", -- You can also set it as a table specifying which type of palette you want -- to load for each of Neopywal's theme variants. use_palette = { dark = "tokyonight", light = "doomone" }, }) ``` -------------------------------- ### Configure Feline.nvim with Neopywal Components Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Update Feline configuration to use Neopywal components. This involves requiring Neopywal's feline theme plugin and using its `get()` function to provide components to Feline's setup. ```lua local has_feline, feline = pcall(require, "feline") if not has_feline then return end local has_neopywal, neopywal_feline = pcall(require, "neopywal.theme.plugins.feline") if not has_neopywal then return end neopywal_feline.setup() feline.setup({ components = neopywal_feline.get(), }) ``` -------------------------------- ### Setup reactive.nvim with Neopywal theme Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Integrate Neopywal's theme with reactive.nvim. Ensure both plugins are loaded and then configure reactive.nvim to load Neopywal presets. ```lua local has_reactive, reactive = pcall(require, "reactive") if not has_reactive then return end local has_neopywal, neopywal_reactive = pcall(require, "neopywal.theme.plugins.reactive") if not has_neopywal then return end neopywal_reactive.setup() reactive.setup({ -- Note that there are 2 available presets, `cursor` and `cursorline`. load = { "neopywal-cursor", "neopywal-cursorline" } -- The rest of your reactive config ... }) ``` -------------------------------- ### Configure plugins externally Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Use external setup functions for plugins that cannot be configured directly through Neopywal's main setup. ```lua -- Note that you can call `require()` directly instead of wrapping it around the `pcall()` function. -- However using `pcall()` is generally a safer approach as it can prevent Neovim from erring out -- if Neopywal could not be loaded for X reason. local has_lualine, lualine = pcall(require, "lualine") if not has_lualine then return end local has_neopywal, neopywal_lualine = pcall(require, "neopywal.theme.plugins.lualine") if not has_neopywal then return end -- You would put Neopywal's configuration for lualine inside this `setup()` function instead. neopywal_lualine.setup({ mode_colors = { normal = "color2" }, }) lualine.setup({ options = { theme = "neopywal" -- The rest of your lualine config ... } }) ``` -------------------------------- ### Default plugin settings Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Examples of setting default plugin states and disabling all default plugins. ```lua -- Here's the default configuration for yanky.nvim for example. -- You can see that by default the plugin is disabled. require("neopywal").setup({ plugins = { yanky = false } }) ``` ```lua require("neopywal").setup({ default_plugins = false, }) ``` -------------------------------- ### Configure alpha-nvim Plugin in Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of setting the default configuration for alpha-nvim, showing how to enable it. ```lua require("neopywal").setup({ plugins = { alpha = true } }) ``` -------------------------------- ### Configure plugins via Neopywal setup Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enable or disable supported plugins by setting them to true or false within the plugins table. ```lua require("neopywal").setup({ plugins = { alpha = true, dashboard = false, git_gutter = true, indent_blankline = true, lazy = true, lazygit = true, noice = false, notify = true, nvim_cmp = true, mini = { hipatterns = true, indentscope = { enabled = false, }, pick = true, starter = true, }, }, }) ``` -------------------------------- ### Install Neopywal with vim-plug Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt Install Neopywal.nvim using the vim-plug plugin manager. This command specifies the plugin and an alias. ```vim Plug "RedsXDD/neopywal.nvim", { "as": "neopywal" } ``` -------------------------------- ### Configure blink.cmp Plugin in Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of setting the default configuration for blink.cmp, showing how to enable it. ```lua require("neopywal").setup({ plugins = { blink_cmp = true } }) ``` -------------------------------- ### Install Neopywal with lazy.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt Use this configuration snippet to install Neopywal.nvim using the lazy.nvim package manager. Ensure lazy is set to false and priority is high for immediate loading. ```lua { "RedsXDD/neopywal.nvim", name = "neopywal", lazy = false, priority = 1000, opts = {}, } ``` -------------------------------- ### Setup Neopywal with a Single Palette Source: https://github.com/redsxdd/neopywal.nvim/blob/master/lua/neopywal/palettes/README.md Configure Neopywal.nvim to use a specific color palette by providing its name to the `use_palette` option in the `setup` function. ```lua require("neopywal").setup({ use_palette = "catppuccin-mocha" }) ``` -------------------------------- ### Configure aerial.nvim Plugin in Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of setting the default configuration for aerial.nvim, showing how to enable it. ```lua require("neopywal").setup({ plugins = { aerial = true } }) ``` -------------------------------- ### Default Palette Configuration Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-palettes.txt The default setup where both variants point to the pywal generated file. ```lua require("neopywal").setup({ -- Here are the default values set for the `use_palette` option. use_palette = { dark = "pywal", light = "pywal", }, }) ``` -------------------------------- ### Configure bufferline.nvim with Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Note that Bufferline needs to be loaded AFTER setting up Neopywal or it will highlight incorrectly. This example shows configuration for packer.nvim users. ```lua use "akinsho/bufferline.nvim" { after = "neopywal", config = function() ``` -------------------------------- ### Configure barbar.nvim Plugin in Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of setting the default configuration for barbar.nvim, showing how to disable it. ```lua require("neopywal").setup({ plugins = { barbar = false } }) ``` -------------------------------- ### Enable lazygit.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enables lazygit.nvim integration in the neopywal setup. ```lua require("neopywal").setup({ plugins = { lazygit = true } }) ``` -------------------------------- ### Configure mini.nvim modules Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Enable and configure various mini.nvim modules within the neopywal setup. ```lua require("neopywal").setup({ plugins = { mini = { animate = true } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { clue = true } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { completion = { enabled = true, parameter_style = { "underline" }, } } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { cursorword = { enabled = true, style = { "underline" }, } } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { deps = true } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { diff = true } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { files = true } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { hipatterns = { enabled = true, style = { fixme = { "bold", "italic" }, hack = { "bold", "italic" }, note = { "bold", "italic" }, todo = { "bold", "italic" }, } } } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { icons = true } } }) ``` ```lua require("neopywal").setup({ plugins = { mini = { indentscope = { enabled = true, -- Can either be: -- - A color exported by "get_colors()" (e.g.: `color8`) ``` -------------------------------- ### Setup Custom Highlight Groups Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-highlights.md Configure custom highlight groups for all themes, dark themes, and light themes using tables. `mycustomgroup` applies globally, `helloworld` to dark, and `nicestuff` to light. ```lua require("neopywal").setup({ -- In this configuration, -- `mycustomgroup` will be available globally to both theme variants. -- `helloworld` will only be available on the dark theme variant. -- `nicestuff` will only be available on the light theme variant. custom_highlights = { all = { mycustomgroup = { bg = "#ff0000" }, }, dark = { helloworld = { fg = "#00ff00" }, }, light = { nicestuff = { bg = "#ffffff", fg = "#0000ff" }, }, } }) ``` -------------------------------- ### Install Neopywal with mini.deps Source: https://github.com/redsxdd/neopywal.nvim/blob/master/README.md Configure mini.deps to include neopywal.nvim in your project dependencies. ```lua now(function() add({ source = "RedsXDD/neopywal.nvim", name = "neopywal", }) end) ``` -------------------------------- ### Configure yanky.nvim Plugin in Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of setting the default configuration for yanky.nvim, showing how to disable it. ```lua -- Here's the default configuration for yanky.nvim for example. -- You can see that by default the plugin is disabled. require("neopywal").setup({ plugins = { yanky = false } }) ``` -------------------------------- ### Configure ale Plugin in Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of setting the default configuration for ale, showing how to disable it. ```lua require("neopywal").setup({ plugins = { ale = false } }) ``` -------------------------------- ### Setup Neopywal with Custom Colors and Highlights (v3.0.0+) Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt Configure custom colors and highlights, supporting global, dark, and light theme variants. This replaces the older, simpler configuration method. ```lua require("neopywal").setup({ custom_colors = function (C) return { all = { myglobalcolor = C.color1 }, dark = { mydarkcolor = C.color2 }, light = { mylightcolor = C.color3 }, } end, custom_highlights = { all = function(C) return { myglobalhighlight = { bg = C.color1 } } end, dark = { mydarkhighlight = { bg = "#00ff00" } }, light = { mylighthighlight = { bg = "#ffff00" } }, }, }) ``` ```lua require("neopywal").setup({ custom_colors = { all = { mycustomcolor = "#ff0000", }, dark = {}, light = {}, }, custom_highlights = { ``` -------------------------------- ### Setup Custom Highlights for All Themes Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-highlights.txt Configure custom highlight groups that apply to both dark and light theme variants. `mycustomgroup` will be globally available. ```lua require("neopywal").setup({ -- In this configuration, -- `mycustomgroup` will be available globally to both theme variants. -- `helloworld` will only be available on the dark theme variant. -- `nicestuff` will only be available on the light theme variant. custom_highlights = { all = { mycustomgroup = { bg = "#ff0000" }, }, dark = { helloworld = { fg = "#00ff00" }, }, light = { nicestuff = { bg = "#ffffff", fg = "#0000ff" }, } } }) ``` -------------------------------- ### Setup Neopywal with Dark and Light Palettes Source: https://github.com/redsxdd/neopywal.nvim/blob/master/lua/neopywal/palettes/README.md Configure Neopywal.nvim to use different color palettes for dark and light themes by providing a table with `dark` and `light` keys to the `use_palette` option. ```lua require("neopywal").setup({ use_palette = { dark = "catppuccin-mocha" light = "tokyonight" } }) ``` -------------------------------- ### Disable fern.vim Integration with Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Example of how to disable Neopywal's integration with fern.vim by setting the fern option to false in the setup. ```lua require("neopywal").setup({ plugins = { fern = false } }) ``` -------------------------------- ### Configure Neopywal with mini.starter Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enable Neopywal integration for mini.starter. ```lua require("neopywal").setup({ plugins = { mini = { starter = true } } }) ``` -------------------------------- ### Setup Neopywal with Custom Builtin Palette Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal.txt To use a custom builtin palette from Neopywal, specify the palette name in the `use_palette` option. For example, use "doomone" for the 'doomone' palette. ```lua require("neopywal").setup({ use_palette = "doomone", }) ``` -------------------------------- ### Configure Barbecue Plugin with Neopywal Theme Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Optional setup for the barbecue plugin. Pass a Lua table to change style settings and groups from the Neopywal theme. This example shows advanced configuration options. ```lua local neopywal_barbecue = require("neopywal.theme.plugins.barbecue") neopywal_barbecue.setup({ dim_background = false, -- Whether to dim the background. dim_context = true, -- Whether the context should be dimmed. dim_dirname = true, -- Whether the directory name should be dimmed. hide_separator = false, -- Whether to hide the separator character. basename_style = { "bold", "italic" }, context_style = {}, dirname_style = {}, -- With this option you can overwrite any of the groups from the builtin theme. -- For more information take a look at `:h barbecue-recipes` and at -- `https://github.com/RedsXDD/neopywal.nvim/blob/master/docs/neopywal-highlights.md` -- as this option works exactly the same as `custom_highlights`. theme = {}, }) ``` -------------------------------- ### Configure fidget.nvim with Neopywal Highlight Groups Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Integrates Neopywal's highlight groups with fidget.nvim. This setup loads custom highlight groups for progress and notification displays. Overriding highlight groups can be done by passing a table to neopywal_fidget.setup(). ```lua local has_fidget, fidget = pcall(require, "fidget") if not has_fidget then return end local has_neopywal, neopywal_fidget = pcall(require, "neopywal.theme.plugins.fidget") if not has_neopywal then return end -- This is what loads the highlight groups that are used inside Fidget's setup function. neopywal_fidget.setup() fidget.setup({ progress = { display = { done_style = "FidgetDone", progress_style = "FigdetProgress", group_style = "FidgetGroup", icon_style = "FidgetIcon", }, }, notification = { view = { group_separator_hl = "FidgetSeparator", }, window = { normal_hl = "FidgetNormal", -- You can use this option to adjust the background color opacity for the notification window. -- But it's recommended set this to "0" if you don't plan on changing any of the custom highlight groups. winblend = 0, }, }, -- The rest of your fidget config ... }) ``` ```lua local neopywal_fidget = require("neopywal.theme.plugins.fidget") local C = require("neopywal").get_colors() local bg = require("neopywal.lib.config").options.transparent_background and C.none or C.dim_bg neopywal_fidget.setup({ FidgetDone = { bg = bg, fg = C.ok, styles = { "bold", "italic" } }, FidgetGroup = { bg = bg, fg = C.foreground, styles = { "bold", "italic" } }, FidgetIcon = { bg = bg, fg = C.color4, styles = { "bold", "italic" } }, FidgetNormal = { bg = bg, fg = C.comment, styles = { "bold", "italic" } }, FidgetProgress = { bg = bg, fg = C.color3, styles = { "bold", "italic" } }, FidgetSeparator = { bg = bg, fg = C.comment, styles = { "bold", "italic" } }, }) ``` -------------------------------- ### Configure nvim-window-picker with neopywal.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Configure nvim-window-picker integration with neopywal.nvim, including enabling it and setting a custom color. ```lua require("neopywal").setup({ plugins = { window_picker = { enabled = false, -- Can either be: -- - A color exported by "get_colors()" (e.g.: `color8`) -- - A hexadecimal color (e.g.: "#ff0000"). -- - A function with an optional "C" parameter that returns one of the two options above. -- e.g: function(C) return C.color1 end color = "" } } }) ``` -------------------------------- ### Configure Neopywal with mini.pick Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enable Neopywal integration for mini.pick. ```lua require("neopywal").setup({ plugins = { mini = { pick = true } } }) ``` -------------------------------- ### Enable lazy.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enables lazy.nvim integration in the neopywal setup. ```lua require("neopywal").setup({ plugins = { lazy = true } }) ``` -------------------------------- ### Configure netrw Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enable netrw integration. ```lua require("neopywal").setup({ plugins = { netrw = true } }) ``` -------------------------------- ### Disable headlines.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Disables headlines.nvim integration in the neopywal setup. ```lua require("neopywal").setup({ plugins = { headlines = false } }) ``` -------------------------------- ### Disable harpoon Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Disables harpoon integration in the neopywal setup. ```lua require("neopywal").setup({ plugins = { harpoon = false } }) ``` -------------------------------- ### Disable grug-far.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Disables grug-far.nvim integration in the neopywal setup. ```lua require("neopywal").setup({ plugins = { grug_far = false } }) ``` -------------------------------- ### Configure nvim-lspconfig Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Enable and customize LSP virtual text, underlines, and inlay hints. ```lua require("neopywal").setup({ plugins = { lsp = { enabled = true, virtual_text = { errors = { "bold", "italic" }, hints = { "bold", "italic" }, information = { "bold", "italic" }, ok = { "bold", "italic" }, warnings = { "bold", "italic" }, unnecessary = { "bold", "italic" }, }, underlines = { errors = { "undercurl" }, hints = { "undercurl" }, information = { "undercurl" }, ok = { "undercurl" }, warnings = { "undercurl" }, }, inlay_hints = { background = true, style = { "bold", "italic" }, } } } }) ``` -------------------------------- ### Configure mini.tabline Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enable mini.tabline integration. ```lua require("neopywal").setup({ plugins = { mini = { tabline = true } } }) ``` -------------------------------- ### Barbecue plugin integration Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Setup for integrating the Barbecue plugin with Neopywal. ```lua local has_barbecue, barbecue = pcall(require, "barbecue") if not has_barbecue then return end local has_neopywal, neopywal_barbecue = pcall(require, "neopywal.theme.plugins.barbecue") if not has_neopywal then return end ``` -------------------------------- ### Configure coc.nvim and LSP with neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Manage coc.nvim and LSP plugin integration settings. ```lua require("neopywal").setup({\n plugings = {\n coc = false\n }\n}) ``` ```lua require("neopywal").setup({\n plugins = {\n lsp = true,\n }\n}) ``` -------------------------------- ### Configure neo-tree.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Enable neo-tree integration. ```lua require("neopywal").setup({ plugins = { neotree = true } }) ``` -------------------------------- ### Configure lir.nvim integration Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Disable lir plugin integration within the neopywal setup. ```lua require("neopywal").setup({ plugins = { lir = { enabled = false, git_status = false, } } }) ``` -------------------------------- ### Use default plugin configuration Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Set a plugin to true to apply default configuration values instead of custom options. ```lua require("neopywal").setup({ plugins = { mini = { -- Note that the same plugin from before has been set to `true` instead of being set -- as a table of configuration options, therefore Neopywal will still load this plugin -- but use it's default configuration values instead. hipatterns = true } } }) ``` -------------------------------- ### Use Built-in Palettes Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-palettes.txt Specifying built-in palette names directly in the setup configuration. ```lua require("neopywal").setup({ use_palette = "catppuccin-mocha" -- or use_palette = { dark = "doomone" light = "tokyonight" } }) ``` -------------------------------- ### Configure lspsaga.nvim with Neopywal Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Sets up Neopywal integration for lspsaga and provides custom LSP kind icons. ```lua require("neopywal").setup({ plugings = { lspsaga = { enabled = false, dim_folder = true, -- Whether to dim the folder name on the winbar. dim_filename = true, -- Whether to dim the filename on the winbar. dim_separator = true, -- Whether to dim the separator character on the winbar. winbar_style = { "bold" }, } } }) ``` ```lua require("lspsaga").setup({ ui = { kind = require("neopywal.theme.plugins.lspsaga").get_kinds(), } }) ``` -------------------------------- ### Configure dropbar.nvim Source: https://github.com/redsxdd/neopywal.nvim/blob/master/docs/neopywal-plugins.md Manage dropbar.nvim integration and text coloring. ```lua require("neopywal").setup({\n plugins = {\n dropbar = {\n enabled = false,\n colored_text = false, -- Whether to add color for kind's texts.\n }\n }\n}) ``` -------------------------------- ### Configure mason.nvim integration Source: https://github.com/redsxdd/neopywal.nvim/blob/master/doc/neopywal-plugins.txt Enable mason plugin integration. ```lua require("neopywal").setup({ plugins = { mason = true, } }) ```