pojokcodeid.nvim-lazy/lua/plugins/colorscheme.lua

693 lines
28 KiB
Lua
Raw Normal View History

2023-03-05 10:49:03 +07:00
local nightfox = false
2023-03-04 11:53:44 +07:00
_G.switch = function(param, case_table)
2024-05-24 19:20:23 +07:00
local case = case_table[param]
if case then
return case()
end
local def = case_table["default"]
return def and def() or nil
2023-03-04 11:53:44 +07:00
end
2024-05-24 23:43:38 +07:00
_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
2024-05-21 19:49:53 +07:00
local color = vim.g.pcode_colorscheme or "gruvbox-baby"
2024-05-25 09:28:49 +07:00
local materialstyle = extract(color)[2] or "oceanic"
local material_style = (materialstyle == "deepocean") and "deep ocean" or materialstyle
2024-05-24 23:43:38 +07:00
switch(color, {
2024-05-24 19:20:23 +07:00
["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,
2024-05-25 09:28:49 +07:00
default = function() end,
2024-05-21 14:20:50 +07:00
})
2023-03-04 11:53:44 +07:00
2024-05-25 09:28:49 +07:00
-- local transparent = false
2024-05-21 19:49:53 +07:00
local transparent_mode = vim.g.pcode_transparent_mode or 0
2024-05-25 09:28:49 +07:00
-- if transparent_mode ~= nil then
-- if transparent_mode == 1 then
-- transparent = true
-- end
-- end
2023-03-04 16:26:54 +07:00
2023-03-04 11:53:44 +07:00
return {
2024-05-24 19:20:23 +07:00
-- color scheme
{
"luisiacc/gruvbox-baby",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-24 19:20:23 +07:00
lazy = true,
2024-05-25 09:28:49 +07:00
enabled = (color == "gruvbox-baby") and true or false,
2024-05-24 19:20:23 +07:00
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 },
2024-05-25 06:14:47 +07:00
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 },
2024-05-24 19:20:23 +07:00
}
2024-05-25 09:28:49 +07:00
vim.g.gruvbox_baby_transparent_mode = transparent_mode
2024-05-24 19:20:23 +07:00
end,
},
{
"Mofiqul/dracula.nvim",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-25 09:28:49 +07:00
enabled = (color == "dracula") and true or false,
2024-05-24 19:20:23 +07:00
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 },
2024-05-26 11:29:10 +07:00
-- ["@tag.javascript"] = { fg = colors.cyan, italic = true },
-- ["@tag.attribute"] = { fg = colors.green, italic = true },
2024-05-24 19:20:23 +07:00
-- ["@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 },
2024-05-27 21:20:27 +07:00
LspReferenceText = { bg = "#3b4261" },
LspReferenceRead = { bg = "#3b4261" },
LspReferenceWrite = { bg = "#3b4261" },
2024-05-24 19:20:23 +07:00
},
2024-05-25 09:28:49 +07:00
transparent_bg = (transparent_mode == 1) and true or false,
2024-05-24 19:20:23 +07:00
}
end,
},
{
"folke/tokyonight.nvim",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-25 09:28:49 +07:00
enabled = substring(tostring(color), "tokyonight") and true or false,
2024-05-24 19:20:23 +07:00
config = function()
require "user.tokyonight"
end,
},
{
"shaunsingh/nord.nvim",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-25 09:28:49 +07:00
enabled = (color == "nord") and true or false,
2024-05-24 19:20:23 +07:00
config = function()
2024-05-25 09:28:49 +07:00
vim.g.nord_disable_background = (transparent_mode == 1) and true or false
2024-05-24 19:20:23 +07:00
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",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-25 09:28:49 +07:00
enabled = substring(tostring(color), "sonokai") and true or false,
2024-05-24 19:20:23 +07:00
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,
})
2024-05-25 09:28:49 +07:00
vim.g.sonokai_style = extract(color)[2] or "default"
vim.g.sonokai_transparent_background = (transparent_mode == 1) and 2 or 0
2024-05-24 19:20:23 +07:00
end,
},
2024-05-25 09:28:49 +07:00
{ "lunarvim/lunar.nvim", enabled = (color == "lunar") and true or false },
2024-05-24 19:20:23 +07:00
{
"marko-cerovac/material.nvim",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-25 09:28:49 +07:00
enabled = substring(tostring(color), "material") and true or false,
2024-05-24 19:20:23 +07:00
config = function()
local colors = require "material.colors"
vim.g.material_style = material_style
require("material").setup {
lualine_style = "stealth",
disable = {
2024-05-25 09:28:49 +07:00
background = (transparent_mode == 1) and true or false,
2024-05-24 19:20:23 +07:00
},
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 },
2024-05-25 09:28:49 +07:00
CursorLine = { bg = "#333842" },
2024-05-24 19:20:23 +07:00
},
}
end,
},
{
"olimorris/onedarkpro.nvim",
priority = 1000, -- Ensure it loads first
2024-05-25 09:28:49 +07:00
enabled = substring(tostring(color), "onedark") and true or false,
2024-05-24 19:20:23 +07:00
config = function()
2024-05-25 09:28:49 +07:00
local is_transparent = (transparent_mode == 1) and true or false
2024-05-24 19:20:23 +07:00
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 = {
2024-05-24 23:43:38 +07:00
bg_statusline = "#282c34",
2024-05-24 19:20:23 +07:00
onedark = {
green = "#99c379",
gray = "#8094b4",
red = "#e06c75",
purple = "#c678dd",
yellow = "#e5c07a",
blue = "#61afef",
cyan = "#56b6c2",
indentline = "#3b4261",
float_bg = "#282c34",
},
2024-05-24 23:43:38 +07:00
onedark_dark = {
bg_statusline = "#000",
},
2024-05-24 19:20:23 +07:00
},
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}" },
2024-05-24 23:43:38 +07:00
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}" },
2024-05-24 19:20:23 +07:00
},
}
end,
},
{
"catppuccin/nvim",
2024-05-25 09:28:49 +07:00
enabled = substring(tostring(color), "catppuccin") and true or false,
2024-05-24 19:20:23 +07:00
name = "catppuccin",
priority = 1000,
config = function()
2024-05-25 09:28:49 +07:00
local transparent = (transparent_mode == 1) and true or false
2024-05-24 19:20:23 +07:00
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",
2024-05-26 11:29:10 +07:00
priority = 1000,
2024-05-24 19:20:23 +07:00
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,
2024-05-25 09:28:49 +07:00
transparent = (transparent_mode == 1) and true or false,
2024-05-24 19:20:23 +07:00
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,
},
2024-05-26 11:29:10 +07:00
{
"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
2024-05-26 11:29:10 +07:00
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" },
2024-05-28 15:48:25 +07:00
["@tag.builtin.javascript"] = { fg = "#8ddb8c" },
2024-05-26 11:29:10 +07:00
-- ["@tag.tsx"] = { fg = "#8ddb8c" },
["@string.special.url"] = { fg = palette.const, style = "italic" },
["@tag.delimiter.javascript"] = { fg = "fg1" },
["@tag.tsx"] = { fg = "#faa356" },
2024-05-28 15:48:25 +07:00
["@lsp.type.parameter"] = { fg = "#91cbff" },
2024-05-26 11:29:10 +07:00
["@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,
2024-05-28 15:48:25 +07:00
config = function()
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",
callback = function()
2024-05-28 20:50:20 +07:00
local colors = require("darcula").colors()
2024-05-28 18:55:08 +07:00
local hi = vim.api.nvim_set_hl
2024-05-28 20:50:20 +07:00
hi(0, "@property.json", { fg = colors.lavender })
2024-05-28 15:48:25 +07:00
end,
})
end,
},
2023-03-04 11:53:44 +07:00
}