add: update config colorscheme

This commit is contained in:
asep.komarudin 2024-06-03 07:49:17 +07:00
parent 4bbbf4bc75
commit 07c6b8ce49
19 changed files with 911 additions and 766 deletions

View file

@ -11,12 +11,11 @@
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"code_runner.nvim": { "branch": "main", "commit": "6c5bfe44a6c7523350cd706e6b3b8101166eed99" },
"codeium.vim": { "branch": "main", "commit": "289eb724e5d6fab2263e94a1ad6e54afebefafb2" },
"darcula-dark.nvim": { "branch": "main", "commit": "cce636860dc5151b6980a35dd378f54a238e0f0e" },
"dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" },
"friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" },
"gitsigns.nvim": { "branch": "main", "commit": "76927d14d3fbd4ba06ccb5246e79d93b5442c188" },
"indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" },
"lazy.nvim": { "branch": "main", "commit": "ad30030b6abca7dac5a493c58b4d183b3fe93202" },
"lazy.nvim": { "branch": "main", "commit": "b0ba3f9399bf48c86abaa4db1a40bd0b681d5018" },
"lsp-progress.nvim": { "branch": "main", "commit": "55a04895ea20c365b670051a3128265d43bdfa3d" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" },
@ -32,6 +31,7 @@
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
"nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" },
"nvim-juliana": { "branch": "master", "commit": "fa1d6e8b816e25f269a44807e702750de0da0413" },
"nvim-lspconfig": { "branch": "master", "commit": "0b8165cf95806bc4bb8f745bb0c92021b2ed4b98" },
"nvim-material-icon": { "branch": "main", "commit": "7a8893417c6947925d00946d16b81b56574796a9" },
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },

View file

@ -1,4 +1,4 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
-- bootstrap lazy.nvim
-- stylua: ignore
@ -15,45 +15,46 @@ local icons = require("user.icons").ui
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.diagnostic.config({ virtual_lines = false })
require("lazy").setup({
spec = {
{ import = "plugins" },
{ import = "custom.plugins" },
},
defaults = {
lazy = true, -- every plugin is lazy-loaded by default
version = "*", -- try installing the latest stable version for plugins that support semver
},
ui = {
backdrop = 100,
border = "rounded",
browser = "chrome",
throttle = 40,
custom_keys = { ["<localleader>l"] = false },
icons = {
ft = icons.ft,
lazy = icons.Bell .. " ",
loaded = icons.CheckCircle,
not_loaded = icons.not_loaded,
},
},
change_detection = { enabled = false, notify = false },
checker = { enabled = true }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
"matchit",
"matchparen",
"netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
"lazyredraw",
},
},
},
})
vim.diagnostic.config { virtual_lines = false }
require("lazy").setup {
spec = {
{ import = "plugins.themes" },
{ import = "plugins" },
{ import = "custom.plugins" },
},
defaults = {
lazy = true, -- every plugin is lazy-loaded by default
version = "*", -- try installing the latest stable version for plugins that support semver
},
ui = {
backdrop = 100,
border = "rounded",
browser = "chrome",
throttle = 40,
custom_keys = { ["<localleader>l"] = false },
icons = {
ft = icons.ft,
lazy = icons.Bell .. " ",
loaded = icons.CheckCircle,
not_loaded = icons.not_loaded,
},
},
change_detection = { enabled = false, notify = false },
checker = { enabled = true }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
"matchit",
"matchparen",
"netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
"lazyredraw",
},
},
},
}

View file

@ -15,7 +15,7 @@
-- solarized-osaka
-- darcula-dark
-- juliana
vim.g.pcode_colorscheme = "darcula-dark"
vim.g.pcode_colorscheme = "juliana"
-- 0 =off 1= on
vim.g.pcode_transparent_mode = 0

View file

@ -1,6 +1,6 @@
local opts, _ = pcall(require, "user.options")
if opts then
require("user.options")
require "user.options"
end
-- local key, _ = pcall(require, "user.keymaps")
-- if key then
@ -8,11 +8,11 @@ end
-- end
local cmd, _ = pcall(require, "user.autocommands")
if cmd then
require("user.autocommands")
require "user.autocommands"
end
local onsave, _ = pcall(require, "user.format_onsave")
if onsave then
require("user.format_onsave")
require "user.format_onsave"
end
vim.g.pcode_icons = require("user.icons")
vim.g.pcode_icons = require "user.icons"
return {}

View file

@ -1,716 +0,0 @@
local nightfox = false
_G.switch = function(param, case_table)
local case = case_table[param]
if case then
return case()
end
local def = case_table["default"]
return def and def() or nil
end
_G.substring = function(text, key)
local index, _ = string.find(text, key)
if index then
return true
else
return false
end
end
_G.extract = function(text)
local result = {}
for substring in string.gmatch(text, "[^_]+") do
table.insert(result, substring)
end
return result
end
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local materialstyle = extract(color)[2] or "oceanic"
local material_style = (materialstyle == "deepocean") and "deep ocean" or materialstyle
switch(color, {
["nightfox"] = function()
nightfox = true
end,
["dayfox"] = function()
nightfox = true
end,
["dawnfox"] = function()
nightfox = true
end,
["duskfox"] = function()
nightfox = true
end,
["nordfox"] = function()
nightfox = true
end,
["terafox"] = function()
nightfox = true
end,
["carbonfox"] = function()
nightfox = true
end,
default = function() end,
})
-- local transparent = false
local transparent_mode = vim.g.pcode_transparent_mode or 0
-- if transparent_mode ~= nil then
-- if transparent_mode == 1 then
-- transparent = true
-- end
-- end
return {
-- color scheme
{
"luisiacc/gruvbox-baby",
priority = 1000,
lazy = true,
enabled = (color == "gruvbox-baby") and true or false,
config = function()
local colors = require("gruvbox-baby.colors").config()
vim.g.gruvbox_baby_highlights = {
StatusLine = { fg = colors.fg, bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg },
BufferLineFill = { bg = colors.bg },
BufferLineFillNC = { bg = colors.bg },
BufferLineUnfocusedFill = { bg = colors.bg },
TabLine = { bg = colors.bg, fg = colors.fg },
NvimTreeNormal = { bg = colors.bg, fg = colors.fg },
NvimTreeNormalNC = { bg = colors.bg, fg = colors.fg },
NvimTreeWinSeparator = { fg = colors.fg },
Pmenu = { fg = colors.fg, bg = colors.bg },
WhichKeyFloat = { fg = colors.fg, bg = colors.bg },
WhichKeyBorder = { fg = colors.fg, bg = colors.bg },
NormalFloat = { fg = colors.fg, bg = colors.bg },
NormalNC = { fg = colors.fg, bg = colors.bg },
FloatBorder = { fg = colors.fg, bg = colors.bg },
LspInfoBorder = { fg = colors.fg, bg = colors.bg },
}
vim.g.gruvbox_baby_transparent_mode = transparent_mode
end,
},
{
"Mofiqul/dracula.nvim",
priority = 1000,
enabled = (color == "dracula") and true or false,
config = function()
local colors = require("dracula").colors()
require("dracula").setup {
colors = {
-- purple = "#FCC76A",
menu = colors.bg,
},
italic_comment = true,
lualine_bg_color = colors.bg,
overrides = {
Keywords = { fg = colors.cyan, italic = true },
-- Function = { fg = colors.yellow, italic = true },
["@keyword"] = { fg = colors.pink, italic = true },
["@keyword.function"] = { fg = colors.cyan, italic = true },
["@function"] = { fg = colors.green, italic = true },
-- ["@tag.javascript"] = { fg = colors.cyan, italic = true },
-- ["@tag.attribute"] = { fg = colors.green, italic = true },
-- ["@tag.attribute.javascript"] = { fg = colors.orange, italic = true },
NvimTreeFolderIcon = { fg = "#6776a7" },
CmpItemAbbr = { fg = "#ABB2BF" },
CmpItemKind = { fg = "#ABB2BF" },
CmpItemAbbrDeprecated = { fg = "#ABB2BF" },
CmpItemAbbrMatch = { fg = "#8BE9FD" },
htmlLink = { fg = "#BD93F9", underline = false },
Underlined = { fg = "#8BE9FD" },
NvimTreeSpecialFile = { fg = "#FF79C6" },
SpellBad = { fg = "#FF6E6E" },
illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" },
DiffChange = { fg = colors.fg },
StatusLine = { fg = colors.fg, bg = colors.bg },
StatusLineTerm = { fg = colors.fg, bg = colors.bg },
BufferLineFill = { bg = colors.bg },
Pmenu = { fg = colors.fg, bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg },
LspInfoBorder = { fg = colors.fg },
LspReferenceText = { bg = "#3b4261" },
LspReferenceRead = { bg = "#3b4261" },
LspReferenceWrite = { bg = "#3b4261" },
},
transparent_bg = (transparent_mode == 1) and true or false,
}
end,
},
{
"folke/tokyonight.nvim",
priority = 1000,
enabled = substring(tostring(color), "tokyonight") and true or false,
config = function()
require "user.tokyonight"
end,
},
{
"shaunsingh/nord.nvim",
priority = 1000,
enabled = (color == "nord") and true or false,
config = function()
vim.g.nord_disable_background = (transparent_mode == 1) and true or false
require("nord").set()
local nord = require "nord.colors"
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
vim.api.nvim_set_hl(0, "StatusLine", { bg = "NONE", fg = nord.nord4_gui })
vim.api.nvim_set_hl(0, "WinBarNC", { bg = nord.nord0_gui, fg = nord.nord4_gui })
vim.api.nvim_set_hl(0, "WhichKeyFloat", { bg = nord.nord0_gui, fg = nord.nord4_gui })
-- vim.api.nvim_set_hl(0, "StatusLine", { cterm = "bold", bold = true })
end,
})
end,
},
{
"sainnhe/sonokai",
priority = 1000,
enabled = substring(tostring(color), "sonokai") and true or false,
config = function()
vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("custom_highlights_sonokai", {}),
pattern = "sonokai",
callback = function()
local config = vim.fn["sonokai#get_configuration"]()
local palette = vim.fn["sonokai#get_palette"](config.style, config.colors_override)
local set_hl = vim.fn["sonokai#highlight"]
set_hl("StatusLine", palette.fg, palette.none)
set_hl("StatusLineTerm", palette.fg, palette.none)
set_hl("StatusLineNC", palette.fg, palette.none)
set_hl("StatusLineTermNC", palette.fg, palette.none)
set_hl("LualineNormal", palette.fg, palette.none)
set_hl("NvimTreeNormal", palette.fg, palette.bg0)
set_hl("NvimTreeCursorLine", palette.fg, palette.bg1)
set_hl("NvimTreeEndOfBuffer", palette.fg, palette.bg0)
set_hl("Pmenu", palette.fg, palette.bg0)
set_hl("WhichKeyFloat", palette.fg, palette.bg0)
set_hl("WhichKey", palette.fg, palette.bg0)
set_hl("WhichKeyBorder", palette.fg, palette.bg0)
set_hl("NormalFloat", palette.fg, palette.bg0)
set_hl("Normal", palette.fg, palette.bg0)
set_hl("NormalNC", palette.fg, palette.bg0)
set_hl("FloatBorder", palette.fg, palette.bg0)
set_hl("LspInfoNormal", palette.fg, palette.bg0)
end,
})
vim.g.sonokai_style = extract(color)[2] or "default"
vim.g.sonokai_transparent_background = (transparent_mode == 1) and 2 or 0
end,
},
{ "lunarvim/lunar.nvim", enabled = (color == "lunar") and true or false },
{
"marko-cerovac/material.nvim",
priority = 1000,
enabled = substring(tostring(color), "material") and true or false,
config = function()
local colors = require "material.colors"
vim.g.material_style = material_style
require("material").setup {
lualine_style = "stealth",
disable = {
background = (transparent_mode == 1) and true or false,
},
plugins = { -- Uncomment the plugins that you use to highlight them
-- Available plugins:
"dap",
-- "dashboard",
-- "eyeliner",
"fidget",
-- "flash",
"gitsigns",
-- "harpoon",
-- "hop",
"illuminate",
"indent-blankline",
-- "lspsaga",
"mini",
-- "neogit",
-- "neotest",
-- "neo-tree",
-- "neorg",
"noice",
"nvim-cmp",
"nvim-navic",
"nvim-tree",
"nvim-web-devicons",
"rainbow-delimiters",
-- "sneak",
"telescope",
-- "trouble",
"which-key",
"nvim-notify",
},
custom_highlights = {
BufferLineFill = { bg = colors.bg },
StatusLine = { fg = "#f8f8f2", bg = colors.bg },
StatusLineTerm = { fg = "#f8f8f2", bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg },
CursorLine = { bg = "#333842" },
},
}
end,
},
{
"olimorris/onedarkpro.nvim",
priority = 1000, -- Ensure it loads first
enabled = substring(tostring(color), "onedark") and true or false,
config = function()
local is_transparent = (transparent_mode == 1) and true or false
require("onedarkpro").setup {
styles = {
types = "NONE",
methods = "NONE",
numbers = "NONE",
strings = "NONE",
comments = "italic",
keywords = "bold,italic",
constants = "NONE",
functions = "italic",
operators = "NONE",
variables = "NONE",
parameters = "NONE",
conditionals = "italic",
virtual_text = "NONE",
tags = "italic",
},
colors = {
bg_statusline = "#282c34",
onedark = {
green = "#99c379",
gray = "#8094b4",
red = "#e06c75",
purple = "#c678dd",
yellow = "#e5c07a",
blue = "#61afef",
cyan = "#56b6c2",
indentline = "#3b4261",
float_bg = "#282c34",
},
onedark_dark = {
bg_statusline = "#000",
},
},
options = {
cursorline = true,
transparency = is_transparent,
terminal_colors = true,
},
highlights = {
-- overide cursor line fill colors
LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
CursorLine = { bg = "#333842" },
Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor
lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM|
CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
-- overide nvimtree folder icon fill color
NvimTreeFolderIcon = { fg = "${gray}" },
-- overide nvimtree text fill color folder opened
NvimTreeOpenedFolderName = { fg = "${blue}" },
-- overide nvimtree text fill color root folder
NvimTreeRootFolder = { fg = "${yellow}" },
NvimTreeSpecialFile = { fg = "${orange}" },
NvimTreeWinSeparator = { fg = "#202329" },
NvimTreeIndentMarker = { fg = "#3E4450" },
-- overide indenline fill color
IblIndent = { fg = "#3E4450" },
-- overide cmp cursorline fill color with #333842
PmenuSel = { bg = "#333842" },
illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" },
StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" },
StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" },
BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" },
["@string.special.url.html"] = { fg = "${green}" },
["@lsp.type.parameter"] = { fg = "${gray}" },
-- ["@text.uri.html"] = { fg = "${green}" },
-- ["@tag.javascript"] = { fg = "${red}" },
-- ["@tag.attribute"] = { fg = "${orange}", style = "italic" },
-- ["@constructor.javascript"] = { fg = "${red}" },
-- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names
-- ["@variable.builtin"] = { fg = "${red}", style = "NONE" },
-- ["@variable.member"] = "${cyan}",
-- ["@variable.parameter"] = "${red}",
-- ["@property"] = { fg = "${cyan}" }, -- similar to `@field`
["@property.lua"] = { fg = "${red}", bg = "NONE" },
["@lsp.type.property.lua"] = { fg = "${cyan}", bg = "NONE" },
["@lsp.type.variable.lua"] = { fg = "${red}", bg = "NONE" },
NvimTreeGitDirty = { fg = "${yellow}" },
Pmenu = { fg = "${fg}", bg = "${bg}" },
PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar.
-- overide lualine fill color with bg color
LualineNormal = { bg = "${bg}" },
-- overide lualine_c fill color with bg color
LualineC = { bg = "${bg}" },
-- overide lualine_x fill color with bg color
LualineX = { bg = "${bg}" },
-- overide which-key fill color with bg color
-- WhichKey = { bg = "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeySeperator = { bg = "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeyDesc = { fg = "${red}" },
-- -- overide which-key fill color with bg color
-- WhichKeyFloat = { bg = "${bg}" },
WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeyValue = { bg = "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeyBorder = { bg = "${bg}" },
LspInfoBorder = { fg = "${fg}" },
NormalFloat = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
Normal = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
NormalNC = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
FloatBorder = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
},
}
end,
},
{
"catppuccin/nvim",
enabled = substring(tostring(color), "catppuccin") and true or false,
name = "catppuccin",
priority = 1000,
config = function()
local transparent = (transparent_mode == 1) and true or false
require("catppuccin").setup {
flavour = "auto", -- latte, frappe, macchiato, mocha
background = { -- :h background
light = "latte",
dark = "mocha",
},
transparent_background = transparent, -- disables setting the background color.
show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
dim_inactive = {
enabled = false, -- dims the background color of inactive window
shade = "dark",
percentage = 0.15, -- percentage of the shade to apply to the inactive window
},
no_italic = false, -- Force no italic
no_bold = false, -- Force no bold
no_underline = false, -- Force no underline
styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
comments = { "italic" }, -- Change the style of comments
conditionals = { "italic" },
loops = {},
functions = {},
keywords = { "italic" },
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
-- miscs = {}, -- Uncomment to turn off hard-coded styles
},
color_overrides = {},
custom_highlights = function(colors)
return {
NvimTreeNormal = { fg = colors.text, bg = transparent and colors.none or colors.base },
NvimTreeWinSeparator = { fg = colors.mantle, bg = transparent and colors.none or colors.none },
Pmenu = { fg = colors.text, bg = transparent and colors.none or colors.base },
WhichKeyFloat = { fg = colors.text, bg = transparent and colors.none or colors.base },
WhichKey = { fg = colors.text, bg = transparent and colors.none or colors.base },
WhichKeyBorder = { fg = colors.text, bg = transparent and colors.none or colors.base },
NormalFloat = { fg = colors.text, bg = transparent and colors.none or colors.base },
Normal = { fg = colors.text, bg = transparent and colors.none or colors.base },
NormalNC = { fg = colors.text, bg = transparent and colors.none or colors.base },
StatusLine = { fg = colors.text, bg = colors.none },
}
end,
highlight_overrides = {
all = function(colors)
return {
["@markup.link.url"] = { fg = colors.rosewater, style = { "italic" } },
}
end,
},
default_integrations = true,
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
},
}
end,
},
{
"EdenEast/nightfox.nvim",
priority = 1000,
enabled = nightfox,
config = function()
local palette = require("nightfox.palette").load "nightfox"
local Color = require "nightfox.lib.color"
local bg = Color.from_hex(palette.bg1)
require("nightfox").setup {
options = {
terminal_colors = true,
transparent = (transparent_mode == 1) and true or false,
styles = { -- Style to be applied to different syntax groups
comments = "italic", -- Value is any valid attr-list value `:help attr-list`
conditionals = "italic",
constants = "NONE",
functions = "NONE",
keywords = "italic",
numbers = "NONE",
operators = "NONE",
strings = "NONE",
types = "NONE",
variables = "NONE",
},
},
palettes = {
all = {
bg0 = palette.bg1,
bg = palette.bg1,
},
},
specs = {},
groups = {
all = {
-- overide bufferline fill color
BufferLineFill = { bg = palette.bg1 },
BufferLineUnfocusedFill = { bg = palette.bg },
-- overide nvimtree fill color with bg color
NvimTreeNormal = { bg = palette.bg },
NvimTreeWinSeparator = {
fg = palette.bg0,
},
Underlined = { style = "NONE" }, -- overide statusline fill color with bg color
StatusLine = { bg = "NONE" },
StatusLineTerm = { bg = palette.bg },
-- overide lualine fill color with bg color
LualineNormal = { bg = palette.bg },
Pmenu = { bg = "bg3" },
PmenuSel = { bg = "bg3" },
},
},
}
end,
},
{
"projekt0n/github-nvim-theme",
lazy = false, -- make sure we load this during startup if it is your main colorscheme
priority = 1000, -- make sure to load this before all the other start plugins
enabled = substring(tostring(color), "github") and true or false,
config = function()
local is_transparent = (transparent_mode == 1) and true or false
local palette = require("github-theme.palette").load "github_dark_dimmed"
require("github-theme").setup {
options = {
-- Compiled file's destination location
compile_path = vim.fn.stdpath "cache" .. "/github-theme",
compile_file_suffix = "_compiled", -- Compiled file suffix
hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look
hide_nc_statusline = true, -- Override the underline style for non-active statuslines
transparent = is_transparent, -- Disable setting background
terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
dim_inactive = false, -- Non focused panes set to alternative background
module_default = true, -- Default enable value for modules
styles = { -- Style to be applied to different syntax groups
comments = "italic", -- Value is any valid attr-list value `:help attr-list`
functions = "italic",
keywords = "NONE",
variables = "NONE",
conditionals = "NONE",
constants = "NONE",
numbers = "NONE",
operators = "NONE",
strings = "NONE",
types = "NONE",
},
inverse = { -- Inverse highlight for different types
match_paren = false,
visual = false,
search = false,
},
darken = { -- Darken floating windows and sidebar-like windows
floats = false,
sidebars = {
enabled = true,
list = {}, -- Apply dark background to specific windows
},
},
modules = { -- List of various plugins and additional options
-- ...
},
},
palettes = {
github_dark_dimmed = {
bg0 = is_transparent and "NONE" or "bg1",
bg1 = is_transparent and "NONE" or "bg",
},
},
specs = {},
groups = {
all = {
illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" },
["@tag.attribute"] = { fg = "#77bdfb", style = "italic" },
["@text.uri"] = { fg = palette.const, style = "italic" },
["@keyword.return"] = { fg = "#fa7970", style = "italic" },
-- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" },
-- ["@operator.html"] = { fg = "#faa356" },
-- ["@tag.html"] = { fg = "#fa7970" },
-- ["@tag.delimiter.html"] = { fg = "#faa356" },
-- ["@tag.javascript"] = { fg = "#faa356" },
-- ["@tag.javascript"] = { fg = "#8ddb8c" },
["@tag.builtin.javascript"] = { fg = "#8ddb8c" },
-- ["@tag.tsx"] = { fg = "#8ddb8c" },
["@string.special.url"] = { fg = palette.const, style = "italic" },
["@tag.delimiter.javascript"] = { fg = "fg1" },
["@tag.tsx"] = { fg = "#faa356" },
["@lsp.type.parameter"] = { fg = "#91cbff" },
["@property.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" },
["@lsp.type.property.lua"] = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
["@lsp.type.variable.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" },
-- sparator new all
NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
NvimTreeIndentMarker = { fg = "#3E4450" },
BufferLineFill = { bg = is_transparent and "NONE" or "bg1" },
BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" },
LualineNormal = { bg = is_transparent and "NONE" or "bg1" },
StatusLine = { bg = is_transparent and "NONE" or "bg1" },
StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" },
Pmenu = { bg = is_transparent and "NONE" or "bg1" },
PmenuSel = { link = "CursorLine" },
WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" },
LazyNormal = { bg = is_transparent and "NONE" or "bg1" },
LazyBackground = { bg = is_transparent and "NONE" or "bg1" },
NormalSB = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, -- normal text
NormalFloat = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
IblIndent = { fg = "#3E4450" },
},
github_dark_high_contrast = {
NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
},
github_dark_dimmed = {
-- As with specs and palettes, a specific style's value will be used over the `all`'s value.
},
},
}
end,
},
{
"craftzdog/solarized-osaka.nvim",
lazy = false,
priority = 1000,
enabled = substring(tostring(color), "solarized") and true or false,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
transparent = (transparent_mode == 1) and true or false, -- Enable this to disable setting the background color
terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim)
styles = {
-- Style to be applied to different syntax groups
-- Value is any valid attr-list value for `:help nvim_set_hl`
comments = { italic = true },
keywords = { italic = true },
functions = {},
variables = {},
-- Background styles. Can be "dark", "transparent" or "normal"
sidebars = (transparent_mode == 1) and "transparent" or "normal", -- style for sidebars, see below
floats = "dark", -- style for floating windows
},
sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
dim_inactive = false, -- dims inactive windows
lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
--- You can override specific color groups to use other groups or a hex color
--- function will be called with a ColorScheme table
--@param colors ColorScheme
on_colors = function(colors)
colors.bg_statusline = colors.none
end,
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
--@param highlights Highlights
--@param colors ColorScheme
on_highlights = function(highlights, colors)
highlights.NvimTreeWinSeparator = {
fg = colors.border,
}
highlights.Underlined = {
underline = false,
}
highlights.BufferLineFill = { bg = colors.bg }
highlights.StatusLine = { bg = colors.none, fg = colors.fg }
highlights.StatusLineNC = { bg = colors.none, fg = colors.fg }
highlights.NvimTreeSpecialFile = { fg = colors.purple, underline = false }
highlights["@tag.attribute"] = { fg = colors.green1, italic = true }
end,
},
config = function(_, opts)
require("solarized-osaka").setup(opts)
end,
},
{
"pojokcodeid/darcula-dark.nvim",
enabled = (color == "darcula-dark") and true or false,
priority = 1000,
lazy = false,
config = function()
require("darcula").setup {
colors = {
lavender = "#9876AA",
},
}
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
local colors = require("darcula").colors()
local hi = vim.api.nvim_set_hl
hi(0, "@property.json", { fg = colors.lavender })
end,
})
end,
},
{
"pojokcodeid/nvim-juliana",
lazy = false,
enabled = (color == "juliana") and true or false,
priority = 1000,
opts = {},
config = function()
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
-- get colors
local colors = require("nvim-juliana").colors()
-- custom hilights
local hi = vim.api.nvim_set_hl
hi(0, "FoldColumn", { bg = colors.bg2 })
end,
})
end,
},
}

View file

@ -0,0 +1,27 @@
_G.switch = function(param, case_table)
local case = case_table[param]
if case then
return case()
end
local def = case_table["default"]
return def and def() or nil
end
_G.substring = function(text, key)
local index, _ = string.find(text, key)
if index then
return true
else
return false
end
end
_G.extract = function(text)
local result = {}
for substring in string.gmatch(text, "[^_]+") do
table.insert(result, substring)
end
return result
end
return {}

View file

@ -0,0 +1,84 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if substring(tostring(color), "catppuccin") and true or false then
return {
"catppuccin/nvim",
enabled = substring(tostring(color), "catppuccin") and true or false,
name = "catppuccin",
priority = 1000,
config = function()
local transparent = (transparent_mode == 1) and true or false
require("catppuccin").setup {
flavour = "auto", -- latte, frappe, macchiato, mocha
background = { -- :h background
light = "latte",
dark = "mocha",
},
transparent_background = transparent, -- disables setting the background color.
show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
dim_inactive = {
enabled = false, -- dims the background color of inactive window
shade = "dark",
percentage = 0.15, -- percentage of the shade to apply to the inactive window
},
no_italic = false, -- Force no italic
no_bold = false, -- Force no bold
no_underline = false, -- Force no underline
styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
comments = { "italic" }, -- Change the style of comments
conditionals = { "italic" },
loops = {},
functions = {},
keywords = { "italic" },
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
-- miscs = {}, -- Uncomment to turn off hard-coded styles
},
color_overrides = {},
custom_highlights = function(colors)
return {
NvimTreeNormal = { fg = colors.text, bg = transparent and colors.none or colors.base },
NvimTreeWinSeparator = { fg = colors.mantle, bg = transparent and colors.none or colors.none },
Pmenu = { fg = colors.text, bg = transparent and colors.none or colors.base },
WhichKeyFloat = { fg = colors.text, bg = transparent and colors.none or colors.base },
WhichKey = { fg = colors.text, bg = transparent and colors.none or colors.base },
WhichKeyBorder = { fg = colors.text, bg = transparent and colors.none or colors.base },
NormalFloat = { fg = colors.text, bg = transparent and colors.none or colors.base },
Normal = { fg = colors.text, bg = transparent and colors.none or colors.base },
NormalNC = { fg = colors.text, bg = transparent and colors.none or colors.base },
StatusLine = { fg = colors.text, bg = colors.none },
}
end,
highlight_overrides = {
all = function(colors)
return {
["@markup.link.url"] = { fg = colors.rosewater, style = { "italic" } },
}
end,
},
default_integrations = true,
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = false,
mini = {
enabled = true,
indentscope_color = "",
},
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
},
}
end,
}
else
return {}
end

View file

@ -0,0 +1,58 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if (color == "dracula") and true or false then
return {
"Mofiqul/dracula.nvim",
priority = 1000,
enabled = (color == "dracula") and true or false,
config = function()
local colors = require("dracula").colors()
require("dracula").setup {
colors = {
-- purple = "#FCC76A",
menu = colors.bg,
},
italic_comment = true,
lualine_bg_color = colors.bg,
overrides = {
Keywords = { fg = colors.cyan, italic = true },
-- Function = { fg = colors.yellow, italic = true },
["@keyword"] = { fg = colors.pink, italic = true },
["@keyword.function"] = { fg = colors.cyan, italic = true },
["@function"] = { fg = colors.green, italic = true },
-- ["@tag.javascript"] = { fg = colors.cyan, italic = true },
-- ["@tag.attribute"] = { fg = colors.green, italic = true },
-- ["@tag.attribute.javascript"] = { fg = colors.orange, italic = true },
NvimTreeFolderIcon = { fg = "#6776a7" },
CmpItemAbbr = { fg = "#ABB2BF" },
CmpItemKind = { fg = "#ABB2BF" },
CmpItemAbbrDeprecated = { fg = "#ABB2BF" },
CmpItemAbbrMatch = { fg = "#8BE9FD" },
htmlLink = { fg = "#BD93F9", underline = false },
Underlined = { fg = "#8BE9FD" },
NvimTreeSpecialFile = { fg = "#FF79C6" },
SpellBad = { fg = "#FF6E6E" },
illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" },
DiffChange = { fg = colors.fg },
StatusLine = { fg = colors.fg, bg = colors.bg },
StatusLineTerm = { fg = colors.fg, bg = colors.bg },
BufferLineFill = { bg = colors.bg },
Pmenu = { fg = colors.fg, bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg },
LspInfoBorder = { fg = colors.fg },
LspReferenceText = { bg = "#3b4261" },
LspReferenceRead = { bg = "#3b4261" },
LspReferenceWrite = { bg = "#3b4261" },
},
transparent_bg = (transparent_mode == 1) and true or false,
}
end,
}
else
return {}
end

View file

@ -0,0 +1,114 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if substring(tostring(color), "github") and true or false then
return {
"projekt0n/github-nvim-theme",
lazy = false, -- make sure we load this during startup if it is your main colorscheme
priority = 1000, -- make sure to load this before all the other start plugins
enabled = substring(tostring(color), "github") and true or false,
config = function()
local is_transparent = (transparent_mode == 1) and true or false
local palette = require("github-theme.palette").load "github_dark_dimmed"
require("github-theme").setup {
options = {
-- Compiled file's destination location
compile_path = vim.fn.stdpath "cache" .. "/github-theme",
compile_file_suffix = "_compiled", -- Compiled file suffix
hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look
hide_nc_statusline = true, -- Override the underline style for non-active statuslines
transparent = is_transparent, -- Disable setting background
terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
dim_inactive = false, -- Non focused panes set to alternative background
module_default = true, -- Default enable value for modules
styles = { -- Style to be applied to different syntax groups
comments = "italic", -- Value is any valid attr-list value `:help attr-list`
functions = "italic",
keywords = "NONE",
variables = "NONE",
conditionals = "NONE",
constants = "NONE",
numbers = "NONE",
operators = "NONE",
strings = "NONE",
types = "NONE",
},
inverse = { -- Inverse highlight for different types
match_paren = false,
visual = false,
search = false,
},
darken = { -- Darken floating windows and sidebar-like windows
floats = false,
sidebars = {
enabled = true,
list = {}, -- Apply dark background to specific windows
},
},
modules = { -- List of various plugins and additional options
-- ...
},
},
palettes = {
github_dark_dimmed = {
bg0 = is_transparent and "NONE" or "bg1",
bg1 = is_transparent and "NONE" or "bg",
},
},
specs = {},
groups = {
all = {
illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" },
["@tag.attribute"] = { fg = "#77bdfb", style = "italic" },
["@text.uri"] = { fg = palette.const, style = "italic" },
["@keyword.return"] = { fg = "#fa7970", style = "italic" },
-- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" },
-- ["@operator.html"] = { fg = "#faa356" },
-- ["@tag.html"] = { fg = "#fa7970" },
-- ["@tag.delimiter.html"] = { fg = "#faa356" },
-- ["@tag.javascript"] = { fg = "#faa356" },
-- ["@tag.javascript"] = { fg = "#8ddb8c" },
["@tag.builtin.javascript"] = { fg = "#8ddb8c" },
-- ["@tag.tsx"] = { fg = "#8ddb8c" },
["@string.special.url"] = { fg = palette.const, style = "italic" },
["@tag.delimiter.javascript"] = { fg = "fg1" },
["@tag.tsx"] = { fg = "#faa356" },
["@lsp.type.parameter"] = { fg = "#91cbff" },
["@property.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" },
["@lsp.type.property.lua"] = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
["@lsp.type.variable.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" },
-- sparator new all
NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
NvimTreeIndentMarker = { fg = "#3E4450" },
BufferLineFill = { bg = is_transparent and "NONE" or "bg1" },
BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" },
LualineNormal = { bg = is_transparent and "NONE" or "bg1" },
StatusLine = { bg = is_transparent and "NONE" or "bg1" },
StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" },
Pmenu = { bg = is_transparent and "NONE" or "bg1" },
PmenuSel = { link = "CursorLine" },
WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" },
LazyNormal = { bg = is_transparent and "NONE" or "bg1" },
LazyBackground = { bg = is_transparent and "NONE" or "bg1" },
NormalSB = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, -- normal text
NormalFloat = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
IblIndent = { fg = "#3E4450" },
},
github_dark_high_contrast = {
NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
},
github_dark_dimmed = {
-- As with specs and palettes, a specific style's value will be used over the `all`'s value.
},
},
}
end,
}
else
return {}
end

View file

@ -0,0 +1,34 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if (color == "gruvbox-baby") and true or false then
return {
"luisiacc/gruvbox-baby",
priority = 1000,
lazy = true,
enabled = (color == "gruvbox-baby") and true or false,
config = function()
local colors = require("gruvbox-baby.colors").config()
vim.g.gruvbox_baby_highlights = {
StatusLine = { fg = colors.fg, bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg },
BufferLineFill = { bg = colors.bg },
BufferLineFillNC = { bg = colors.bg },
BufferLineUnfocusedFill = { bg = colors.bg },
TabLine = { bg = colors.bg, fg = colors.fg },
NvimTreeNormal = { bg = colors.bg, fg = colors.fg },
NvimTreeNormalNC = { bg = colors.bg, fg = colors.fg },
NvimTreeWinSeparator = { fg = colors.fg },
Pmenu = { fg = colors.fg, bg = colors.bg },
WhichKeyFloat = { fg = colors.fg, bg = colors.bg },
WhichKeyBorder = { fg = colors.fg, bg = colors.bg },
NormalFloat = { fg = colors.fg, bg = colors.bg },
NormalNC = { fg = colors.fg, bg = colors.bg },
FloatBorder = { fg = colors.fg, bg = colors.bg },
LspInfoBorder = { fg = colors.fg, bg = colors.bg },
}
vim.g.gruvbox_baby_transparent_mode = transparent_mode
end,
}
else
return {}
end

View file

@ -0,0 +1,27 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
if (color == "darcula-dark") and true or false then
return {
"pojokcodeid/darcula-dark.nvim",
enabled = (color == "darcula-dark") and true or false,
priority = 1000,
lazy = false,
config = function()
require("darcula").setup {
colors = {
lavender = "#9876AA",
},
}
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
local colors = require("darcula").colors()
local hi = vim.api.nvim_set_hl
hi(0, "@property.json", { fg = colors.lavender })
end,
})
end,
}
else
return {}
end

View file

@ -0,0 +1,25 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
if (color == "juliana") and true or false then
return {
"pojokcodeid/nvim-juliana",
lazy = false,
enabled = (color == "juliana") and true or false,
priority = 1000,
opts = {},
config = function()
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
-- get colors
local colors = require("nvim-juliana").colors()
-- custom hilights
local hi = vim.api.nvim_set_hl
hi(0, "FoldColumn", { bg = colors.bg2 })
end,
})
end,
}
else
return {}
end

View file

@ -0,0 +1,61 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
local materialstyle = extract(color)[2] or "oceanic"
local material_style = (materialstyle == "deepocean") and "deep ocean" or materialstyle
if substring(tostring(color), "material") and true or false then
return {
"marko-cerovac/material.nvim",
priority = 1000,
enabled = substring(tostring(color), "material") and true or false,
config = function()
local colors = require "material.colors"
vim.g.material_style = material_style
require("material").setup {
lualine_style = "stealth",
disable = {
background = (transparent_mode == 1) and true or false,
},
plugins = { -- Uncomment the plugins that you use to highlight them
-- Available plugins:
"dap",
-- "dashboard",
-- "eyeliner",
"fidget",
-- "flash",
"gitsigns",
-- "harpoon",
-- "hop",
"illuminate",
"indent-blankline",
-- "lspsaga",
"mini",
-- "neogit",
-- "neotest",
-- "neo-tree",
-- "neorg",
"noice",
"nvim-cmp",
"nvim-navic",
"nvim-tree",
"nvim-web-devicons",
"rainbow-delimiters",
-- "sneak",
"telescope",
-- "trouble",
"which-key",
"nvim-notify",
},
custom_highlights = {
BufferLineFill = { bg = colors.bg },
StatusLine = { fg = "#f8f8f2", bg = colors.bg },
StatusLineTerm = { fg = "#f8f8f2", bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg },
CursorLine = { bg = "#333842" },
},
}
end,
}
else
return {}
end

View file

@ -0,0 +1,86 @@
local nightfox = false
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
switch(color, {
["nightfox"] = function()
nightfox = true
end,
["dayfox"] = function()
nightfox = true
end,
["dawnfox"] = function()
nightfox = true
end,
["duskfox"] = function()
nightfox = true
end,
["nordfox"] = function()
nightfox = true
end,
["terafox"] = function()
nightfox = true
end,
["carbonfox"] = function()
nightfox = true
end,
default = function() end,
})
if nightfox then
return {
"EdenEast/nightfox.nvim",
priority = 1000,
enabled = nightfox,
config = function()
local palette = require("nightfox.palette").load "nightfox"
-- local Color = require "nightfox.lib.color"
-- local bg = Color.from_hex(palette.bg1)
require("nightfox").setup {
options = {
terminal_colors = true,
transparent = (transparent_mode == 1) and true or false,
styles = { -- Style to be applied to different syntax groups
comments = "italic", -- Value is any valid attr-list value `:help attr-list`
conditionals = "italic",
constants = "NONE",
functions = "NONE",
keywords = "italic",
numbers = "NONE",
operators = "NONE",
strings = "NONE",
types = "NONE",
variables = "NONE",
},
},
palettes = {
all = {
bg0 = palette.bg1,
bg = palette.bg1,
},
},
specs = {},
groups = {
all = {
-- overide bufferline fill color
BufferLineFill = { bg = palette.bg1 },
BufferLineUnfocusedFill = { bg = palette.bg },
-- overide nvimtree fill color with bg color
NvimTreeNormal = { bg = palette.bg },
NvimTreeWinSeparator = {
fg = palette.bg0,
},
Underlined = { style = "NONE" }, -- overide statusline fill color with bg color
StatusLine = { bg = "NONE" },
StatusLineTerm = { bg = palette.bg },
-- overide lualine fill color with bg color
LualineNormal = { bg = palette.bg },
Pmenu = { bg = "bg3" },
PmenuSel = { bg = "bg3" },
},
},
}
end,
}
else
return {}
end

View file

@ -0,0 +1,26 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if (color == "nord") and true or false then
return {
"shaunsingh/nord.nvim",
priority = 1000,
enabled = (color == "nord") and true or false,
config = function()
vim.g.nord_disable_background = (transparent_mode == 1) and true or false
require("nord").set()
local nord = require "nord.colors"
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
vim.api.nvim_set_hl(0, "StatusLine", { bg = "NONE", fg = nord.nord4_gui })
vim.api.nvim_set_hl(0, "WinBarNC", { bg = nord.nord0_gui, fg = nord.nord4_gui })
vim.api.nvim_set_hl(0, "WhichKeyFloat", { bg = nord.nord0_gui, fg = nord.nord4_gui })
-- vim.api.nvim_set_hl(0, "StatusLine", { cterm = "bold", bold = true })
end,
})
end,
}
else
return {}
end

View file

@ -0,0 +1,127 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if substring(tostring(color), "onedark") and true or false then
return {
"olimorris/onedarkpro.nvim",
priority = 1000, -- Ensure it loads first
enabled = substring(tostring(color), "onedark") and true or false,
config = function()
local is_transparent = (transparent_mode == 1) and true or false
require("onedarkpro").setup {
styles = {
types = "NONE",
methods = "NONE",
numbers = "NONE",
strings = "NONE",
comments = "italic",
keywords = "bold,italic",
constants = "NONE",
functions = "italic",
operators = "NONE",
variables = "NONE",
parameters = "NONE",
conditionals = "italic",
virtual_text = "NONE",
tags = "italic",
},
colors = {
bg_statusline = "#282c34",
onedark = {
green = "#99c379",
gray = "#8094b4",
red = "#e06c75",
purple = "#c678dd",
yellow = "#e5c07a",
blue = "#61afef",
cyan = "#56b6c2",
indentline = "#3b4261",
float_bg = "#282c34",
},
onedark_dark = {
bg_statusline = "#000",
},
},
options = {
cursorline = true,
transparency = is_transparent,
terminal_colors = true,
},
highlights = {
-- overide cursor line fill colors
LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
CursorLine = { bg = "#333842" },
Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor
lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM|
CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
-- overide nvimtree folder icon fill color
NvimTreeFolderIcon = { fg = "${gray}" },
-- overide nvimtree text fill color folder opened
NvimTreeOpenedFolderName = { fg = "${blue}" },
-- overide nvimtree text fill color root folder
NvimTreeRootFolder = { fg = "${yellow}" },
NvimTreeSpecialFile = { fg = "${orange}" },
NvimTreeWinSeparator = { fg = "#202329" },
NvimTreeIndentMarker = { fg = "#3E4450" },
-- overide indenline fill color
IblIndent = { fg = "#3E4450" },
-- overide cmp cursorline fill color with #333842
PmenuSel = { bg = "#333842" },
illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" },
StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" },
StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" },
BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" },
["@string.special.url.html"] = { fg = "${green}" },
["@lsp.type.parameter"] = { fg = "${gray}" },
-- ["@text.uri.html"] = { fg = "${green}" },
-- ["@tag.javascript"] = { fg = "${red}" },
-- ["@tag.attribute"] = { fg = "${orange}", style = "italic" },
-- ["@constructor.javascript"] = { fg = "${red}" },
-- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names
-- ["@variable.builtin"] = { fg = "${red}", style = "NONE" },
-- ["@variable.member"] = "${cyan}",
-- ["@variable.parameter"] = "${red}",
-- ["@property"] = { fg = "${cyan}" }, -- similar to `@field`
["@property.lua"] = { fg = "${red}", bg = "NONE" },
["@lsp.type.property.lua"] = { fg = "${cyan}", bg = "NONE" },
["@lsp.type.variable.lua"] = { fg = "${red}", bg = "NONE" },
NvimTreeGitDirty = { fg = "${yellow}" },
Pmenu = { fg = "${fg}", bg = "${bg}" },
PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar.
-- overide lualine fill color with bg color
LualineNormal = { bg = "${bg}" },
-- overide lualine_c fill color with bg color
LualineC = { bg = "${bg}" },
-- overide lualine_x fill color with bg color
LualineX = { bg = "${bg}" },
-- overide which-key fill color with bg color
-- WhichKey = { bg = "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeySeperator = { bg = "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeyDesc = { fg = "${red}" },
-- -- overide which-key fill color with bg color
-- WhichKeyFloat = { bg = "${bg}" },
WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeyValue = { bg = "${bg}" },
-- -- overide which-key fill color with bg color
-- WhichKeyBorder = { bg = "${bg}" },
LspInfoBorder = { fg = "${fg}" },
NormalFloat = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
Normal = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
NormalNC = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
FloatBorder = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
},
}
end,
}
else
return {}
end

View file

@ -0,0 +1,63 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if substring(tostring(color), "solarized") and true or false then
return {
"craftzdog/solarized-osaka.nvim",
lazy = false,
priority = 1000,
enabled = substring(tostring(color), "solarized") and true or false,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
transparent = (transparent_mode == 1) and true or false, -- Enable this to disable setting the background color
terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim)
styles = {
-- Style to be applied to different syntax groups
-- Value is any valid attr-list value for `:help nvim_set_hl`
comments = { italic = true },
keywords = { italic = true },
functions = {},
variables = {},
-- Background styles. Can be "dark", "transparent" or "normal"
sidebars = (transparent_mode == 1) and "transparent" or "normal", -- style for sidebars, see below
floats = "dark", -- style for floating windows
},
sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
dim_inactive = false, -- dims inactive windows
lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
--- You can override specific color groups to use other groups or a hex color
--- function will be called with a ColorScheme table
--@param colors ColorScheme
on_colors = function(colors)
colors.bg_statusline = colors.none
end,
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
--@param highlights Highlights
--@param colors ColorScheme
on_highlights = function(highlights, colors)
highlights.NvimTreeWinSeparator = {
fg = colors.border,
}
highlights.Underlined = {
underline = false,
}
highlights.BufferLineFill = { bg = colors.bg }
highlights.StatusLine = { bg = colors.none, fg = colors.fg }
highlights.StatusLineNC = { bg = colors.none, fg = colors.fg }
highlights.NvimTreeSpecialFile = { fg = colors.purple, underline = false }
highlights["@tag.attribute"] = { fg = colors.green1, italic = true }
end,
},
config = function(_, opts)
require("solarized-osaka").setup(opts)
end,
}
else
return {}
end

View file

@ -0,0 +1,43 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if substring(tostring(color), "sonokai") and true or false then
return {
"sainnhe/sonokai",
priority = 1000,
enabled = substring(tostring(color), "sonokai") and true or false,
config = function()
vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("custom_highlights_sonokai", {}),
pattern = "sonokai",
callback = function()
local config = vim.fn["sonokai#get_configuration"]()
local palette = vim.fn["sonokai#get_palette"](config.style, config.colors_override)
local set_hl = vim.fn["sonokai#highlight"]
set_hl("StatusLine", palette.fg, palette.none)
set_hl("StatusLineTerm", palette.fg, palette.none)
set_hl("StatusLineNC", palette.fg, palette.none)
set_hl("StatusLineTermNC", palette.fg, palette.none)
set_hl("LualineNormal", palette.fg, palette.none)
set_hl("NvimTreeNormal", palette.fg, palette.bg0)
set_hl("NvimTreeCursorLine", palette.fg, palette.bg1)
set_hl("NvimTreeEndOfBuffer", palette.fg, palette.bg0)
set_hl("Pmenu", palette.fg, palette.bg0)
set_hl("WhichKeyFloat", palette.fg, palette.bg0)
set_hl("WhichKey", palette.fg, palette.bg0)
set_hl("WhichKeyBorder", palette.fg, palette.bg0)
set_hl("NormalFloat", palette.fg, palette.bg0)
set_hl("Normal", palette.fg, palette.bg0)
set_hl("NormalNC", palette.fg, palette.bg0)
set_hl("FloatBorder", palette.fg, palette.bg0)
set_hl("LspInfoNormal", palette.fg, palette.bg0)
end,
})
vim.g.sonokai_style = extract(color)[2] or "default"
vim.g.sonokai_transparent_background = (transparent_mode == 1) and 2 or 0
end,
}
else
return {}
end

View file

@ -0,0 +1,85 @@
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
local transparent_mode = vim.g.pcode_transparent_mode or 0
if substring(tostring(color), "tokyonight") and true or false then
return {
"folke/tokyonight.nvim",
priority = 1000,
enabled = substring(tostring(color), "tokyonight") and true or false,
config = function()
local status_ok, tokyonight = pcall(require, "tokyonight")
if not status_ok then
return
end
local transp = false
local sidebar = "normal" --"dark , transparent, normal"
local hilight = "#292e42"
local tras = vim.g.pcode_transparent_mode or 0
if tras == 1 then
transp = true
sidebar = "transparent"
-- hilight = "#3E4254"
-- hilight = "#353a56"
hilight = "#292e42"
end
tokyonight.setup {
-- your configuration comes here
-- or leave it empty to use the default settings
style = "night", -- The theme comes in three styles, `storm`, `moon`, a darker variant `night` and `day`
light_style = "day", -- The theme is used when the background is set to light
transparent = transp, -- Enable this to disable setting the background color
terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim
styles = {
-- Style to be applied to different syntax groups
-- Value is any valid attr-list value for `:help nvim_set_hl`
-- comments = { italic = true },
comments = { italic = true },
keywords = {},
functions = {},
variables = {},
-- Background styles. Can be "dark", "transparent" or "normal"
sidebars = sidebar, -- style for sidebars, see below
floats = sidebar, -- style for floating windows
},
sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
day_brightness = 0.2, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
dim_inactive = false, -- dims inactive windows
lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
--- You can override specific color groups to use other groups or a hex color
--- function will be called with a ColorScheme table
-- @param colors ColorScheme
on_colors = function(colors)
colors.bg_highlight = hilight
colors.bg_statusline = colors.none
end,
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
--@param highlights Highlights
-- @param colors ColorScheme
on_highlights = function(highlights, colors)
highlights.NvimTreeFolderIcon = {
bg = colors.none,
fg = "#e0af68",
}
highlights.Underlined = {
underline = false,
}
highlights.NvimTreeWinSeparator = {
fg = colors.border,
}
highlights.BufferLineFill = { bg = colors.bg }
highlights.NvimTreeSpecialFile = { fg = colors.purple, underline = false }
highlights["@tag.attribute"] = { fg = colors.green1, italic = true }
-- highlights["@keyword.function"] = { fg = colors.blue, italic = true }
-- highlights["@function"] = { fg = colors.blue, italic = true }
end,
}
end,
}
else
return {}
end