From 794c6ca2fc1cfb215d14dec1610f2cf24dcf2f99 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 18 Aug 2026 18:33:11 +0000 Subject: [PATCH] added some fun colour schemes and a new command new command is :FarbaColour X where x is a hue (0-360) to base the colour off of --- lua/plugins/colourscheme.lua | 160 ++++++++++++++++++++++++++++++++++- 1 file changed, 159 insertions(+), 1 deletion(-) diff --git a/lua/plugins/colourscheme.lua b/lua/plugins/colourscheme.lua index 9ed3004..9be410d 100644 --- a/lua/plugins/colourscheme.lua +++ b/lua/plugins/colourscheme.lua @@ -145,11 +145,169 @@ local rosepine = { -- vim.cmd("colorscheme rose-pine-dawn") } +local vesper = { + 'datsfilipe/vesper.nvim', + priority = 1000, +} + +local aquavium = { + "T-b-t-nchos/Aquavium.nvim", + lazy = false, + priority = 1000, + config = function() + local aquavium = require("Aquavium") + + aquavium.setup({ + -- your options here + -- bold = true, -- enable/disable to use bold-style + -- italic = true, -- enable/disable to use italic-style + transparent = true, -- enable/disable transparent background + }) + + --vim.cmd("colorscheme Aquavium") + end, +} + +local bluloco = { + 'uloco/bluloco.nvim', + lazy = false, + priority = 1000, + dependencies = { 'rktjmp/lush.nvim' }, + config = function() + -- your optional config goes here, see below. + require("bluloco").setup({ + style = "dark", -- "auto" | "dark" | "light" + transparent = false, + italics = false, + terminal = vim.fn.has("gui_running") == 1, -- bluoco colors are enabled in gui terminals per default. + guicursor = true, + rainbow_headings = false, -- if you want different colored headings for each heading level + float_window = "default" -- "default" | "transparent" + }) + end, +} + +-- THE FUN COLOUR ONE +local baseColour = 180 +vim.api.nvim_create_user_command('FarbaColour', function(opts) + baseColour = tonumber(opts.args) + require("farba").setup({ + cache = false, + mode = "dark", -- "light"|"dark" or let 'vim.o.background' decide with nil + transparency = { + normal = false, -- `true` to hide background + float = false, -- `true` to hide floating window background + }, + palette = { + --[[ + -- DEFAULT + general = { + gray = { hue = 0, sat = 0 }, + red = { hue = 0, sat = 100 }, + yellow = { hue = 30, sat = 75 }, + green = { hue = 90, sat = 50 }, + cyan = { hue = 140, sat = 75 }, + blue = { hue = 180, sat = 50 }, + magenta = { hue = 280, sat = 35 }, + }, + --]] + general = { + gray = { hue = baseColour, sat = 80 }, + red = { hue = baseColour+10, sat = 100 }, + yellow = { hue = baseColour+20, sat = 100 }, + green = { hue = baseColour+40, sat = 100 }, + cyan = { hue = baseColour-40, sat = 100 }, + blue = { hue = baseColour-20, sat = 100 }, + magenta = { hue = baseColour-10, sat = 100 }, + }, + -- the following use the same structure + -- missing fields use `general` as fallback + status = nil, + terminal = nil, + syntax = nil, + }, + }) + vim.cmd.colorscheme("farba") +end, { nargs = 1 }) +local farba = { + "shushtain/farba.nvim", -- Replace with the actual GitHub repo if it exists + lazy = false, -- Make sure it loads immediately on startup + priority = 1000, -- Load high priority before other plugins + config = function() + --vim.cmd.colorscheme("farba") + require("farba").setup({ + cache = false, + mode = "dark", -- "light"|"dark" or let 'vim.o.background' decide with nil + transparency = { + normal = false, -- `true` to hide background + float = false, -- `true` to hide floating window background + }, + palette = { + --[[ + -- DEFAULT + general = { + gray = { hue = 0, sat = 0 }, + red = { hue = 0, sat = 100 }, + yellow = { hue = 30, sat = 75 }, + green = { hue = 90, sat = 50 }, + cyan = { hue = 140, sat = 75 }, + blue = { hue = 180, sat = 50 }, + magenta = { hue = 280, sat = 35 }, + }, + --]] + general = { + gray = { hue = baseColour, sat = 80 }, + red = { hue = baseColour+10, sat = 100 }, + yellow = { hue = baseColour+20, sat = 100 }, + green = { hue = baseColour+40, sat = 100 }, + cyan = { hue = baseColour-40, sat = 100 }, + blue = { hue = baseColour-20, sat = 100 }, + magenta = { hue = baseColour-10, sat = 100 }, + }, + -- the following use the same structure + -- missing fields use `general` as fallback + status = nil, + terminal = nil, + syntax = nil, + }, + }) + end, +} + +local wisteria = { + "masisz/wisteria.nvim", + name = "wisteria", + opts = { + style = "dark", -- "dark" or "light" + transparent = true, + ---@type fun(colors:WisteriaColors):HighlightSpec + overrides = function(colors) return {} end, + }, +} + +local gruvbox = { + 'sainnhe/gruvbox-material', + lazy = false, + priority = 1000, + config = function() + -- Optionally configure and load the colorscheme + -- directly inside the plugin declaration. + vim.g.gruvbox_material_enable_italic = true + --vim.cmd.colorscheme('gruvbox-material') + end +} + return { material, dracula, kanagawa, everforest, - rosepine + rosepine, + vesper, + aquavium, + bluloco, + farba, + wisteria, + gruvbox }