pojokcodeid.nvim-lazy/lua/plugins/themes/github.lua
2024-06-14 08:21:36 +07:00

114 lines
5.5 KiB
Lua

local color = pcode.colorscheme or "gruvbox-baby"
local transparent_mode = 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